WilliamSmithEdward/xlide_vscode

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

See the code

See what people are saying

SourceMessageScoreDate

I Built a VSCode Extension and a VBIDE Add-in for Modern VBA (Excel/Word/PowerPoint/Access) & VB6 Development (r/SideProject)

[https://github.com/WilliamSmithEdward/xlide\_vscode](https://github.com/WilliamSmithEdward/xlide_vscode) [https://github.com/WilliamSmithEdward/xlide\_vbide](https://github.com/WilliamSmithEdward/xlide_vbide)

1

Sep 22, 2026

README

XLIDE: VBA for VS Code

release installs rating CI license Hosts

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.


Why Use XLIDE

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. 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.

  8. 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.

  9. 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.

  10. 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.

  11. 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.

  12. 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.

  13. 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.

  14. 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.


Who It Is For

XLIDE is useful if you:

  • Are learning VBA for a class, internship, first automation project, or career change.
  • Use Excel, Word, PowerPoint, or Access heavily and want to start programming without losing sight of the file.
  • Are a student, analyst, accountant, engineer, researcher, or operations user turning repeated Office work into reusable automation.
  • Own business-critical Office files with VBA.
  • Maintain a Visual Basic 6 application and want a modern editor for it.
  • Maintain shared macros for finance, operations, reporting, engineering, or internal tools.
  • Want better visibility into old VBA projects before changing them.
  • Need to review VBA code with teammates.
  • Prefer VS Code editing, search, navigation, and source control.
  • Want AI help that can inspect the file directly.

The Office application remains where the code runs. XLIDE adds a better workspace around the VBA project.


Get Started

  1. Install the extension: XLIDE on the Visual Studio Marketplace

  2. Open a folder in VS Code that contains a macro-enabled Office file - a workbook, document, presentation, or database - or a VB6 .vbp.

  3. 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


Everyday Workflow

Edit VBA modules

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.

Fix red squiggles

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

Refactor

Put the cursor on a symbol or select a block and use the lightbulb, or run a refactoring from the Command Palette.

Design a form

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.

Open a VB6 project

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

Sync code with files

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

Run tests

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

Use AI assistants safely

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


What XLIDE Adds To VS Code

  • File and module tree for Office files.
  • Writable VBA editors backed by the file.
  • VBA syntax highlighting and semantic coloring.
  • IntelliSense for project symbols, VBA language features, and the object model of the file's host: Excel, Word, PowerPoint, Access, or VB6.
  • Hover, signature help, Go to Definition, Find All References, and Rename Symbol.
  • Seven refactorings: Extract Method, Extract Variable, Inline Variable, Encapsulate Field, Implement Interface, Move to Module, and Introduce Parameter.
  • A UserForm designer with a canvas, toolbox, properties pane, tab order, and the form's markup in one editor.
  • Writable Access modules, and Access forms and reports in the same designer.
  • Visual Basic 6 projects in the tree, with their forms in the designer.
  • A Folders view driven by '@Folder annotations, and a status bar that names the current procedure.
  • Annotations that write hidden module attributes on save.
  • Conditional compilation arguments read from the project.
  • Smart Enter and block snippets for common VBA structures.
  • Format Document, Format Selection, and Format All Modules: indentation by block, keyword casing, and the spacing the VBE applies. Pasted code is formatted as it lands.
  • Live diagnostics and file-wide analysis.
  • Dead-code findings: unused variables, uncalled private procedures, and unreachable code, faded in the editor, with quick fixes.
  • Per-file analysis tracking and rule controls.
  • Previewable module import/export.
  • Compare a module, or every module in a file, with any git commit without exporting. The tree marks the modules that changed since the last commit.
  • Macro and unit-test execution on Windows, in the file's own application.
  • Saves that work while the file is open in its application: XLIDE can close it there, save, and reopen it.
  • Support bundle and diagnostics commands for troubleshooting.
  • Optional performance snapshot command for debugging slow workflows.

Outside VS Code

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

Requirements

Required for normal browsing, editing, analysis, import, and export:

  • Visual Studio Code 1.95 or newer.

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:

  • Windows.
  • The file's own Office application: Excel, Word, PowerPoint, or Access.
  • Macro security settings that allow the code to run.

Reading, editing, analyzing, importing, and exporting VBA do not require any Office application.

Setup and recovery guide: Safety, trust, and support


User Guides

NeedGuide
First setup and first workflowGetting started
Diagnostics, analysis results, and ignored findingsAnalysis and ignores
Import/export and module syncImport and export
Writing and running VBA testsTesting VBA projects
XML documentation comments for IntelliSenseVBA documentation comments
AI-agent and CI workflowsAutomation and CI
Trust model, Office setup, support bundles, and recoverySafety, trust, and support
VB6 projects, forms, and limitsVisual Basic 6
Full guide indexUser guides README

Common Commands

Open the Command Palette and type XLIDE to find these commands:

CommandUse it when you want to
XLIDE: Analyze ProjectReview a file's issues in one report.
XLIDE: Analyze Current ModuleCheck only the module you are editing.
XLIDE: Open DesignerOpen a form in the designer.
XLIDE: Extract MethodRefactor the selection. The other six refactorings sit beside it.
XLIDE: Export All Modules to FolderSave a file's code as reviewable source files.
XLIDE: Import Modules from FolderBring reviewed module files back into the file.
XLIDE: Compare Module with Git HEADSee what changed in a module since the last commit.
XLIDE: Compare File with Git HEADList the modules that changed since the last commit.
XLIDE: Restore Module from Git HEADPut one module back to its committed text.
XLIDE: Show Module HistoryList 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 ModulesDo the same for every module in a file, after a count.
XLIDE: Unit TestsRun marked tests through the file's own application.
XLIDE: Open in Office ApplicationOpen the selected file in its own application. A read-only variant sits beside it.
XLIDE: Copy DiagnosticsCopy setup and environment details for support.
XLIDE: Export Support BundleCreate a troubleshooting bundle.
XLIDE: Copy Performance SnapshotCopy recent timing data when something feels slow.

Notes And Limits

  • XLIDE reads and writes VBA modules through the Office file itself. Keep normal backups for important files, especially before large sync operations.
  • Running macros or tests uses Office automation and is Windows-only.
  • The UserForm designer keeps every property it does not name itself, so a form you have not edited saves back unchanged. Access designs work the same way.
  • After XLIDE writes to an Access database, Access recompiles it on the next open, so all the VBA in it has to compile, including code XLIDE did not touch.
  • A VB6 designer edit rewrites the header block at the top of the .frm and leaves the code below alone. Pictures and other .frx records are read, never written. XLIDE does not build or run VB6 projects.
  • Exported .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.

For Developers And Contributors

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:

CommandPurpose
npm run compileType-check and build the extension bundle.
npm run watchRebuild while developing.
npm testRun the Vitest suite.
npm run test:integrationDrive a real VS Code against a copy of the fixture workbook. The first run downloads a VS Code build into .vscode-test/.
npm run packageBuild a production bundle.
npm run vsixCreate a versioned .vsix in dist/.
npm run test:oracle:vbeOptional Excel/VBE behavior checks. Run oracle checks sequentially.
npm run test:oracle:twinbasicOptional VB6 parity checks against twinBASIC.

Architecture reference: XLIDE architecture


Support Open Source

XLIDE is open-source software. If it saves you time or helps your team keep VBA projects maintainable, support helps keep the project moving.

agentic-ai
agentic-coding
ai-tools
excel
linting
static-analysis
unit-testing
vba
vba-excel
version-control
visual-basic
vscode
vscode-extension
xlsm

Contributors

WilliamSmithEdward/xlide_vscode

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

See the code

See what people are saying

SourceMessageScoreDate

I Built a VSCode Extension and a VBIDE Add-in for Modern VBA (Excel/Word/PowerPoint/Access) & VB6 Development (r/SideProject)

[https://github.com/WilliamSmithEdward/xlide\_vscode](https://github.com/WilliamSmithEdward/xlide_vscode) [https://github.com/WilliamSmithEdward/xlide\_vbide](https://github.com/WilliamSmithEdward/xlide_vbide)

1

Sep 22, 2026

README

XLIDE: VBA for VS Code

release installs rating CI license Hosts

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.


Why Use XLIDE

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. 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.

  8. 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.

  9. 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.

  10. 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.

  11. 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.

  12. 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.

  13. 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.

  14. 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.


Who It Is For

XLIDE is useful if you:

  • Are learning VBA for a class, internship, first automation project, or career change.
  • Use Excel, Word, PowerPoint, or Access heavily and want to start programming without losing sight of the file.
  • Are a student, analyst, accountant, engineer, researcher, or operations user turning repeated Office work into reusable automation.
  • Own business-critical Office files with VBA.
  • Maintain a Visual Basic 6 application and want a modern editor for it.
  • Maintain shared macros for finance, operations, reporting, engineering, or internal tools.
  • Want better visibility into old VBA projects before changing them.
  • Need to review VBA code with teammates.
  • Prefer VS Code editing, search, navigation, and source control.
  • Want AI help that can inspect the file directly.

The Office application remains where the code runs. XLIDE adds a better workspace around the VBA project.


Get Started

  1. Install the extension: XLIDE on the Visual Studio Marketplace

  2. Open a folder in VS Code that contains a macro-enabled Office file - a workbook, document, presentation, or database - or a VB6 .vbp.

  3. 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


Everyday Workflow

Edit VBA modules

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.

Fix red squiggles

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

Refactor

Put the cursor on a symbol or select a block and use the lightbulb, or run a refactoring from the Command Palette.

Design a form

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.

Open a VB6 project

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

Sync code with files

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

Run tests

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

Use AI assistants safely

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


What XLIDE Adds To VS Code

  • File and module tree for Office files.
  • Writable VBA editors backed by the file.
  • VBA syntax highlighting and semantic coloring.
  • IntelliSense for project symbols, VBA language features, and the object model of the file's host: Excel, Word, PowerPoint, Access, or VB6.
  • Hover, signature help, Go to Definition, Find All References, and Rename Symbol.
  • Seven refactorings: Extract Method, Extract Variable, Inline Variable, Encapsulate Field, Implement Interface, Move to Module, and Introduce Parameter.
  • A UserForm designer with a canvas, toolbox, properties pane, tab order, and the form's markup in one editor.
  • Writable Access modules, and Access forms and reports in the same designer.
  • Visual Basic 6 projects in the tree, with their forms in the designer.
  • A Folders view driven by '@Folder annotations, and a status bar that names the current procedure.
  • Annotations that write hidden module attributes on save.
  • Conditional compilation arguments read from the project.
  • Smart Enter and block snippets for common VBA structures.
  • Format Document, Format Selection, and Format All Modules: indentation by block, keyword casing, and the spacing the VBE applies. Pasted code is formatted as it lands.
  • Live diagnostics and file-wide analysis.
  • Dead-code findings: unused variables, uncalled private procedures, and unreachable code, faded in the editor, with quick fixes.
  • Per-file analysis tracking and rule controls.
  • Previewable module import/export.
  • Compare a module, or every module in a file, with any git commit without exporting. The tree marks the modules that changed since the last commit.
  • Macro and unit-test execution on Windows, in the file's own application.
  • Saves that work while the file is open in its application: XLIDE can close it there, save, and reopen it.
  • Support bundle and diagnostics commands for troubleshooting.
  • Optional performance snapshot command for debugging slow workflows.

Outside VS Code

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

Requirements

Required for normal browsing, editing, analysis, import, and export:

  • Visual Studio Code 1.95 or newer.

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:

  • Windows.
  • The file's own Office application: Excel, Word, PowerPoint, or Access.
  • Macro security settings that allow the code to run.

Reading, editing, analyzing, importing, and exporting VBA do not require any Office application.

Setup and recovery guide: Safety, trust, and support


User Guides

NeedGuide
First setup and first workflowGetting started
Diagnostics, analysis results, and ignored findingsAnalysis and ignores
Import/export and module syncImport and export
Writing and running VBA testsTesting VBA projects
XML documentation comments for IntelliSenseVBA documentation comments
AI-agent and CI workflowsAutomation and CI
Trust model, Office setup, support bundles, and recoverySafety, trust, and support
VB6 projects, forms, and limitsVisual Basic 6
Full guide indexUser guides README

Common Commands

Open the Command Palette and type XLIDE to find these commands:

CommandUse it when you want to
XLIDE: Analyze ProjectReview a file's issues in one report.
XLIDE: Analyze Current ModuleCheck only the module you are editing.
XLIDE: Open DesignerOpen a form in the designer.
XLIDE: Extract MethodRefactor the selection. The other six refactorings sit beside it.
XLIDE: Export All Modules to FolderSave a file's code as reviewable source files.
XLIDE: Import Modules from FolderBring reviewed module files back into the file.
XLIDE: Compare Module with Git HEADSee what changed in a module since the last commit.
XLIDE: Compare File with Git HEADList the modules that changed since the last commit.
XLIDE: Restore Module from Git HEADPut one module back to its committed text.
XLIDE: Show Module HistoryList 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 ModulesDo the same for every module in a file, after a count.
XLIDE: Unit TestsRun marked tests through the file's own application.
XLIDE: Open in Office ApplicationOpen the selected file in its own application. A read-only variant sits beside it.
XLIDE: Copy DiagnosticsCopy setup and environment details for support.
XLIDE: Export Support BundleCreate a troubleshooting bundle.
XLIDE: Copy Performance SnapshotCopy recent timing data when something feels slow.

Notes And Limits

  • XLIDE reads and writes VBA modules through the Office file itself. Keep normal backups for important files, especially before large sync operations.
  • Running macros or tests uses Office automation and is Windows-only.
  • The UserForm designer keeps every property it does not name itself, so a form you have not edited saves back unchanged. Access designs work the same way.
  • After XLIDE writes to an Access database, Access recompiles it on the next open, so all the VBA in it has to compile, including code XLIDE did not touch.
  • A VB6 designer edit rewrites the header block at the top of the .frm and leaves the code below alone. Pictures and other .frx records are read, never written. XLIDE does not build or run VB6 projects.
  • Exported .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.

For Developers And Contributors

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:

CommandPurpose
npm run compileType-check and build the extension bundle.
npm run watchRebuild while developing.
npm testRun the Vitest suite.
npm run test:integrationDrive a real VS Code against a copy of the fixture workbook. The first run downloads a VS Code build into .vscode-test/.
npm run packageBuild a production bundle.
npm run vsixCreate a versioned .vsix in dist/.
npm run test:oracle:vbeOptional Excel/VBE behavior checks. Run oracle checks sequentially.
npm run test:oracle:twinbasicOptional VB6 parity checks against twinBASIC.

Architecture reference: XLIDE architecture


Support Open Source

XLIDE is open-source software. If it saves you time or helps your team keep VBA projects maintainable, support helps keep the project moving.

agentic-ai
agentic-coding
ai-tools
excel
linting
static-analysis
unit-testing
vba
vba-excel
version-control
visual-basic
vscode
vscode-extension
xlsm

Contributors

Languages

TypeScript

97.5%

JavaScript

1.4%