XLIDE: VBA without excel
Recorded: May 27, 2026, 1:21 p.m.
| Original | Summarized |
GitHub - WilliamSmithEdward/xlide_vscode: Excel VBA integration for VS Code - Tree View / Full Direct VBA Read+Write / LiveShare Compatible / Direct Agentic AI Integrations · GitHub Skip to content Navigation Menu Toggle navigation
Sign in
Appearance settings PlatformAI CODE CREATIONGitHub CopilotWrite better code with AIGitHub SparkBuild and deploy intelligent appsGitHub ModelsManage and compare promptsMCP RegistryNewIntegrate external toolsDEVELOPER WORKFLOWSActionsAutomate any workflowCodespacesInstant dev environmentsIssuesPlan and track workCode ReviewManage code changesAPPLICATION SECURITYGitHub Advanced SecurityFind and fix vulnerabilitiesCode securitySecure your code as you buildSecret protectionStop leaks before they startEXPLOREWhy GitHubDocumentationBlogChangelogMarketplaceView all featuresSolutionsBY COMPANY SIZEEnterprisesSmall and medium teamsStartupsNonprofitsBY USE CASEApp ModernizationDevSecOpsDevOpsCI/CDView all use casesBY INDUSTRYHealthcareFinancial servicesManufacturingGovernmentView all industriesView all solutionsResourcesEXPLORE BY TOPICAISoftware DevelopmentDevOpsSecurityView all topicsEXPLORE BY TYPECustomer storiesEvents & webinarsEbooks & reportsBusiness insightsGitHub SkillsSUPPORT & SERVICESDocumentationCustomer supportCommunity forumTrust centerPartnersView all resourcesOpen SourceCOMMUNITYGitHub SponsorsFund open source developersPROGRAMSSecurity LabMaintainer CommunityAcceleratorGitHub StarsArchive ProgramREPOSITORIESTopicsTrendingCollectionsEnterpriseENTERPRISE SOLUTIONSEnterprise platformAI-powered developer platformAVAILABLE ADD-ONSGitHub Advanced SecurityEnterprise-grade security featuresCopilot for BusinessEnterprise-grade AI featuresPremium SupportEnterprise-grade 24/7 supportPricing Search or jump to... Search code, repositories, users, issues, pull requests...
Search Clear
Search syntax tips Provide feedback Include my email address so I can be contacted Cancel Submit feedback Saved searches
Name Query To see all available qualifiers, see our documentation. Cancel Create saved search Sign in Sign up
Appearance settings Resetting focus You signed in with another tab or window. Reload to refresh your session. Dismiss alert WilliamSmithEdward xlide_vscode Public
Notifications
Fork
Star Code Issues Pull requests Actions Projects Security and quality Insights
Additional navigation options
Code Issues Pull requests Actions Projects Security and quality Insights
mainBranchesTagsGo to fileCodeOpen more actions menuFolders and filesNameNameLast commit messageLast commit dateLatest commit History35 Commits35 Commits.github.github .vscode.vscode assets/imagesassets/images distdist docsdocs language-configurationlanguage-configuration pythonpython snippetssnippets srcsrc syntaxessyntaxes teststests .gitignore.gitignore .vscodeignore.vscodeignore CHANGELOG.mdCHANGELOG.md LICENSELICENSE MARKETPLACE.mdMARKETPLACE.md README.mdREADME.md esbuild.jsesbuild.js package-lock.jsonpackage-lock.json package.jsonpackage.json tsconfig.jsontsconfig.json vitest.config.tsvitest.config.ts View all filesRepository files navigationREADMEMIT licenseXLIDE - Excel VBA for VS Code Requirements VS Code 1.95+ No COM automation, no Office installation, no win32com -- works on Windows, Development setup # TypeScript side # Python side (optional venv) Architecture Key design decisions Decision Long-lived Python process FileSystemProvider over TextDocumentContentProvider Virtual URI scheme xlide-vba:// Shared moduleDump.ts No COM / no Office Confirmation on write tools JSON-RPC methods (Python bridge) Method listModules listSubs readModule writeModule renameModule deleteModule readCells writeCells VBA language ID Build commands Command npm run compile npm run watch npm run package vsce package --no-dependencies Copilot agent tools Tool name xlide_listModules xlide_listSubs xlide_readModule xlide_writeModule xlide_readCells xlide_writeCells xlide_exportModules xlide_configureExportMode Per-workbook export config Live Share Role Host Guest Guest without XLIDE installed Related upstream issue: microsoft/live-share#4877 Further reading docs/architecture.md -- full architecture reference About Excel VBA integration for VS Code - Tree View / Full Direct VBA Read+Write / LiveShare Compatible / Direct Agentic AI Integrations github.com/WilliamSmithEdward/xlide_vscode Topics visual-basic excel vscode vba vscode-extension xlsm vba-excel ai-tools agentic-ai agentic-coding Resources Readme MIT license Uh oh! There was an error while loading. Please reload this page. Activity 2 0 0 Report repository Releases 2 Packages
Uh oh! There was an error while loading. Please reload this page. Contributors Uh oh! There was an error while loading. Please reload this page. Languages TypeScript Python JavaScript
Footer © 2026 GitHub, Inc. Footer navigation Terms Privacy Security Status Community Docs Contact Manage cookies Do not share my personal information You can’t perform that action at this time. |
The xlide_vscode repository details an integration project designed to bridge the gap between Excel VBA and the Visual Studio Code environment, focusing on enabling direct read, write, and agentic AI interactions with VBA code within the editor. The core functionality revolves around providing users with a tree view for module navigation and full bidirectional access to Excel VBA via VS Code. The project mandates specific technological requirements for operation. It necessitates VS Code version 1.95 or later, Python 3.10 or newer for the backend processing, and specific Python packages such as pyOpenVBA and openpyxl to handle the underlying VBA interaction. Crucially, the design explicitly avoids reliance on COM automation or the Microsoft Office installation, ensuring portability across operating systems including Windows, macOS, and Linux, and remote containers. The architecture is structured to separate the frontend extension logic, the communication bridge, and the core VBA interaction mechanisms. The design philosophy incorporated several key decisions, such as employing a long-lived Python process to amortize startup latency across requests, utilizing a FileSystemProvider to manage virtual read and write operations triggered by standard file saving commands, and introducing a virtual URI scheme, xlide-vba://, to abstract the workbook path and module names from the editor’s native file concepts. Shared logic is managed through a moduleDump mechanism that serves as a single source of truth for exporting both user interface commands and agent tools. The system communicates between the TypeScript extension layer and the Python backend via a JSON-RPC 2.0 server architecture, facilitating specific operations like listing modules, reading, writing, and renaming VBA modules, as well as reading and writing cell data within worksheets. This interaction is abstracted through dedicated Python modules that wrap the necessary VBA I/O functions. The system also defines a specific TextMate grammar for VBA, ensuring accurate syntax highlighting by scoping it to source.vba and covering identifiers from the MS-VBAL specification. The integration expands beyond standard editing to support direct agentic AI capabilities via GitHub Copilot. Specific tools are registered for the AI agent, such as functions to list modules, read and write specific modules, and read and write cell data. Furthermore, configuration options exist to manage export modes, defining whether to replace existing files or manage newly added ones, which is stored alongside each workbook. Regarding collaboration features, the implementation acknowledges limitations imposed by Microsoft’s Live Share platform. While the host environment retains full local editing capabilities, the extension currently cannot proxy VBA read/write calls from a guest directly. Consequently, while guests can view host-opened modules in the editor, they cannot independently navigate the XLIDE Explorer, indicating that the full, real-time shared browsing functionality is not supported by the extension due to restrictions on the shared-service RPC channel. |