Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>CDT 41 (Community Development Tools for 1C)New to Visual Studio Code? Get it now.
CDT 41 (Community Development Tools for 1C)

CDT 41 (Community Development Tools for 1C)

Max Lekot

|
2 installs
| (0) | Free
Community Development Tools for 1C: visualize and edit 1C:Enterprise configuration metadata tree (EDT & Designer XML).
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Релизы

Вся фича написана роботами. Багрепорты принимаю с благодарностью

CDT 41 (Community Development Tools for 1C)

Легковесное и быстрое расширение для Visual Studio Code для визуализации, разработки и редактирования конфигураций 1С:Предприятие (выгрузки Designer XML и EDT).

⚡ Native TypeScript & No Java: старт и отображение десятка конфигураций (включая масштабные решения уровня ERP и Управление холдингом) занимают около 20 секунд, а потребление оперативной памяти составляет менее 1 ГБ RAM (в отличие от тяжеловесной среды 1C:EDT).

Возможности

  • 📁 Дерево метаданных конфигурации 1С: иерархическое отображение 40+ типов метаданных с ленивой загрузкой и мгновенным откликом. Поддержка выгрузок Designer XML и EDT.
  • 🪄 Встроенный Конструктор запросов 1С (Query Builder): визуальный редактор запросов SDBL на 11 вкладок (Таблицы и поля, Связи, Группировка, Условия WHERE/HAVING, Дополнительно, Объединения, Порядок, Индексы, Итоги, Пакет запросов, Текст запроса SDBL). Двусторонняя синхронизация текста и UI, конструктор выражений («карандаш» ✏️) с разворачиванием ссылочных полей через точку, параметры виртуальных таблиц регистров, поддержка соединений таблицы самой на себя (self-joins) и автогенерация BSL-кода (включая режим «с обработкой результата»).
  • 🐞 Нативная отладка BSL из VS Code (RDBG): отладочный адаптер на TypeScript (без сторонних Java-процессов) — точки останова (в т.ч. условные), пошаговое выполнение, стек вызовов, вычисление выражений, поддержка тонкого клиента и веб-сервера.
  • 🔀 Интеллектуальное сравнение и объединение конфигураций (Compare & Merge): семантическое сравнение метаданных по UUID/именам и BSL-модулей по процедурам и функциям (встроенный Compare View).
  • 🎨 Визуальные редакторы (Custom Editors & Webview):
    • Редактор прав ролей: интерактивная матрица прав доступа к объектам метаданных с сохранением в XML.
    • Редактор типов: примитивные, ссылочные и составные типы, квалификаторы длины и точности.
    • Редакторы состава: подсистем (с настройкой командного интерфейса), планов обмена, общих реквизитов, функциональных опций и критериев отбора.
    • Редактор форм: визуальное отображение структуры Form.xml с выбором темы оформления.
    • Предпросмотр макетов: визуализация табличных документов (MXL).
    • Схемы XDTO-пакетов: визуальный редактор схемы, экспорт в XSD, импорт из XSD, создание пакета из XSD, сравнение и объединение пакетов.
  • 🚀 Информационные базы, Deploy и запуск 1С:
    • Привязка нескольких баз данных и массовая раскатка.
    • Инкрементальная раскатка измененных по Git файлов в базу через ibcmd.
    • Прямой запуск 1С:Предприятия (тонкий клиент) и Конфигуратора из расширения.
  • 🔍 Быстрый поиск и фильтрация:
    • Сквозной поиск по имени, синонимам, комментариям и регулярным выражениям (RegEx).
    • Фильтрация по типам метаданных и контекстная фильтрация по подсистеме (ПКМ на узле подсистемы).
    • Позиционирование активного файла в дереве (revealActiveFileInTree).
  • 🔒 Хранилище конфигурации 1С (фаза 1): подключение к хранилищу, захват/освобождение объектов, помещение изменений и обновление конфигурации с безопасным хранением паролей в SecretStorage.
  • 📦 Расширения (CFE) и внешние файлы (EPF/ERF):
    • Создание расширений, заимствование объектов и форм, структурные BSL-перехваты (&Вместо, &Перед, &После).
    • Разбор и сборка .cf, а также внешних отчетов и обработок (.epf / .erf) в XML и обратно.
  • 🤖 Agent API и MCP: более 78 runtime-команд для AI-агентов (создание и редактирование метаданных, отладка, DSL для СКД, тестирование форм через Playwright).
image image image image image

Agent API (для AI-агентов)

CDT 41 предоставляет 78 runtime-команд Agent API для программного управления метаданными, CFE-проектами, поддержкой конфигурации, EPF/ERF, отладкой, формами, СКД и XDTO-пакетами 1С. Основной способ подключения — встроенный Streamable HTTP MCP endpoint; команды также доступны через vscode.commands.executeCommand, а legacy HTTP bridge сохранён только для совместимости. AI-агент (Claude Code, Copilot, MCP-клиент) может:

  • CRUD метаданных (12 команд) — создавать объекты, добавлять реквизиты/ТЧ/колонки, читать/писать свойства, переименовывать и удалять
  • Отладка (15 команд) — запускать отладочную сессию (thinClient / webServer), ставить breakpoints, читать переменные, шагать по коду, фильтровать исключения
  • Привязки (2 команды) — resolveBinding (фикстура→база), listBindings (все привязки с базами)
  • Раскатка и выгрузка (5 команд) — deploy конфигурации, раскатка выбранных файлов / изменённых по git, выгрузка объектов из ИБ, статус конфигурации — через ibcmd; полный deploy управляемой конфигурации закрыт fail-closed, а файловый deploy явно сообщает о частичном результате
  • Поддержка конфигурации (6 команд) — читать блокировки ParentConfigurations.bin, менять режим объекта с CAS, включать объектные правила, синхронизировать и проверять связанные ИБ, читать последний target-by-target результат
  • Внешние обработки и отчёты (2 команды) — разбирать EPF/ERF в XML и собирать их из корневого XML через пакетный Конфигуратор
  • Типы (2 команды) — getType / setType для реквизитов и колонок ТЧ
  • Интерфейс команд подсистем (4 команды) — getSubsystemCommandInterface, setSubsystemCommandVisibility, setSubsystemCommandOrder, setSubsystemSubsystemsOrder
  • Предопределённые характеристики (4 команды) — listPredefinedCharacteristics, getPredefinedCharacteristicType, setPredefinedCharacteristicType, getCharacteristicValueRegisters
  • Формы enterprise (5 команд, новое) — agent.forms.{start, exec, stop, shot, status}: Playwright + ibsrv внутри расширения, без внешних скриптов
  • СКД (4 команды, новое) — agent.skd.{compile, info, edit, validate}: PowerShell-скрипты внутри расширения, JSON DSL → Template.xml, 26 операций редактирования
  • XDTO-пакеты (7 команд, новое) — agent.xdto.{listPackages, getPackage, exportXsd, importXsd, createFromXsd, compare, merge}: чтение Package.bin, экспорт/импорт XSD, создание пакетов из XSD, сравнение и объединение XDTO/XSD/XML/BIN
  • CFE-проекты (9 команд) — agent.cfe.{listProjects, getContext, validate, createProject, borrowObject, createInterceptor, createOwnForm, borrowForm, extendForm}: создание расширения, структурные BSL-перехваты, собственные и заимствованные формы Catalog/Document. Заимствованную форму можно менять только через extendForm; зависимости должны быть уже заимствованы в CFE.

Мутации Designer XML поддерживаются для форматов 2.17–2.21 (платформы 8.3.24–8.5.1): CRUD берёт точную версию из корня Configuration.xml, применяет версионные свойства и сохраняет её в новых дочерних XML. Выгрузки 2.13–2.16, XML без версии и неизвестные будущие форматы можно читать, но запись в них блокируется до изменения файлов — без автоматической подмены версии.

MCP-клиент находит endpoint через discovery-файл .vscode/cdt-agent-bridge.json: URL находится в mcp.url, Bearer token — в верхнеуровневом поле token. MCP публикует полный каталог 78/78: metadata CRUD, CFE, support, EPF/ERF, bindings/deploy, types/subsystems, debug, forms, SKD и XDTO. Каждый cdt_* tool является строгой тонкой обёрткой над одноимённой Agent-командой; legacy /command остаётся доступен без изменений. Объекты адресуются через dot-path: Catalog.Товары, Document.ПриходТовара.Attribute.Склад.

Bearer разрешает локальному MCP-клиенту весь Agent API, включая мутации и запуск процессов. cdt_forms_exec исполняет произвольный JavaScript, cdt_debug_evaluate — BSL-выражение, deploy/debug/forms/SKD/EPF/ERF взаимодействуют с внешними процессами, файлами или информационными базами. Для cdt_dump_external_processor и cdt_build_external_processor нужно явно выбрать существующую файловую ИБ либо автономный режим с подтверждением риска потери ссылочных типов; оба инструмента создают новые файлы и не перезаписывают существующие. Подключайте только доверенный локальный MCP-клиент; отмена MCP-запроса не прерывает уже запущенную Agent-команду. Полный каталог и inputs: docs/features/agent-api/agent-skill.md.

Как подключить своего агента через MCP

Расширение создаёт discovery-файл .vscode/cdt-agent-bridge.json. Возьмите из него mcp.url и верхнеуровневый token, затем настройте доверенный MCP-клиент: транспорт Streamable HTTP, URL из mcp.url, заголовок Authorization: Bearer <token>.

Схематичный пример — точный формат настройки зависит от MCP-клиента:

{
  "servers": {
    "cdt41": {
      "transport": "streamable-http",
      "url": "<значение mcp.url>",
      "headers": {
        "Authorization": "Bearer <верхнеуровневый token>"
      }
    }
  }
}

Порт и token меняются при перезапуске расширения. После перезапуска перечитайте discovery-файл и переподключите MCP-клиент с актуальными значениями. Если файла нет, расширение ещё не активировано.

Legacy endpoint /command остаётся доступен для совместимости, но MCP-клиентам рекомендуется стандартное подключение через mcp.url.

Чего пока нет (в планах развития)

  • Полноценный визуальный WYSIWYG-редактор управляемых форм с drag-and-drop элементов (сейчас доступен просмотр структуры и Form.xml, идёт работа над портированием визуального дизайнера).
  • Интерактивный редактор макетов (сейчас поддерживается просмотр MXL).

Включайся в разработку — будет!

Установка

Из VSIX с GitHub Releases

  1. Скачайте файл .vsix со страницы GitHub Releases.
  2. В VS Code: Ctrl+Shift+P → Install from VSIX… → укажите скачанный файл.
  3. Перезагрузите окно при необходимости.

Установка в Cursor и других редакторах на базе VS Code

Аналогично

Из исходников (для разработки)

  1. Клонируйте репозиторий и перейдите в каталог проекта.
  2. Установите зависимости: npm install
  3. Соберите проект: npm run compile (или .\build-all.bat для сборки VSIX).
  4. Запуск: нажмите F5 в VS Code для отладки.

Использование

Открытие панели метаданных

  1. Откройте папку с конфигурацией 1С в VS Code
  2. Панель CDT 41 появится автоматически в Explorer
  3. Или: Ctrl+Alt+1 (Windows/Linux) / Cmd+Alt+1 (macOS), либо Command Palette (Ctrl+Shift+P) → «CDT 41: Открыть дерево метаданных»

Команды (CDT 41)

Команда Описание
CDT 41: Открыть дерево метаданных Открыть панель дерева метаданных
Обновить Обновить дерево
Свойства Открыть панель свойств выбранного элемента
Открыть XML Открыть XML файл элемента
Создать элемент Создать элемент
Дублировать элемент Дублировать элемент
Удалить элемент Удалить элемент
Переименовать элемент Переименовать элемент
Копировать путь / имя Копировать путь или имя в буфер
Поиск по дереву Фокус в поле поиска по дереву
Очистить поиск и фильтры Сбросить поиск и фильтры
Фильтр по типу метаданных Фильтр по типу метаданных
Фильтр по подсистеме Фильтр по подсистеме (правый клик на подсистеме)
Сбросить фильтр подсистемы Сбросить фильтр по подсистеме
Следующий результат Следующий результат поиска
Предыдущий результат Предыдущий результат поиска
Очистить кэш дерева Очистить кэш дерева
Сравнить/объединить конфигурацию из файлов... Открыть compare-view для текущей конфигурации и выбранной файловой выгрузки: метаданные сравниваются по uuid/name, BSL-модули — по процедурам. Подробнее: docs/features/configuration-compare-merge.md
CDT 41: Конструктор запроса... Открыть визуальный конструктор запроса 1С (SDBL) для выделенного запроса или текущей строки
CDT 41: Конструктор запроса с обработкой результата... Открыть конструктор с автоматической генерацией BSL-кода обхода результата и параметров
CDT 41: Редактор прав ролей Открыть интерактивную матрицу прав ролей по метаданным
CDT 41: Редактировать состав подсистемы Открыть webview редактирования состава выбранной подсистемы
CDT 41: Редактировать командный интерфейс подсистемы Настройка видимости и порядка команд подсистемы
CDT 41: Редактировать состав плана обмена Настройка состава и авторегистрации плана обмена
CDT 41: Редактировать состав общего реквизита Настройка состава использования общего реквизита
CDT 41: Редактировать состав функциональной опции Настройка состава объектов и реквизитов функциональной опции
CDT 41: Редактировать состав критерия отбора Настройка состава критерия отбора
CDT 41: Редактировать схему XDTO-пакета Открыть визуальный редактор структуры схемы XDTO
CDT 41: Импортировать XSD как новый XDTO-пакет Создать новый XDTO-пакет из XSD-файла схемы
CDT 41: Экспорт логов Экспорт логов расширения
CDT 41: Копировать диагностику Сводка для багрепортов: версии, хост-приложение, ОС, язык UI, remote (если есть), режим расширения (production / development / test), папки workspace и найденные корни конфигурации (поиск до глубины 5), метка UTC. Словарь полей

Хранилище конфигурации 1С (фаза 1)

Для файловой ИБ доступны команды контекстного меню дерева: подключить/отключить Хранилище, захватить и освободить объект, поместить изменения, обновить объект или всю конфигурацию. Поддерживаются основная конфигурация (CF) и отдельные расширения (CFE). При подключении выбираются путь и пользователь Хранилища, пароль хранится только в VS Code SecretStorage; пароль ИБ берётся из каталога информационных баз. Выбранная файловая ИБ сохраняется в привязке и используется всеми последующими операциями; если её удалили из каталога, требуется переподключение. Привязка Хранилища сохраняется отдельно от .vscode/infobase-bindings.json.

Операции выполняются штатным пакетным Конфигуратором и сериализуются по физической файловой ИБ. Перед помещением изменённые XML доставляются в ИБ, после обновления из Хранилища затронутые файлы выгружаются обратно и дерево перезагружается. Замок на объекте означает только последнее подтверждённое состояние CDT; пакетный интерфейс 1С не предоставляет read-only запроса владельца блокировки, поэтому неизвестное состояние явно не показывается как «свободно». При отмене, тайм-ауте или потере результата состояние становится неизвестным, а операции этой ИБ требуют закрытого восстановления.

Горячие клавиши (в панели CDT 41)

  • Ctrl+Alt+1 / Cmd+Alt+1 — открыть панель метаданных
  • Ctrl+Shift+M / Cmd+Shift+M — открыть/закрыть панель
  • Ctrl+Alt+Q — открыть Конструктор запроса в редакторе BSL
  • Ctrl+F / Cmd+F — поиск в дереве
  • Delete — удалить выбранный элемент
  • F2 — переименовать элемент
  • Ctrl+D / Cmd+D — дублировать элемент
  • Ctrl+C / Cmd+C — копировать имя/путь

Навигация

  • Развернуть/свернуть узел: Клик на стрелку рядом с элементом
  • Открыть файл: Клик на элемент с файлом
  • Обновить дерево: Кнопка «Обновить» в панели или команда палитры CDT 41: Обновить

Поиск и фильтрация

  • Поиск по имени: кнопка поиска в панели или Ctrl+F; ввод подстроки фильтрует дерево, показываются совпадающие узлы и их предки.
  • По синониму и комментарию: опция в поиске (при включении поиск идёт также по синониму и комментарию).
  • Регулярные выражения: опция «использовать regex» в поиске.
  • Фильтр по типу: команда «Filter by metadata type» — выбор типов метаданных (Справочники, Документы и т.д.).
  • Фильтр по подсистеме: правый клик на узле подсистемы → «Filter by Subsystem» — показывает только объекты, принадлежащие данной подсистеме. Фильтр можно сбросить через контекстное меню или команду «Clear Subsystem Filter».
  • Навигация по результатам: Next search result / Previous search result для перехода по совпадениям.

Поведение фильтрации по подсистеме

Фильтрация по подсистеме работает следующим образом:

  1. Применение фильтра: Правый клик на узле подсистемы в дереве → «Filter by Subsystem»
  2. Видимость узлов: Показываются только узлы, принадлежащие выбранной подсистеме (включая саму подсистему и все её дочерние элементы)
  3. Иерархия: Все предки отфильтрованных узлов остаются видимыми для сохранения структуры дерева
  4. Совместимость с другими фильтрами: Фильтр по подсистеме комбинируется с фильтром по типу и поиском
  5. Сброс фильтра:
    • Через контекстное меню (правый клик → «Clear Subsystem Filter»)
    • Через команду «Clear search and filters» (сбрасывает все фильтры)
  6. Индикация: Активный фильтр отображается в заголовке дерева в формате «Подсистема: {имя}»

Примеры использования:

  • Просмотр только объектов подсистемы «Продажи»: правый клик на «Продажи» → «Filter by Subsystem»
  • Комбинированный фильтр: сначала примените фильтр по подсистеме, затем выберите типы метаданных (например, только Справочники)
  • Поиск внутри подсистемы: примените фильтр по подсистеме, затем используйте поиск (Ctrl+F)

Поддерживаемые типы метаданных

Основные объекты

  • Справочники (Catalogs)
  • Документы (Documents)
  • Перечисления (Enums)
  • Отчеты (Reports)
  • Обработки (DataProcessors)
  • Регистры (Information/Accumulation/Accounting/Calculation)
  • Бизнес-процессы (BusinessProcesses)
  • Задачи (Tasks)
  • Планы видов характеристик (ChartsOfCharacteristicTypes)
  • Планы счетов (ChartsOfAccounts)
  • Планы видов расчета (ChartsOfCalculationTypes)
  • Планы обмена (ExchangePlans)

Другие объекты

  • Константы (Constants)
  • Общие модули (CommonModules)
  • Роли (Roles)
  • Подсистемы (Subsystems)
  • Общие реквизиты (CommonAttributes)
  • Функциональные опции (FunctionalOptions)
  • Параметры функциональных опций (FunctionalOptionsParameters)
  • Критерии отбора (FilterCriteria)
  • Пакеты XDTO (XDTOPackages)
  • Web-сервисы (WebServices)
  • HTTP-сервисы (HTTPServices)
  • WS-ссылки (WSRefs)
  • Элементы стиля (StyleItems)
  • Общие картинки (CommonPictures)
  • Общие макеты (CommonTemplates)
  • Языки (Languages)
  • И многое другое...

Требования

  • VS Code версии 1.82.0 или выше (соответствует engines.vscode в пакете расширения)
  • Node.js 20.x рекомендуется для разработки и используется в CI
  • Конфигурация 1С в формате EDT или Designer

Разработка

Компиляция

npm run compile

Режим watch

npm run watch

Запуск тестов

Полный прогон (компиляция, линт, все тесты):

npm test

Быстрый прогон парсеров и части тестов (Windows):

.\test-suite.bat

Линтинг

npm run lint

Быстрая проверка перед PR (строгий линт, линт async для тестовых entrypoints, core-набор без VS Code):

npm run verify

Форматирование

npm run format

Поток данных

Workspace → FormatDetector → MetadataParser → TreeNode → TreeDataProvider → VS Code Tree View

Производительность

  • Ленивая загрузка: Дочерние элементы загружаются только при развёртывании узла
  • Кэширование: Используется Map для быстрого поиска узлов по ID
  • Асинхронность: Все операции ввода-вывода выполняются асинхронно

Благодарности

  • Благодарим портал maxlekot.ru за поддержку проекта и оплату PRO-подписок на Claude Code и Codex.
  • onec-debug-adapter — реверс-инжиниринг протокола RDBG и взаимодействия с dbgs, на основе которого реализована отладка 1С из VS Code.
  • 1c-syntax — грамматики и шаблоны для подсветки синтаксиса BSL/SDBL.
  • cc-1c-skills — навыки и спецификации для AI-агентов, работающих с платформой 1С.
  • 1c-agent-based-dev-framework — фреймворк агентной разработки для 1С, идеи по работе с формами enterprise и СКД через Playwright.

Полезные ссылки и экосистема инструментов 1С

Рекомендуемые открытые инструменты сообщества для совместной работы с CDT 41 и AI-агентами:

  • bsl-language-server — протокол языкового сервера (LSP) и мощный статический анализатор (линтер) для 1С:Предприятие: глубокая проверка модулей всей конфигурации, контроль стандартов разработки и автоматические исправления (quick-fixes).
  • rlm-tools-bsl — токен-эффективный RLM-поиск по кодовой базе BSL, построение графа вызовов и быстрая навигация по процедурам/функциям. Рекомендуется подключать параллельно с CDT 41 при анализе, отладке и модификации кода в масштабных конфигурациях.
  • 1c-mcp-toolkit — набор MCP-инструментов для сценариев, требующих прямого доступа к данным работающей информационной базы 1С (выполнение произвольных запросов, чтение Журнала регистрации, поиск ссылок на объекты с обязательной анонимизацией персональных данных).

Вклад в проект

Приветствуются pull requests! Для крупных изменений сначала откройте issue для обсуждения.

Лицензия

MIT - делайте с этим кодом все, что захотите, Open Source, but AS IS.

Поддержка

Если у вас возникли проблемы или вопросы:

  1. Проверьте Issues
  2. Создайте новый Issue с описанием проблемы
  3. Приложите логи из Output канала CDT 41
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft