Расширение для Visual Studio Code с инструментами разработки для экосистемы 1С. Предоставляет удобный интерфейс для работы с проектами 1С через панель команд и дерево задач.
Откройте панель «1C Platform Tools» в боковой панели VS Code. Все команды организованы по категориям.
В дереве доступны следующие разделы:
- Избранное — быстрый доступ к выбранным командам (отображается вверху при наличии избранных)
- Информационные базы — операции с ИБ
- Конфигурация — загрузка, выгрузка, сборка и разбор конфигурации
- Расширения — работа с расширениями конфигурации
- Внешние файлы — сборка и разбор обработок и отчётов
- Зависимости — управление зависимостями (OPM, packagedef)
- Запуск — запуск Предприятия и Конфигуратора
- Тестирование — XUnit, синтаксический контроль, Vanessa, Allure
- Установить версию — установка версии конфигурации, расширений, отчётов и обработок
- Задачи (oscript) — запуск задач из каталога
tasks(vrunner/OneScript) - Задачи (workspace) — задачи из
tasks.jsonи конфигурации изlaunch.json
Можно добавить любые команды в избранное для быстрого доступа:
- Вызовите команду «Настроить избранное» из палитры команд (
Ctrl+Shift+P→ «1C: Дерево: Настроить избранное») или через контекстное меню заголовка панели. - В открывшемся списке отметьте нужные команды (в том числе с параметрами: конкретное расширение, отчёт, обработка или задача oscript).
- Избранные команды появятся в секции «Избранное» вверху дерева и сохраняются между сессиями.
Команды также доступны через палитру команд (Ctrl+Shift+P → введите «1C»).
- Visual Studio Code версии 1.106.1 или выше
- Node.js версии 18.x или выше
- OneScript (oscript) - для выполнения скриптов
- vanessa-runner (vrunner) - для выполнения команд 1С
- OPM (OneScript Package Manager) - для управления зависимостями
- Откройте VS Code
- Перейдите в раздел Extensions (Ctrl+Shift+X)
- Найдите "1C Platform Tools"
- Нажмите "Install"
Расширение автоматически активируется при открытии проекта 1С (наличие файла packagedef в корне проекта).
Если в открытой папке ещё нет файла packagedef, панель «1C Platform Tools» не отображается, но команды доступны из палитры команд (Ctrl+Shift+P). Выполните «1C: Зависимости: Инициализировать packagedef» — будет создан файл packagedef из шаблона. После успешного создания расширение активируется полностью: панель и дерево команд появятся без перезагрузки окна. Если вызвать любую другую команду расширения без открытого проекта 1С, будет показано информационное сообщение с подсказкой использовать эту команду.
Расширение пишет логи в панель Output (Вид → Вывод), канал «1C Platform Tools». Уровень детализации задаётся в настройках:
- Настройка:
1c-platform-tools.logLevel - Значения:
error(только ошибки),warnings(ошибки и предупреждения),info(по умолчанию),debug(полный вывод для диагностики)
При сбое команды откройте Output → «1C Platform Tools», при необходимости установите уровень debug, воспроизведите проблему и приложите логи к отчёту об ошибке.
Настройки доступны через File > Preferences > Settings (или Ctrl+,) и поиск "1C Platform Tools". Параметры подключения к информационной базе настраиваются в файле env.json в корне проекта:
{
"default": {
"--ibconnection": "/F./build/ib"
}
}Расширение опирается на структуру каталогов проекта vanessa-bootstrap — шаблона правильной разработки на платформе 1С:Предприятие 8.
Рекомендуемая структура проекта:
project/
├── build/
│ ├── ib/ # Информационная база
│ └── out/ # Собранные файлы
├── src/
│ ├── cf/ # Исходники конфигурации
│ ├── cfe/ # Исходники расширений
│ ├── epf/ # Исходники внешних обработок
│ └── erf/ # Исходники внешних отчетов
├── oscript_modules/ # Зависимости (устанавливаются через OPM)
├── env.json # Настройки подключения к ИБ
└── packagedef # Файл для активации расширенияРасширение поддерживает выполнение команд vrunner через Docker-контейнеры. Это полезно для работы в окружениях без локальной установки платформы 1С (например, GitHub Codespaces).
Подготовка Docker-образа:
Docker-образы для работы с платформой 1С и vanessa-runner можно собрать из репозитория pravets/onec-images:
- Форкните репозиторий pravets/onec-images
- Следуйте инструкциям в репозитории для сборки образа
vrunner - Опубликуйте собранный образ в ваш Docker registry (Docker Hub, GitHub Container Registry и т.д.)
Настройка Docker в расширении:
- Включите Docker-режим:
1c-platform-tools.docker.enabled = true - Укажите Docker-образ:
1c-platform-tools.docker.image = "your-registry/vrunner:8.3.27.1786"
Важно:
-
Docker-образ должен содержать установленную платформу 1С:Предприятие и vanessa-runner
-
При использовании Docker параметр
--ibcmdиспользуется автоматически (так как в Docker нет GUI) -
Пути автоматически нормализуются для Docker-окружения (
/F./build/ib→/F./workspace/build/ib) -
Ограничение: В Docker можно выполнять только команды, которые поддерживают
--ibcmd:- ✅ Операции с информационными базами (init-dev, update-dev, dump, restore, dump-dt, load-dt)
- ✅ Операции с конфигурацией (load, dump, dumpcf, compile, decompile)
- ✅ Операции с расширениями (compileext, decompileext, unloadext, compileexttocfe)
- ✅ Операции с внешними файлами (compileepf, decompileepf)
- ❌ Запуск приложений (run, designer) - требуют GUI
- ❌ Тестирование (xunit, syntax-check, vanessa) - могут требовать GUI
При попытке выполнить команду, которая не поддерживает
--ibcmd, расширение покажет предупреждение.
- Все команды выполняются в терминале VS Code для видимости вывода
- Расширение автоматически ищет
vrunner.batвoscript_modules/bin/проекта - Параметр
--ibconnectionберется изenv.json(секцияdefault['--ibconnection'], по умолчанию/F./build/ib) - Все пути к файлам внутри workspace должны быть относительными
- Для использования
ibcmdтребуется установка платформы 1С:Предприятие с компонентом "Сервер 1С: Предприятия 8" (настройка1c-platform-tools.useIbcmd) - При использовании Docker (
docker.enabled = true) параметр--ibcmdиспользуется автоматически - Инициализация: без файла
packagedefпанель скрыта; команда «1C: Зависимости: Инициализировать packagedef» из палитры создаёт проект и сразу включает панель без перезагрузки - Логи: диагностика и ошибки пишутся в Output → «1C Platform Tools»; уровень задаётся настройкой
1c-platform-tools.logLevel(infoпо умолчанию,debugдля детального разбора)
Если вы хотите внести вклад в проект или разработать собственные команды, ознакомьтесь с документацией для разработчиков.
MIT License. Подробности см. в файле LICENSE.
Ivan Karlo (i.karlo@outlook.com)
При желании, отблагодарить автора можно по ссылке:

