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
-
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
Setusage, common#Ifpitfalls, and more. XLIDE reads the project's own conditional compilation arguments, so#If MY_FLAG Thenis 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 workbook VBA in a real code editor Work with workbook 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 whereFoo xpasses 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+Zundoes it and nothing is written until you save. The designer reads and writes the form's binary storage itself, so Excel does not need 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. XLIDE writes the source and marks the compiled copy stale, so Access recompiles on the next open, the same thing its
/decompileswitch does. -
Open Visual Basic 6 projects A
.vbpshows in the tree like any other project, its modules get the same language services, and its forms open in the designer from their own.frmtext. 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'@PredeclaredIdand'@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 workbook code reviewable Export modules to
.basand.clsfiles, preview exactly what will change, and use source control workflows without guessing what is inside a binary workbook. -
Import and export safely XLIDE previews create, update, overwrite, and delete actions before applying them. Workbook-specific settings live beside the workbook 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-testunit 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, 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 heavily and want to start programming without losing sight of the workbook.
- Are a student, analyst, accountant, engineer, researcher, or operations user turning repeated spreadsheet work into reusable automation.
- Own business-critical Excel workbooks 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 workbook code with teammates.
- Prefer VS Code editing, search, navigation, and source control.
- Want AI help that can inspect the workbook directly.
Excel remains where the workbook runs. XLIDE adds a better workspace around the VBA project.
Get Started
-
Install the extension: XLIDE on the Visual Studio Marketplace
-
Open a folder in VS Code that contains an
.xlsm,.xlsb, or.xlamworkbook, another macro-enabled Office file, or a VB6.vbp. -
Expand your workbook in the XLIDE view, open a module, and start editing. Press
Ctrl+Sto save code back to the workbook.
There is nothing else to install: XLIDE reads and writes workbooks 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 workbook in the XLIDE tree, choose a module, edit it in VS Code, and save. XLIDE writes the module back to the workbook.
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 workbook. XLIDE shows a workbook-scoped preview before applying
changes.
Guide: Import and export
Run tests
Mark VBA procedures as workbook tests, then run them from XLIDE. Test execution requires the file's own Office application on Windows.
Guide: Testing VBA workbooks
Use AI assistants safely
XLIDE gives compatible VS Code AI agents tools to inspect and edit workbook VBA, run analysis, export modules, and read worksheet data with explicit workbook context.
Guide: Automation and CI
What XLIDE Adds To VS Code
- Workbook and module tree for office 365 files.
- Writable VBA editors backed by the workbook.
- VBA syntax highlighting and semantic coloring.
- IntelliSense for workbook symbols, VBA language features, and Excel host objects.
- 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
'@Folderannotations, 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.
- Live diagnostics and workbook-wide analysis.
- Workbook-specific analysis tracking and rule controls.
- Previewable module import/export.
- Macro and workbook-test execution on Windows with Excel.
- Support bundle and diagnostics commands for troubleshooting.
- Optional performance snapshot command for debugging slow workflows.
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 the workbook container (OLE compound file, VBA project, and OOXML package) 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.
- Workbook macro settings that allow the code to run.
Reading, editing, analyzing, importing, and exporting workbook VBA do not require Excel automation.
Setup and recovery guide: Safety, trust, and support
User Guides
| Need | Guide |
|---|---|
| First setup and first workbook workflow | Getting started |
| Diagnostics, analysis results, and ignored findings | Analysis and ignores |
| Import/export and module sync | Import and export |
| Writing and running workbook tests | Testing VBA workbooks |
| XML documentation comments for IntelliSense | VBA documentation comments |
| AI-agent and CI workflows | Automation and CI |
| Trust model, Excel setup, support bundles, and recovery | Safety, trust, and support |
| VB6 projects, forms, and limits | Visual Basic 6 |
| Full guide index | User guides README |
Common Commands
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: Unit Tests |
Run marked tests through the file's own application. |
XLIDE: Open Workbook in Excel |
Open the selected workbook in Excel. |
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. |
Notes And Limits
- XLIDE reads and writes VBA modules through the workbook file. Keep normal backups for important workbooks, 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
.frmand leaves the code below alone. Pictures and other.frxrecords are read, never written. XLIDE does not build or run VB6 projects. - Exported
.basand.clsfiles are useful for review and source control, but the workbook 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 compilePress 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 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
Support Open Source
XLIDE is open-source software. If it saves you time or helps your team keep VBA workbooks maintainable, support helps keep the project moving.