XLIDE — это расширение для VS Code, которое позволяет редактировать VBA-код из Excel прямо в редакторе. Оно подгружает модули из .xlsm-файлов, показывает их в виде дерева в боковой панели, даёт подсветку синтаксиса, навигацию по символам (Go to Definition, Find All References, Rename Symbol) и сохраняет изменения обратно в файл по Ctrl+S. Вся логика чтения и записи VBA вынесена в долгоживущий Python-процесс, который общается с VS Code через JSON-RPC по stdin/stdout. Это избавляет от необходимости в COM-автоматизации, установленном Office или win32com — расширение работает на Windows, macOS, Linux и в удалённых контейнерах.
Для установки нужно склонировать репозиторий (git clone https://github.com/WilliamSmithEdward/xlide_vscode.git), собрать TypeScript-часть через npm install && npm run compile, настроить виртуальное окружение для Python и установить зависимости (pyOpenVBA >= 3.0.1, openpyxl >= 3.1.0). После этого можно нажать F5 в VS Code и запустить Extension Development Host.
Внутренняя архитектура построена вокруг виртуальной файловой системы xlide-vba:// — она отделяет путь к книге и имя модуля от редакторского понятия «файл». Python-процесс обрабатывает методы вроде listModules, readModule, writeModule, readCells, writeCells. Все операции с записью (например, xlide_writeModule или xlide_writeCells) требуют подтверждения — это предотвращает случайное изменение рабочих книг со стороны ИИ.
Расширение также интегрируется с GitHub Copilot через vscode.lm.registerTool() — агентские инструменты (вроде xlide_listSubs или xlide_exportModules) зарегистрированы как тулы для Language Model API. Экспорт модулей в папку настраивается через JSON-файл рядом с книгой: можно выбрать режим trueUp (синхронизировать все файлы) или replaceExistingOnly (только заменять уже существующие).
Подсветка синтаксиса VBA реализована через TextMate-грамматику, которая покрывает все зарезервированные идентификаторы из спецификации MS-VBAL v20250520.
Есть ограничение для Live Share: гости не могут использовать боковую панель XLIDE для навигации по модулям, потому что Microsoft блокирует RPC-канал vsls.shareService для сторонних расширений. Зато гости могут редактировать уже открытые хостом VBA-файлы через обычный обмен буферами Live Share. Хост видит полный функционал.