Pie for 1C
Расширение объединяет повседневную работу с проектами 1С в VS Code: команды
pie, выбор информационной базы, профили запуска, отладку по HTTP через dbgs и
просмотр результатов замера производительности.
Требования
- VS Code 1.134.0 или новее.
- Платформа 1С:Предприятие 8 для локального запуска 1С,
dbgs или ibsrv.
- Python и библиотека
pie для команд из piefile.py.
- Node.js 26 и npm 11 нужны только для сборки расширения из исходников.
Быстрый старт
- Установите расширение и откройте проект с
piefile.py или исходниками BSL.
- В панели Pie выберите базу и выполните команду Использовать текущую для работы pie.
- Запускайте
pie load, pie dump, pie build, 1С или конфигуратор из панели.
- Для отладки откройте файл BSL, поставьте точку останова и нажмите F5.
PieVscodeExt.platformPath заполнять обычно не нужно. Расширение ищет последнюю
стандартную установку платформы. Явно укажите версию, например 8.5.1.1150,
или полный путь к каталогу исполняемых файлов, только если автоматический поиск
выбрал не ту установку.
Стандартные каталоги:
| ОС |
Каталог версии |
| Windows |
%PROGRAMFILES%\\1cv8\\<версия>\\bin |
| Linux |
/opt/1cv8/x86_64/<версия> |
| macOS |
/opt/1cv8/<версия> |
Путь платформы не нужен для редактирования исходников, команд pie, которым не
требуется PIE_V83_BIN, и подключения attach к уже работающему удалённому
dbgs.
Возможности
Команды pie
- Команды
load, dump, build, up_version, up_build, build_at,
dump_at, old_dump и form_code_validate из панели Source Control.
- Автоматический поиск
pie в venv, .venv или env внутри проекта.
- Запись выбранной базы в
PIE_IB_NAME и единого пути платформы в
PIE_V83_BIN файла .env.
- Подстановка версии из
Configuration.xml в текст сообщения коммита.
Базы и профили
- Чтение
ibases.v8i и 1cestart.cfg, включая вложенные группы баз.
- Запуск 1С, конфигуратора и автономного сервера
ibsrv.
- Профили с базой, пользователем и параметрами запуска.
- Пароли профилей хранятся в VS Code SecretStorage и не записываются в
настройки рабочего пространства.
Отладка 1С
- Встроенный адаптер DAP
pie-1c для протокола HTTP e1crdbg.
- Режимы
file и ibsrv для launch, а также подключение attach.
- Точки останова для конфигураций, расширений и внешних обработок.
- Call Stack, локальные переменные, WATCH, hover, scope
Сеанс, пошаговое
выполнение, пауза и продолжение.
- Автоматическое создание конфигурации F5 для файла BSL, если
launch.json
отсутствует.
Точный формат launch.json, ограничения протокола и диагностика находятся в
docs/DEBUG.md внутри исходников и пакета VSIX.
Замер производительности
- Запуск и остановка замера во время активной сессии отладки.
- Сохранение XML или бинарного результата, полученного от
dbgs.
- Встроенная таблица для XML и текстовых файлов
.pff с фильтрами,
сортировкой и сохраняемой раскладкой колонок.
Сервис модулей
- Чтение списка модулей только по HTTPS.
- Проверка статуса HTTP, размера и MD5 перед атомарной заменой файла.
- Запрет абсолютных путей, подкаталогов и выхода из выбранного каталога.
Сценарии проекта
Файл .pie-vscode/project.json может добавлять стадии before, after,
instead и команды проекта. Скрипты обязаны находиться внутри .pie-vscode,
работают только в доверенном рабочем пространстве и запускаются после явного
подтверждения. Изменение конфигурации или содержимого скрипта аннулирует ранее
выданное разрешение.
Пример:
{
"hooks": {
"pie-vscode.load": {
"before": "hooks/before-load.js"
}
},
"commands": {
"deploy-dev": {
"title": "Deploy dev",
"script": "commands/deploy-dev.js"
}
}
}
Скрипт получает контекст JSON через стандартный ввод. Секреты и переменные
окружения с именами, похожими на секреты, в контекст не передаются.
Настройки
| Настройка |
Назначение |
PieVscodeExt.platformPath |
Необязательная версия платформы или полный путь к исполняемым файлам. |
PieVscodeExt.UrlUpdateService |
Адрес HTTPS сервиса модулей. |
PieVscodeExt.workspaceWorking |
Папка, в которой разрешена работа расширения. Пустое значение разрешает любое рабочее пространство. |
PieVscodeExt.processCount |
Число потоков для команд pie. |
PieVscodeExt.ibUser |
Пользователь базы для сценариев без профиля. |
PieVscodeExt.pathConfigXml |
Configuration.xml для подстановки версии в сообщение коммита. |
PieVscodeExt.PathConfigurationFile |
Каталог дополнительных файлов запуска 1С. |
PieVscodeExt.traceDebugProtocol |
Подробная трассировка XML e1crdbg с удалением чувствительных значений. |
PieVscodeExt.dbgsNotifyPath |
Необязательный путь для параметра dbgs --notify. |
Переход с 0.0.x
Версия 0.1.0 не поддерживает старые VS Code. Также удалены две дублирующие
настройки:
PieVscodeExt.platformForOpenPath;
PieVscodeExt.platformForDumpPath.
Если они были заданы, перенесите нужное значение в один
PieVscodeExt.platformPath. Старые ключи намеренно не используются как
скрытый резервный путь.
Диагностика
- Запуск процессов, подключение, цели и точки останова: Output > Pie 1C Debug.
- Обмен e1crdbg: включите
PieVscodeExt.traceDebugProtocol или
"traceProtocol": true в launch.json.
- Сценарии проекта: Output > Pie Project Hooks.
Сборка и проверка
npm ci
npm run verify
npm run test:extension-host
npm run package
npm run verify выполняет ESLint, сборку, модульные тесты, проверку
покрытия и поиск утечек. CI запускает эту проверку на Linux, Windows и macOS с
Node.js 26. Дымовой тест загружает VS Code 1.134.0 и проверяет активацию
расширения в настоящем Extension Host.
Готовый пакет создаётся в каталоге build.
Обратная связь
Вопросы и сообщения об ошибках можно оставить в разделе
Q&A Marketplace.