Excel VBA integration for VS Code - Tree View / Full Direct VBA Read+Write / LiveShare Compatible / Direct Agentic AI Integrations
TypeScript
65
999 commits
updated Sep 23, 2026
Install XLIDE from the Visual Studio Marketplace
See XLIDE's Sister Project Which Puts XLIDE Directly in the VBA Editor
XLIDE gives Microsoft Office VBA projects a modern VS Code workspace. Read and write directly to VBA files directly without COM.
Add macro-enabled Office files to your VS Code project and XLIDE detects them
automatically: Excel workbooks, templates, and add-ins (.xlsm, .xlsb,
.xlam, .xltm, .xls, .xlt, .xla), Word documents and templates
(.docm, .dotm, .doc, .dot), PowerPoint presentations and add-ins
(.pptm, .potm, .ppsm, .ppam, .ppt, .ppa), Access databases
(.accdb, .mdb, .mda), and Visual Basic 6 projects (.vbp, with the
.bas, .cls, .frm, .ctl, and .pag files they list). Navigate each
file's VBA project in the XLIDE tree, open modules directly from the file, edit
with host-aware IntelliSense (Excel modules complete against Excel's object
model, Word modules against Word's, and so on), and save changes back with
normal VS Code save behavior.
When you want a file-based workflow, use the full local disk push/pull
workflow for the selected file: preview detailed side-by-side diffs, export
modules to .bas and .cls files, commit them to your favorite version
control platform, and import reviewed files back.
For new programmers, XLIDE makes the VBA language easier to approach. It shows useful completion lists, explains symbols, highlights likely mistakes, and keeps each file's project structure visible while you learn how Office automation fits together.
For experienced VBA developers, XLIDE brings serious engineering workflows to
existing files: project-wide symbol navigation, rename and reference tools,
seven refactorings, a UserForm designer, full static analysis, live
diagnostics, file-level analysis reports, module-qualified IntelliSense,
import/export diff previews, source-control friendly .bas/.cls sync,
explicit per-file settings, performance diagnostics, and VBA unit tests that
execute through Excel, Word, PowerPoint, or Access when you need runtime
confidence.
For everyone, XLIDE opens a new agentic AI surface for Office VBA. Compatible AI assistants can inspect the real file, read and write VBA modules, analyze code, run tests, inspect worksheet data, and sync modules with files through explicit XLIDE tools. That means AI help can work with the document itself, not just copied snippets or stale exports, making Office automation more reviewable, testable, and collaborative.
Make VBA easier to learn and maintain VBA is powerful, but its rules, project structure, and the host object models can feel hidden. XLIDE makes them visible with project navigation, IntelliSense, hover explanations, signature help, semantic coloring, and immediate feedback while you type.
Catch VBA mistakes earlier
XLIDE shows live red and yellow squiggles for many high-confidence VBA
problems: missing block closers, duplicate names, undeclared variables,
invalid parameter/property shapes, array misuse, bad Set usage, common
#If pitfalls, and more. XLIDE reads the project's own conditional
compilation arguments, so #If MY_FLAG Then is decided the way the VBE
decides it.
Get IntelliSense that understands your file and its host Completion and tooltips know about your modules, classes, functions, constants, enums, user-defined types, XML documentation comments, and the object model of the host the file belongs to - Excel members in a workbook, Word members in a document, PowerPoint and Access members in theirs.
Edit VBA in a real code editor Work with a file's modules in VS Code using normal editor habits: tabs, search, save, rename, Go to Definition, Find All References, hover, signature help, formatting-friendly indentation, and semantic coloring.
Refactor without breaking VBA's rules
Extract Method, Extract Variable, Inline Variable, Encapsulate Field,
Implement Interface, Move to Module, Introduce Parameter, and Rename. Each
one either does the work or declines with a reason. Inline Variable, for
example, refuses a compound value, because Foo (x) passes by value where
Foo x passes by reference.
Design UserForms in VS Code
A canvas, a properties pane, and the form's markup in one editor. Drag
controls from the toolbox, resize them on the canvas, and double-click one
to open its event handler. Every gesture is a text edit, so Ctrl+Z undoes
it and nothing is written until you save. The designer reads and writes the
form's binary storage itself, so no Office application needs to be running.
Edit Access databases, forms, and reports
Access modules can be edited, added, renamed, and deleted. Forms and reports
open in the same designer as a UserForm, and in the code behind one Me is
the Access form, with its controls as members. XLIDE writes the source and
marks the compiled copy stale, so Access recompiles on the next open, the
same thing its /decompile switch does.
Open Visual Basic 6 projects
A .vbp shows in the tree like any other project, its modules get the same
language services, and its forms open in the designer from their own .frm
text. XLIDE does not build or run VB6 projects.
Keep the project organized from the code
Put '@Folder("Accounts.Ledger") in a module and the Folders view
groups the project by it, the Rubberduck convention. Annotations such as
'@PredeclaredId and '@Description("...") write the hidden module
attributes on save. The tree follows the editor, and the status bar names
the procedure your cursor is in.
Keep VBA code reviewable
Export modules to .bas and .cls files, preview exactly what will change,
and use source control workflows without guessing what is inside a binary
file.
Import and export safely XLIDE previews create, update, overwrite, and delete actions before applying them. Per-file settings live beside the file so each project can keep its own sync rules.
Analyze the whole file Run file-wide analysis over any container - workbook, document, presentation, or database - and review findings in a dedicated report instead of hunting through modules one by one.
Run macros and VBA tests when Office is available
On Windows with Microsoft Office installed, XLIDE runs macros and
@xlide-test unit tests through explicit automation of the file's own
application - Excel, Word, PowerPoint, or Access.
Give AI assistants real file context XLIDE exposes tools for file discovery, VBA reads/writes, analysis, tests, sheet/cell access, formulas, shapes on any Office surface - a worksheet, a slide, a document body, a header - and the macros they run, and module sync so agents can work from the actual Office file instead of stale exported copies.
XLIDE is useful if you:
The Office application remains where the code runs. XLIDE adds a better workspace around the VBA project.
Install the extension: XLIDE on the Visual Studio Marketplace
Open a folder in VS Code that contains a macro-enabled Office file - a
workbook, document, presentation, or database - or a VB6 .vbp.
Expand your file in the XLIDE view, open a module, and start editing.
Press Ctrl+S to save code back to the file.
There is nothing else to install: XLIDE reads and writes the files itself, with no external runtime and no setup step.
Start here for a guided first-hour walkthrough: Getting started with XLIDE
Open a file in the XLIDE tree, choose a module, edit it in VS Code, and save. XLIDE writes the module back to the file.
Live diagnostics appear as you type. For a bigger pass, run XLIDE: Analyze Project from the project menu and review the analysis report.
Guide: Analysis and ignores
Put the cursor on a symbol or select a block and use the lightbulb, or run a refactoring from the Command Palette.
Open a UserForm, an Access form or report, or a VB6 .frm from the tree and
it opens in the designer. Save writes the form back to the file.
Add a .vbp to the folder and it appears in the tree. Its modules get the
same editing, analysis, and navigation as an Office project.
Guide: Visual Basic 6
Use Export Modules to Folder to create or update .bas and .cls files.
Use Import Modules from Folder to bring reviewed files back into the
selected file. XLIDE shows a file-scoped preview before applying changes.
Guide: Import and export
Mark VBA procedures as tests, then run them from XLIDE. Test execution requires the file's own Office application on Windows.
Guide: Testing VBA projects
XLIDE gives compatible VS Code AI agents tools to inspect and edit a file's VBA, run analysis, export modules, and read and change worksheet cells and shapes with explicit file context.
Guide: Automation and CI
'@Folder annotations, and a status bar that
names the current procedure.XLIDE puts this surface in an editor. If you want an agent working the same way without one, xlide-mcp is an MCP server over the same ground: the VBA, the UserForms and the Power Query inside Excel, Word, PowerPoint and Access files, reachable by anything that speaks the Model Context Protocol. It carries the content-token guard and the analysis build gate this extension uses, so an agent editing a workbook is held to the same rules you are.
uvx --from "xlide-mcp[live]" xlide-mcp --root /path/to/your/files
Required for normal browsing, editing, analysis, import, and export:
That is the whole list. XLIDE parses and rewrites each container (OLE compound file, VBA project, OOXML package, and Access database) natively in the extension, so there is no runtime, interpreter, or library to install.
Required only for running VBA code from XLIDE:
Reading, editing, analyzing, importing, and exporting VBA do not require any Office application.
Setup and recovery guide: Safety, trust, and support
| Need | Guide |
|---|---|
| First setup and first workflow | Getting started |
| Diagnostics, analysis results, and ignored findings | Analysis and ignores |
| Import/export and module sync | Import and export |
| Writing and running VBA tests | Testing VBA projects |
| XML documentation comments for IntelliSense | VBA documentation comments |
| AI-agent and CI workflows | Automation and CI |
| Trust model, Office setup, support bundles, and recovery | Safety, trust, and support |
| VB6 projects, forms, and limits | Visual Basic 6 |
| Full guide index | User guides README |
Open the Command Palette and type XLIDE to find these commands:
| Command | Use it when you want to |
|---|---|
XLIDE: Analyze Project | Review a file's issues in one report. |
XLIDE: Analyze Current Module | Check only the module you are editing. |
XLIDE: Open Designer | Open a form in the designer. |
XLIDE: Extract Method | Refactor the selection. The other six refactorings sit beside it. |
XLIDE: Export All Modules to Folder | Save a file's code as reviewable source files. |
XLIDE: Import Modules from Folder | Bring reviewed module files back into the file. |
XLIDE: Compare Module with Git HEAD | See what changed in a module since the last commit. |
XLIDE: Compare File with Git HEAD | List the modules that changed since the last commit. |
XLIDE: Restore Module from Git HEAD | Put one module back to its committed text. |
XLIDE: Show Module History | List the commits that changed one module, and see what each did. |
Format Document (Shift+Alt+F) | Re-indent a module and fix keyword casing and spacing. |
XLIDE: Format All Modules | Do the same for every module in a file, after a count. |
XLIDE: Unit Tests | Run marked tests through the file's own application. |
XLIDE: Open in Office Application | Open the selected file in its own application. A read-only variant sits beside it. |
XLIDE: Copy Diagnostics | Copy setup and environment details for support. |
XLIDE: Export Support Bundle | Create a troubleshooting bundle. |
XLIDE: Copy Performance Snapshot | Copy recent timing data when something feels slow. |
.frm and
leaves the code below alone. Pictures and other .frx records are read,
never written. XLIDE does not build or run VB6 projects..bas and .cls files are useful for review and source control, but
the Office file remains the source of truth unless you explicitly import files
back into it.Repository: https://github.com/WilliamSmithEdward/xlide_vscode
git clone https://github.com/WilliamSmithEdward/xlide_vscode.git
cd xlide_vscode
npm install
npm run compile
Press F5 in VS Code to launch an Extension Development Host.
Useful development commands:
| Command | Purpose |
|---|---|
npm run compile | Type-check and build the extension bundle. |
npm run watch | Rebuild while developing. |
npm test | Run the Vitest suite. |
npm run test:integration | Drive a real VS Code against a copy of the fixture workbook. The first run downloads a VS Code build into .vscode-test/. |
npm run package | Build a production bundle. |
npm run vsix | Create a versioned .vsix in dist/. |
npm run test:oracle:vbe | Optional Excel/VBE behavior checks. Run oracle checks sequentially. |
npm run test:oracle:twinbasic | Optional VB6 parity checks against twinBASIC. |
Architecture reference: XLIDE architecture
XLIDE is open-source software. If it saves you time or helps your team keep VBA projects maintainable, support helps keep the project moving.
999 commits
TypeScript
97.5%
JavaScript
1.4%
Excel VBA integration for VS Code - Tree View / Full Direct VBA Read+Write / LiveShare Compatible / Direct Agentic AI Integrations
TypeScript
65
999 commits
updated Sep 23, 2026
Install XLIDE from the Visual Studio Marketplace
See XLIDE's Sister Project Which Puts XLIDE Directly in the VBA Editor
XLIDE gives Microsoft Office VBA projects a modern VS Code workspace. Read and write directly to VBA files directly without COM.
Add macro-enabled Office files to your VS Code project and XLIDE detects them
automatically: Excel workbooks, templates, and add-ins (.xlsm, .xlsb,
.xlam, .xltm, .xls, .xlt, .xla), Word documents and templates
(.docm, .dotm, .doc, .dot), PowerPoint presentations and add-ins
(.pptm, .potm, .ppsm, .ppam, .ppt, .ppa), Access databases
(.accdb, .mdb, .mda), and Visual Basic 6 projects (.vbp, with the
.bas, .cls, .frm, .ctl, and .pag files they list). Navigate each
file's VBA project in the XLIDE tree, open modules directly from the file, edit
with host-aware IntelliSense (Excel modules complete against Excel's object
model, Word modules against Word's, and so on), and save changes back with
normal VS Code save behavior.
When you want a file-based workflow, use the full local disk push/pull
workflow for the selected file: preview detailed side-by-side diffs, export
modules to .bas and .cls files, commit them to your favorite version
control platform, and import reviewed files back.
For new programmers, XLIDE makes the VBA language easier to approach. It shows useful completion lists, explains symbols, highlights likely mistakes, and keeps each file's project structure visible while you learn how Office automation fits together.
For experienced VBA developers, XLIDE brings serious engineering workflows to
existing files: project-wide symbol navigation, rename and reference tools,
seven refactorings, a UserForm designer, full static analysis, live
diagnostics, file-level analysis reports, module-qualified IntelliSense,
import/export diff previews, source-control friendly .bas/.cls sync,
explicit per-file settings, performance diagnostics, and VBA unit tests that
execute through Excel, Word, PowerPoint, or Access when you need runtime
confidence.
For everyone, XLIDE opens a new agentic AI surface for Office VBA. Compatible AI assistants can inspect the real file, read and write VBA modules, analyze code, run tests, inspect worksheet data, and sync modules with files through explicit XLIDE tools. That means AI help can work with the document itself, not just copied snippets or stale exports, making Office automation more reviewable, testable, and collaborative.
Make VBA easier to learn and maintain VBA is powerful, but its rules, project structure, and the host object models can feel hidden. XLIDE makes them visible with project navigation, IntelliSense, hover explanations, signature help, semantic coloring, and immediate feedback while you type.
Catch VBA mistakes earlier
XLIDE shows live red and yellow squiggles for many high-confidence VBA
problems: missing block closers, duplicate names, undeclared variables,
invalid parameter/property shapes, array misuse, bad Set usage, common
#If pitfalls, and more. XLIDE reads the project's own conditional
compilation arguments, so #If MY_FLAG Then is decided the way the VBE
decides it.
Get IntelliSense that understands your file and its host Completion and tooltips know about your modules, classes, functions, constants, enums, user-defined types, XML documentation comments, and the object model of the host the file belongs to - Excel members in a workbook, Word members in a document, PowerPoint and Access members in theirs.
Edit VBA in a real code editor Work with a file's modules in VS Code using normal editor habits: tabs, search, save, rename, Go to Definition, Find All References, hover, signature help, formatting-friendly indentation, and semantic coloring.
Refactor without breaking VBA's rules
Extract Method, Extract Variable, Inline Variable, Encapsulate Field,
Implement Interface, Move to Module, Introduce Parameter, and Rename. Each
one either does the work or declines with a reason. Inline Variable, for
example, refuses a compound value, because Foo (x) passes by value where
Foo x passes by reference.
Design UserForms in VS Code
A canvas, a properties pane, and the form's markup in one editor. Drag
controls from the toolbox, resize them on the canvas, and double-click one
to open its event handler. Every gesture is a text edit, so Ctrl+Z undoes
it and nothing is written until you save. The designer reads and writes the
form's binary storage itself, so no Office application needs to be running.
Edit Access databases, forms, and reports
Access modules can be edited, added, renamed, and deleted. Forms and reports
open in the same designer as a UserForm, and in the code behind one Me is
the Access form, with its controls as members. XLIDE writes the source and
marks the compiled copy stale, so Access recompiles on the next open, the
same thing its /decompile switch does.
Open Visual Basic 6 projects
A .vbp shows in the tree like any other project, its modules get the same
language services, and its forms open in the designer from their own .frm
text. XLIDE does not build or run VB6 projects.
Keep the project organized from the code
Put '@Folder("Accounts.Ledger") in a module and the Folders view
groups the project by it, the Rubberduck convention. Annotations such as
'@PredeclaredId and '@Description("...") write the hidden module
attributes on save. The tree follows the editor, and the status bar names
the procedure your cursor is in.
Keep VBA code reviewable
Export modules to .bas and .cls files, preview exactly what will change,
and use source control workflows without guessing what is inside a binary
file.
Import and export safely XLIDE previews create, update, overwrite, and delete actions before applying them. Per-file settings live beside the file so each project can keep its own sync rules.
Analyze the whole file Run file-wide analysis over any container - workbook, document, presentation, or database - and review findings in a dedicated report instead of hunting through modules one by one.
Run macros and VBA tests when Office is available
On Windows with Microsoft Office installed, XLIDE runs macros and
@xlide-test unit tests through explicit automation of the file's own
application - Excel, Word, PowerPoint, or Access.
Give AI assistants real file context XLIDE exposes tools for file discovery, VBA reads/writes, analysis, tests, sheet/cell access, formulas, shapes on any Office surface - a worksheet, a slide, a document body, a header - and the macros they run, and module sync so agents can work from the actual Office file instead of stale exported copies.
XLIDE is useful if you:
The Office application remains where the code runs. XLIDE adds a better workspace around the VBA project.
Install the extension: XLIDE on the Visual Studio Marketplace
Open a folder in VS Code that contains a macro-enabled Office file - a
workbook, document, presentation, or database - or a VB6 .vbp.
Expand your file in the XLIDE view, open a module, and start editing.
Press Ctrl+S to save code back to the file.
There is nothing else to install: XLIDE reads and writes the files itself, with no external runtime and no setup step.
Start here for a guided first-hour walkthrough: Getting started with XLIDE
Open a file in the XLIDE tree, choose a module, edit it in VS Code, and save. XLIDE writes the module back to the file.
Live diagnostics appear as you type. For a bigger pass, run XLIDE: Analyze Project from the project menu and review the analysis report.
Guide: Analysis and ignores
Put the cursor on a symbol or select a block and use the lightbulb, or run a refactoring from the Command Palette.
Open a UserForm, an Access form or report, or a VB6 .frm from the tree and
it opens in the designer. Save writes the form back to the file.
Add a .vbp to the folder and it appears in the tree. Its modules get the
same editing, analysis, and navigation as an Office project.
Guide: Visual Basic 6
Use Export Modules to Folder to create or update .bas and .cls files.
Use Import Modules from Folder to bring reviewed files back into the
selected file. XLIDE shows a file-scoped preview before applying changes.
Guide: Import and export
Mark VBA procedures as tests, then run them from XLIDE. Test execution requires the file's own Office application on Windows.
Guide: Testing VBA projects
XLIDE gives compatible VS Code AI agents tools to inspect and edit a file's VBA, run analysis, export modules, and read and change worksheet cells and shapes with explicit file context.
Guide: Automation and CI
'@Folder annotations, and a status bar that
names the current procedure.XLIDE puts this surface in an editor. If you want an agent working the same way without one, xlide-mcp is an MCP server over the same ground: the VBA, the UserForms and the Power Query inside Excel, Word, PowerPoint and Access files, reachable by anything that speaks the Model Context Protocol. It carries the content-token guard and the analysis build gate this extension uses, so an agent editing a workbook is held to the same rules you are.
uvx --from "xlide-mcp[live]" xlide-mcp --root /path/to/your/files
Required for normal browsing, editing, analysis, import, and export:
That is the whole list. XLIDE parses and rewrites each container (OLE compound file, VBA project, OOXML package, and Access database) natively in the extension, so there is no runtime, interpreter, or library to install.
Required only for running VBA code from XLIDE:
Reading, editing, analyzing, importing, and exporting VBA do not require any Office application.
Setup and recovery guide: Safety, trust, and support
| Need | Guide |
|---|---|
| First setup and first workflow | Getting started |
| Diagnostics, analysis results, and ignored findings | Analysis and ignores |
| Import/export and module sync | Import and export |
| Writing and running VBA tests | Testing VBA projects |
| XML documentation comments for IntelliSense | VBA documentation comments |
| AI-agent and CI workflows | Automation and CI |
| Trust model, Office setup, support bundles, and recovery | Safety, trust, and support |
| VB6 projects, forms, and limits | Visual Basic 6 |
| Full guide index | User guides README |
Open the Command Palette and type XLIDE to find these commands:
| Command | Use it when you want to |
|---|---|
XLIDE: Analyze Project | Review a file's issues in one report. |
XLIDE: Analyze Current Module | Check only the module you are editing. |
XLIDE: Open Designer | Open a form in the designer. |
XLIDE: Extract Method | Refactor the selection. The other six refactorings sit beside it. |
XLIDE: Export All Modules to Folder | Save a file's code as reviewable source files. |
XLIDE: Import Modules from Folder | Bring reviewed module files back into the file. |
XLIDE: Compare Module with Git HEAD | See what changed in a module since the last commit. |
XLIDE: Compare File with Git HEAD | List the modules that changed since the last commit. |
XLIDE: Restore Module from Git HEAD | Put one module back to its committed text. |
XLIDE: Show Module History | List the commits that changed one module, and see what each did. |
Format Document (Shift+Alt+F) | Re-indent a module and fix keyword casing and spacing. |
XLIDE: Format All Modules | Do the same for every module in a file, after a count. |
XLIDE: Unit Tests | Run marked tests through the file's own application. |
XLIDE: Open in Office Application | Open the selected file in its own application. A read-only variant sits beside it. |
XLIDE: Copy Diagnostics | Copy setup and environment details for support. |
XLIDE: Export Support Bundle | Create a troubleshooting bundle. |
XLIDE: Copy Performance Snapshot | Copy recent timing data when something feels slow. |
.frm and
leaves the code below alone. Pictures and other .frx records are read,
never written. XLIDE does not build or run VB6 projects..bas and .cls files are useful for review and source control, but
the Office file remains the source of truth unless you explicitly import files
back into it.Repository: https://github.com/WilliamSmithEdward/xlide_vscode
git clone https://github.com/WilliamSmithEdward/xlide_vscode.git
cd xlide_vscode
npm install
npm run compile
Press F5 in VS Code to launch an Extension Development Host.
Useful development commands:
| Command | Purpose |
|---|---|
npm run compile | Type-check and build the extension bundle. |
npm run watch | Rebuild while developing. |
npm test | Run the Vitest suite. |
npm run test:integration | Drive a real VS Code against a copy of the fixture workbook. The first run downloads a VS Code build into .vscode-test/. |
npm run package | Build a production bundle. |
npm run vsix | Create a versioned .vsix in dist/. |
npm run test:oracle:vbe | Optional Excel/VBE behavior checks. Run oracle checks sequentially. |
npm run test:oracle:twinbasic | Optional VB6 parity checks against twinBASIC. |
Architecture reference: XLIDE architecture
XLIDE is open-source software. If it saves you time or helps your team keep VBA projects maintainable, support helps keep the project moving.
999 commits
TypeScript
97.5%
JavaScript
1.4%