
1С: Инструменты
Команды выполняются задачами VS Code, а не в терминале.
Основное дерево команд в activity bar — 1С: Инструменты. Появляется после открытия проекта 1С (каталог с packagedef).

Разделы дерева
- Информационные базы — создание, обновление, загрузка/выгрузка DT, инициализация данных.
- Конфигурация — загрузка и выгрузка исходного кода, работа с
1Cv8.cf, инкрементальная загрузка/выгрузка, сборка и разбор. Загрузка из исходного кода есть в двух видах: только в основную конфигурацию и сразу с обновлением конфигурации БД; обновление БД отдельно — «Обновить конфигурацию в ИБ». - Расширения — загрузка и выгрузка исходного кода расширений, работа с
*.cfe, сборка и разбор. - Внешние файлы — сборка и разбор
epf/erf, очистка кэша. - EDT — стоит перед Поддержкой: у выгрузки конфигуратора в ней импорт в проект EDT, у проекта EDT выгрузка в XML, форматирование, сортировка и сведения. Запуск EDT стоит в группе Запуск рядом с Предприятием и Конфигуратором, проверка проекта — в группе Тестирование. Подписи команд одни для обоих форматов: «исходный код» это каталог выгрузки у конфигуратора и сам проект у EDT. У проекта EDT скрыты только загрузка по списку объектов и по приращению, они считаются по файлам выгрузки.
- Тестовое окружение — то, чем тестируют, а не поставляют: тестовые расширения из
tests/cfe(см. Тестовые расширения) и сборка/разбор unit тестов изtests/epf. - Поддержка и Поставка — команды поддержки конфигурации и подготовки файлов поставки.
- Зависимости — инициализация
packagedef, структуры проекта, Git, OneScript, OPM и зависимостей. - Служебные файлы — создание
.gitignore,.gitattributes, основного профиля запуска и файловtools/*(service-files.md). - Сеансы — запрет и разрешение начала сеансов, завершение сеансов, проверка их отсутствия, запрет и разрешение регламентных заданий (см. Сеансы информационной базы).
- Автоматизация — пайплайны и хуки команд, см. Автоматизация.
- Запуск, Тестирование, Установить версию, Конфигурации запуска, Навыки для AI, Помощь и поддержка.
Панель состоит из двух плашек: Команды (дерево команд) и Помощь и поддержка. В поддержке есть Скопировать сводку окружения: в буфер попадают ОС, редактор, версии расширения и MCP, OneScript, скачанные компоненты, платформа и состояние IPC — без паролей и токенов. Тот же пункт есть в остальных контейнерах.
Активный профиль запуска выбирается в статусной строке (слева) и подставляется во все команды vrunner.
Сеансы информационной базы
Группа Сеансы готовит базу к обновлению: закрывает вход, завершает оставшиеся сеансы и проверяет, что база свободна. Команды работают через утилиты кластера rac и ras.
| Команда | Что делает |
|---|---|
| Запретить начало сеансов | Новые сеансы не начинаются; задаются сообщение пользователю и код допуска |
| Разрешить начало сеансов | Снимает запрет |
| Запретить регламентные задания | Останавливает выполнение заданий: запрет входа сам по себе их не гасит |
| Разрешить регламентные задания | Возвращает выполнение заданий |
| Завершить сеансы | Завершает активные сеансы; по умолчанию заодно запрещает начало новых |
| Проверить отсутствие сеансов | Завершается ошибкой, если сеансы найдены |
| Показать сеансы | Список сеансов с приложением, пользователем, компьютером и временем; только 3.x |
Параметры подключения задаются в профиле запуска, а не в настройках расширения. Внутри файла блок команды приоритетнее блока default, а сама утилита rac находится по версии платформы автоматически.
Для vanessa-runner 2.x в env.json (или env.<профиль>.json):
"session": {
"--ras": "srv:1545",
"--db": "erp",
"--cluster-admin": "ClusterAdmin",
"--cluster-pwd": "пароль",
"--uccode": "код-допуска"
},
"scheduledjobs": {
"--ras": "srv:1545",
"--db": "erp"
}Для 3.x в autumn-properties.json те же параметры лежат в общей секции кластера:
{
"vrunner": {
"cluster": {
"ras": "srv:1545",
"db-name": "erp",
"cluster-admin": "ClusterAdmin",
"cluster-pwd": "пароль"
}
}
}Пароль администратора кластера и код допуска можно не хранить в файле: vanessa-runner читает их из переменных окружения RUNNER_CLUSTERADMIN_USER и RUNNER_CLUSTERADMIN_PWD (в 3.x - VRUNNER_CLUSTERADMIN_*).
Команды работают с серверной базой: у файловой кластера нет, о неприменимости сообщит сам vanessa-runner.
Возможности зависят от версии vanessa-runner: в 2.x нет списка сеансов, в 3.x нет времени начала и окончания блокировки, она применяется сразу. О недоступном действии команда сообщает до запуска. Регламентные задания работают в обеих версиях.
Отбор сеансов задаётся одинаково для обеих версий, записью 2.x: appid=Designer;1CV8|name=рег1;рег2. Значения внутри условия перечисляются через точку с запятой, условия объединяются по ИЛИ. Для 3.x расширение раскладывает эту запись на опции --filter-app и --filter-name, а режим EXCEPT превращает во флаг инверсии. Режимы DEFAULT и ALL есть только в 2.x: в 3.x аналога нет, и команда об этом скажет, а не отбросит отбор молча.
Завершение сеансов в 3.x проверяет результат: rac завершает сеансы асинхронно, поэтому vanessa-runner перечитывает список и добивает зависшие. Число попыток задаётся параметром sessionRetry (по умолчанию три), а sessionTimeout заставляет повторять до успеха или до истечения времени. Проверка отсутствия сеансов с sessionTimeout ждёт, пока фоновые задания сами доработают.
При вызове агентом можно задать параметры разового запуска, не трогая профиль: lockMessage, accessCode, lockStart, lockEnd, sessionFilter, sessionFilterMode, keepSessionsUnlocked, sessionRetry, sessionTimeout и sessionConnections.
Выбор расширений для команд
Команды группы Расширения (загрузка и выгрузка исходников и *.cfe, загрузка из objlist.txt, обновление в ИБ, сборка, разбор), а также Установить версию → Расширения работают не со всеми найденными расширениями, а с выбранным подмножеством. Это удобно, когда в проекте много расширений, а разработка идёт по нескольким: не нужно ждать, пока отработают все.
Тестовые расширения в этот выбор не входят: у них своя память выбора и своя настройка 1c-platform-tools.test.cfe.selected, работает она так же. Исключение Установить версию → Расширения: версия нужна и тем, и другим, поэтому окно показывает все расширения проекта.
Источник выбора определяется так:
- Настройка
1c-platform-tools.cfe.selected. Если вsettings.jsonзадан список расширений — команды используют его без окна выбора. Расширение называют именем его каталога, путём к каталогу от корня проекта или именем из метаданных; регистр не важен, названные, которых в проекте нет, пропускаются. - Интерактивный выбор. Если настройка пуста, при запуске команды показывается выпадающий список с чекбоксами по найденным расширениям:
- изначально отмечены все;
- снятый выбор запоминается для проекта (локально, не коммитится) и подставляется при следующем запуске любой команды расширений;
- если оставить отмеченными все — выбор сбрасывается, и новые расширения подхватываются автоматически.
Собранные *.cfe зовутся по каталогу расширения, поэтому команды над файлами (загрузка и разбор *.cfe) подчиняются тому же выбору: файл МоёРасширение.cfe и каталог МоёРасширение для выбора одно и то же расширение.
Пример .vscode/settings.json — команды будут работать только с этими двумя расширениями, без окна выбора:
{
"1c-platform-tools.cfe.selected": [
"РасширениеПоЗарплате",
"РасширениеПоБюджетированию"
]
}Пустой список ([]) или отсутствие настройки возвращает интерактивный выбор.
Запуск команд: задачи VS Code
По умолчанию команды vanessa-runner и opm (установка зависимостей, запуск oscript-задач), установка OneScript и сборка Allure-отчёта выполняются как задачи VS Code (Tasks). Это даёт:
- «Rerun Last Task». Последний запуск повторяется командой палитры Tasks: Rerun Last Task (по умолчанию без хоткея, можно назначить свой).
- Запуск из списка задач и
tasks.json. Команды видны в Tasks: Run Task, их можно вынести вtasks.json, навесить хоткей или включить в составную задачу. - Единый статус и вывод. Прогон идёт в панели задачи; вывод виден полностью, задачу можно остановить (она завершает всё дерево процессов
cmd → oscript → 1cv8). Отключить и вернуться к обычному интерактивному терминалу можно настройкой1c-platform-tools.execution.useTasks: false.
Сигнал о завершении
Когда команда закончилась, расширение подаёт короткий звук и пишет исход в строку состояния: Загрузка конфигурации: готово за 2 мин 15 с либо Синтаксический контроль: ошибка, код 1 (5 с). Успех и ошибка звучат по-разному, подробности остаются в журнале расширения. Пайплайн сообщает о себе один раз, по итогу всей цепочки («готово за 4 мин, шагов 6» или «ошибок 1 из 6»), отдельные шаги молчат.
1c-platform-tools.notifications.onCommandFinish—always(по умолчанию),onErrorилиnever.1c-platform-tools.notifications.sound— звук, по умолчанию включён.
Звук берётся из системы: на Windows - звуковая схема («Звуковое уведомление» и «Критическая ошибка»), на macOS - afplay со стандартными звуками, на Linux - paplay со звуковой темой freedesktop. Если проигрывателя или звуковой темы в системе нет, сигнал молча пропускается, строка состояния и журнал остаются.
Сигнал приходит для команд, запущенных задачами VS Code. При execution.useTasks: false расширение о завершении не знает: команда живёт в интерактивном терминале.
Свои задачи в tasks.json
Команды vrunner можно описывать вручную в .vscode/tasks.json (тип 1c-vrunner):
{
"version": "2.0.0",
"tasks": [
{
"type": "1c-vrunner",
"command": "vanessa",
"args": ["--settings", "env.json"],
"label": "1С: Прогнать Vanessa",
"group": "test"
},
{
"type": "1c-vrunner",
"command": "compile",
"args": ["--src", "src/cf"],
"label": "1С: Собрать конфигурацию"
}
]
}Запуск — Tasks: Run Task → выбрать задачу. Поле command — это команда vrunner (vanessa, compile, syntax-check, init-dev и т.д.), args — её аргументы.
Клики по путям в выводе
В выводе команд пути кликабельны: клик открывает исходник, а если рядом указан номер строки, курсор встаёт на неё.
Разбираются три записи:
- путь к файлу с номером строки или без:
Catalogs/Валюты/Ext/ObjectModule.bsl:12,./features/Валюты.feature; - сообщение OneScript вида
Модуль <путь>.os / Ошибка в строке: 188; - путь по метаданным:
HTTPСервис.Биллинг.Модуль, в конце может стоять номер строки в скобках.
Путь по метаданным ищется в текущем проекте: в конфигурации, в расширениях и в остальных найденных в нём конфигурациях. Формат исходников берётся у каждого каталога, поэтому в проекте могут лежать и выгрузка конфигуратора, и проект EDT.
Установка OneScript
Команда Установить OneScript в разделе Зависимости ставит выбранную версию через OVM: сам ovm.exe расширение загружает и обновляет как внешний компонент.
Какая установка OneScript используется
Когда установок несколько, порядок такой:
- настройка
1c-platform-tools.components.path.oscript, если задана; - установка OVM (
%LOCALAPPDATA%\ovm\current\bin); oscriptизPATH.
Установка OVM идёт раньше PATH намеренно. Windows склеивает PATH как системная часть плюс пользовательская, а OVM прописывается в пользовательскую, поэтому каталог другой установки почти всегда оказывается раньше. Каталог выбранной установки подставляется первым в PATH: и дочерним процессам расширения, и новым терминалам. Без этого обёртки opm.bat и vrunner.bat, которые запускают oscript по имени, увели бы работу в чужую установку.
После установки OneScript расширение перечитывает выбор само, перезапускать VS Code не нужно. Уже открытых терминалов правка PATH не касается: их окружение задано при запуске.
Какая установка выбрана, видно в журнале расширения (Output → 1C: Platform Tools) строками вида oscript: используется установка OVM.
Сам OVM тоже идёт за дистрибутивом в сеть, поэтому на закрытой машине OneScript ставится переносимой сборкой: OneScript без прав администратора.
Загрузка и обновление конфигурации БД
Загрузка исходников и применение их к конфигурации БД (UpdateDBCfg) — разные действия: первое меняет основную конфигурацию, второе переносит код и структуру в базу. Обновление вынесено в отдельную команду 1С: Обновить конфигурацию в ИБ, но оба vanessa-runner умеют сделать и то, и другое одним запуском конфигуратора, поэтому команды загрузки спрашивают об этом до старта.
Постоянный ответ задаётся настройкой 1c-platform-tools.cf.load.updateDb:
| Значение | Поведение |
|---|---|
ask (по умолчанию) | спрашивать при запуске команды |
always | всегда обновлять конфигурацию БД тем же запуском |
never | только загружать |
Настройка действует на загрузку из исходного кода, из 1Cv8.cf, по objlist.txt и на загрузку расширений.
Вопрос задаётся только тому, кто запускает команду руками. Агент, MCP, шаг пайплайна и хук вопроса не получают: значение ask означает для них загрузку без обновления, а нужное поведение задаётся параметром updateDb в параметрах вызова.
На vanessa-runner 2.x загрузка изменений (git diff) без обновления конфигурации БД невыразима: список изменённых файлов собирает сама команда update-dev вместе с обновлением. В этом случае исходники загружаются целиком, о чём расширение сообщает замечанием; на 3.x ограничения нет.
Избранное и палитра
- Часто используемое добавьте в избранное: 1С: Инструменты → Избранное — раздел «Избранное» появится вверху дерева. В списке кроме команд есть цепочки проекта и задачи oscript.
- Все команды доступны из палитры (
Ctrl+Shift+P→ введите «1C»).
Скрытие групп
Ненужные группы дерева Команды можно скрыть: кнопка-глаз в шапке плашки (справа от «Избранного») открывает список групп с чекбоксами — снимите отметку, чтобы скрыть. Когда что-то скрыто, значок меняется на перечёркнутый глаз.
Выбор хранится на пользователя (не в settings.json проекта). «Избранное» не затрагивается: закреплённые команды остаются видны независимо от скрытых групп.
Уведомления
Рутинные подтверждения (дерево обновлено, файл создан, свойства сохранены) показываются в строке состояния и исчезают сами; полный след остаётся в журнале расширения (Выходные данные → «1C: Platform Tools»). Всплывающие окна оставлены для ошибок, предупреждений и сообщений с кнопками.
Доверие к папке
В режиме ограниченной функциональности расширение не запускает процессы: команды 1С, установку OneScript и компонентов, Docker и автономный сервер. Панели, дерево команд и просмотр метаданных работают. После того как папке доверили, деревья перечитываются и команды выполняются обычным образом.
Настройки, которые ведут к исполняемым файлам (vrunner.path, components.path.oscript, пути платформы, docker.image и подобные), в недоверенной папке берутся не из проекта, а из пользовательских: иначе открытая папка могла бы подменить запускаемую программу.
Раскладка проекта
Каталоги исходного кода настраивать не нужно: расширение находит конфигурацию, её расширения, внешние обработки и отчёты само, в любом месте проекта и в обоих форматах. Раскладка может быть любой, в том числе с расширением в отдельном репозитории внутри каталога расширений.
Тестовое от поставляемого отличается местом: всё, что лежит под каталогом тестов, считается тестовым и идёт своими командами. Имя каталога задаёт настройка 1c-platform-tools.test.directoryName, по умолчанию tests.
В поиск не попадают каталог результатов сборки и то, что перечислено в artifacts.exclude. Пока исходного кода в проекте нет, команды загрузки и сборки отвечают сообщением, а команды, которые исходный код создают, предлагают привычные места.
Проекты в рабочей области
Проект 1С это каталог с файлом packagedef: папка рабочей области или каталог внутри неё. В одном окне проектов бывает несколько, и у каждого свои профили запуска, база, .1cpt, oscript_modules и каталог сборки.
В проекте одна конфигурация. Всё остальное в его каталоге относится к ней: расширения, тестовые расширения, внешние обработки и отчёты, тестовые обработки. Каталог со своим packagedef и своей конфигурацией внутри проекта это подпроект: в виде Рабочая область он стоит под родителем, а его расширения, кроме тестовых, есть и у родителя. Каталог с packagedef без своей конфигурации, например репозиторий расширения, внешней обработки или пакет OneScript, остаётся частью проекта. Пока окно открыто, это решение меняется, только когда в каталоге появляется или удаляется packagedef: выгрузка, которая на время очистила каталог, его не меняет.
Вторую конфигурацию без своего packagedef проект не берёт: она помечена предупреждением, и Сделать отдельным проектом кладёт ей packagedef рядом с src выгрузки конфигуратора или в каталог проекта EDT. Папки с исходным кодом, но без packagedef, собраны в группу Не проекты, проектом их делает Инициализировать проект.
Текущий проект
Команды, дерево метаданных, тесты и профиль запуска работают с текущим проектом. Его выбирают в виде 1С: Проекты › Рабочая область, в списке из строки состояния, кнопкой Выбрать проект в заголовке деревьев команд и метаданных или командой 1С: Проект: Выбрать проект. Открытый редактор проект не переключает: команда над файлом или узлом дерева выполняется в его проекте, а текущий остаётся прежним.
Выбор запоминается для окна и в репозиторий не попадает. Пока в окне ничего не выбрано, текущим считается проект из настройки 1c-platform-tools.project.default (абсолютный путь, путь от первой папки рабочей области или имя папки), а без неё первый проект по порядку папок.
Смена проекта перестраивает дерево команд, дерево метаданных и тесты, переключает профиль запуска и базу без перезагрузки окна. Артефакты и список дел показывают все проекты сразу, текущий первым.
Настройки путей, тестов, сервера и выбора расширений берутся из настроек папки рабочей области, в которой лежит проект, поэтому у подпроекта они общие с родителем.
Агент через MCP получает список проектов, переключает текущий и делает проектом каталог без packagedef. Команда, вызванная с projectPath, выполняется в указанном проекте и выбор пользователя не меняет.
Настройки
1c-platform-tools.path.out,1c-platform-tools.path.dist— каталоги результатов сборки и шаблонов поставки. Каталоги исходного кода не настраиваются: расширение находит их само, см. Раскладка проекта.1c-platform-tools.project.default— проект, текущий по умолчанию, см. Текущий проект.1c-platform-tools.cfe.selected— список расширений (имя каталога, путь от корня проекта или имя расширения, регистр не важен), с которыми работают команды группы «Расширения» и установка версии расширений. Пусто — интерактивный выбор с запоминанием, см. Выбор расширений для команд.1c-platform-tools.test.cfe.selected— то же для тестовых расширений.1c-platform-tools.test.directoryName— имя каталога тестов, по умолчаниюtests: всё под ним считается тестовым.1c-platform-tools.vrunner.*— путь и параметры vanessa-runner; по умолчанию используетсяoscript_modules/bin/vrunner.batпроекта, если он есть.1c-platform-tools.execution.useTasks— запускать команды как задачи VS Code (Rerun Last Task, запуск из списка задач); по умолчаниюtrue.false— обычный интерактивный терминал.1c-platform-tools.notifications.onCommandFinish,1c-platform-tools.notifications.sound— сигнал по завершении команды, см. Сигнал о завершении.1c-platform-tools.docker.*— выполнение команд в контейнере с платформой, см. Docker и ibcmd.1c-platform-tools.components.*— пути к внешним компонентам и их автозагрузка, включая выборoscript.exe; см. Внешние компоненты.- Выполнение в Docker — docker.md.