
Расширение для Visual Studio Code с инструментами разработки для экосистемы 1С. Предоставляет удобный интерфейс для работы с проектами 1С через панель команд и дерево задач.
Возможности
Откройте панель «1C: Platform Tools» в боковой панели VS Code. Все команды организованы по категориям.

В дереве доступны следующие разделы:
- Избранное — быстрый доступ к выбранным командам (отображается вверху при наличии избранных)
- Информационные базы — операции с ИБ
- Конфигурация — загрузка, выгрузка, сборка и разбор конфигурации
- Расширения — работа с расширениями конфигурации
- Внешние файлы — сборка и разбор обработок и отчётов
- Зависимости — инициализация проекта (packagedef, структура), настройка Git, установка OneScript/OPM, установка и удаление зависимостей
- Запуск — запуск Предприятия и Конфигуратора
- Тестирование — XUnit, синтаксический контроль, Vanessa, Allure
- Установить версию — установка версии конфигурации, расширений, отчётов и обработок
- Задачи (oscript) — запуск задач из каталога
tasks (OneScript)
- Задачи (workspace) — задачи из
tasks.json и конфигурации из launch.json
- Навыки для AI — установка навыка (SKILL.md) для агентов Cursor, Copilot, Claude: агент получает инструкции, какие команды расширения вызывать
Избранное
Можно добавить любые команды в избранное для быстрого доступа:
- Вызовите команду «Настроить избранное» из палитры команд (
Ctrl+Shift+P → «1C: Дерево: Настроить избранное») или через контекстное меню заголовка панели.
- В открывшемся списке отметьте нужные команды (в том числе с параметрами: конкретное расширение, отчёт, обработка или задача oscript).
- Избранные команды появятся в секции «Избранное» вверху дерева и сохраняются между сессиями.
Команды также доступны через палитру команд (Ctrl+Shift+P → введите «1C»).
Список дел (TODO)
В нижней панели VS Code доступна вкладка «Список дел»: поиск в коде комментариев-меток (TODO, FIXME, XXX, HACK, BUG) и отображение в виде дерева.
- Открытие: кнопка «Список дел (TODO)» в заголовке панели «1C: Platform Tools» или команда из палитры.
- Группировка: по файлам или плоский список (кнопка «Группировать по иерархии (файлам)»).
- Фильтры:
- по тегу — один или несколько тегов (кнопка «Фильтр по тегу»);
- по области — весь проект, текущий открытый файл или по типу файла (Markdown, BSL, OScript, Feature);
- кнопка «Сбросить фильтры» снимает оба фильтра.
- Клик по элементу открывает файл на указанной строке.
Файлы по умолчанию: *.bsl, *.os, *.md, *.feature.
Панель «Артефакты 1С»
Специальная вкладка в боковой панели проводника. В этой панели отображается дерево всех артефактов вашего проекта: файлов конфигурации, расширений, обработок, отчётов и feature-файлов.
Возможности этой панели:
- Для каждого артефакта доступны действия: открыть файл, собрать (скомпилировать), разобрать (деконпилировать), для feature-файлов — запустить автотесты через Vanessa-Automation.
- Если вы откроете один из поддерживаемых файлов (.cf, .cfe, .epf, .erf, .feature) в редакторе, то прямо из панели редактора можно вызвать контекстные команды (панель действий сверху).
Таким образом, эта панель служит главным навигатором по всем важным элементам текущего 1С-проекта, упрощая доступ к основным операциям с ними.
Панель «Проекты 1С»
На боковой панели (Activity Bar) доступна панель «Проекты 1С» для быстрого переключения между проектами.
- Избранное — сохранённые проекты с тегами (Личное, Работа и др.), группировка по тегам или плоский список
- Все проекты — автообнаружение проектов 1С по каталогам (ищет
packagedef в указанных папках)
- Статусная строка — отображает текущий проект; клик открывает QuickPick выбора
- QuickPick — команда «Открыть список проектов 1С» (
Ctrl+Alt+P / Cmd+Alt+P) для быстрого выбора из палитры
Отладка 1С (DAP)
Встроена поддержка отладки 1С:Предприятие через onec-debug-adapter (DAP для HTTP-сервера отладки 1С).
- Требования: установленный .NET 8.
- Адрес информационной базы для отладки берётся из env.json в корне проекта: укажите в
default["--ibconnection"] строку подключения в формате /F (файловая ИБ) или /S (серверная ИБ), например /F./build/ib или /Sсервер\база.
- В панели Run and Debug выберите конфигурацию типа 1Cpt:Enterprise (launch). При создании конфигурации поля
rootProject и extensions автоматически заполняются на основе настроек 1c-platform-tools.paths.cf и 1c-platform-tools.paths.cfe; при необходимости отредактируйте platformPath, autoAttachTypes и другие параметры.
- В панели отладки доступен список целей Debug targets с возможностью ручного подключения (Connect).
Требования
- Visual Studio Code версии 1.103.0 или выше
Установка
- Откройте VS Code
- Перейдите в раздел Extensions (Ctrl+Shift+X)
- Найдите "1C: Platform Tools"
- Нажмите "Install"
Настройка
Расширение автоматически активируется при открытии проекта 1С (наличие файла packagedef в корне проекта).
Настройки панели «Проекты 1С»
Настройки поиска и отображения проектов находятся в 1c-platform-tools.projects:
| Настройка |
Описание |
| baseFolders |
Папки для поиска проектов (каталоги с packagedef). Абсолютные пути или с ~/$home |
| ignorePatterns |
Каталоги для исключения при сканировании (по умолчанию: .git, out, oscript_modules, build, src) |
| maxDepthRecursion |
Глубина вложенности при сканировании (0 — без ограничения) |
| cacheBetweenSessions |
Кэшировать список проектов; полное сканирование — по кнопке «Обновить» |
| projectsLocation |
Папка для projects.json (для синхронизации между устройствами); поддерживает ~ и $home |
| tags |
Список тегов для организации избранного (по умолчанию: Личное, Работа) |
| sortList |
Сортировка: Name или Path |
| showProjectNameInStatusBar |
Показывать текущий проект в статусной строке |
Пример настройки каталогов поиска:
{
"1c-platform-tools.projects.baseFolders": [
"~/projects",
"D:/work/1c"
]
}
Инициализация проекта
Если в открытой папке ещё нет файла packagedef, панель «1C: Platform Tools» не отображается, но команды доступны из палитры команд (Ctrl+Shift+P). Выполните «1C: Зависимости: Инициализировать проект» — будет создан файл packagedef из шаблона. После успешного создания расширение активируется полностью: панель и дерево команд не появятся без перезагрузки окна. Если вызвать любую другую команду расширения без открытого проекта 1С, будет показано информационное сообщение с подсказкой использовать эту команду.
В разделе «Зависимости» также доступны:
- Инициализировать структуру проекта — создание каталогов по шаблону vanessa-bootstrap
- Настроить Git — имя и email, область (проект/глобально), алиасы и параметры; опционально — настройки с правами администратора (core.longpaths, LC_ALL)
- Установить OneScript — установка OneScript через OVM (версия из packagedef или stable)
- Установить пакетный менеджер OneScript — установка менеджера пакетов
- Установить зависимости / Удалить зависимости — работа с
packagedef и каталогом oscript_modules
Логирование
Расширение пишет логи в панель 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 # Файл для активации расширения
Работа с Docker
Расширение поддерживает выполнение команд 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:
- [x] Операции с информационными базами (init-dev, update-dev, dump, restore, dump-dt, load-dt)
- [x] Операции с конфигурацией (load, dump, dumpcf, compile, decompile)
- [x] Операции с расширениями (compileext, decompileext, unloadext, compileexttocfe)
- [x] Операции с внешними файлами (compileepf, decompileepf)
- [ ] Запуск приложений (run, designer) - требуют GUI
- [ ] Тестирование (xunit, syntax-check, vanessa) - могут требовать GUI
При попытке выполнить команду, которая не поддерживает --ibcmd, расширение покажет предупреждение.
Интеграция с AI и MCP
Расширение поддерживает работу с AI-агентами (Cursor, Claude, Copilot) тремя способами: навыки, файл-триггер и MCP.
Быстрый старт MCP (3 шага):
- Включите IPC: настройка
1c-platform-tools.ipc.enabled = true
- Установите расширение 1C: Platform Tools MCP (из Marketplace или вручную)
- Откройте проект 1С — MCP-инструменты доступны агенту
Навык для агента (SKILL.md)
В группе «Навыки для AI» две команды: «Добавить навыки разработки 1С (cc-1c-skills)» (скачивает с GitHub и копирует в выбранную папку — в репо расширения не хранятся) и «Добавить навыки расширения (команды и MCP)» (копирует инструкции по командам расширения и MCP из расширения). Выберите папку установки (для Cursor — .cursor/skills/, для Copilot — .github/copilot/skills/, для Claude — .claude/skills/). Агент узнаёт, какие команды вызывать, и предлагает выполнить их из палитры или панели «Инструменты 1С».
Запуск команды по файлу-триггеру
Если агент умеет создавать файлы в проекте, он может запустить команду расширения, записав в файл .cursor/1c-platform-tools-run-command одну строку — идентификатор команды (например 1c-platform-tools.run.designer). Расширение следит за этим файлом и выполняет команду, после чего удаляет файл. Список идентификаторов команд приведён в установленном навыке (SKILL.md).
Для вызова команд расширения через Model Context Protocol используйте отдельный MCP-сервер mcp-1c-platform-tools. Он предоставляет инструменты для конфигурации, расширений, внешних обработок и отчётов и вызывает команды расширения по IPC.
Требования: расширение 1C: Platform Tools установлено, открыт проект 1С, включена настройка 1c-platform-tools.ipc.enabled (в разделе «Инструменты»). При необходимости укажите порт и токен: ipc.port, ipc.token — те же значения задайте в конфиге MCP (переменные ONEC_IPC_PORT, ONEC_IPC_TOKEN). Подробности настройки — в README mcp-1c-platform-tools.
Важные нюансы
- Панель «Проекты 1С»: настройте
baseFolders для автообнаружения проектов; без указания папок вкладка «Все проекты» будет пустой
- Все команды выполняются в терминале 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: Зависимости: Инициализировать проект» из палитры создаёт проект и сразу включает панель без перезагрузки
Для разработчиков
Если вы хотите внести вклад в проект или разработать собственные команды, ознакомьтесь с документацией для разработчиков.
Лицензия
MIT License. Подробности см. в файле LICENSE.
Автор
Ivan Karlo (i.karlo@outlook.com)
При желании, отблагодарить автора можно по ссылке: