SkillAgentSearch skills...

VScodePluginFor1CDev

Плагин для просмотра (и редактирования) дерева метаданных 1С в VS Code (CDT 41)

Install / Use

/learn @lekot/VScodePluginFor1CDev
About this skill

Quality Score

0/100

Supported Platforms

GitHub Copilot

README

Релизы

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

CDT 41 (Community Development Tools for 1C)

VS Code расширение для визуализации и редактирования дерева метаданных конфигураций 1С:Предприятие.

Возможности

  • 📁 Отображение иерархии метаданных конфигурации 1С
  • 🎨 Иконки для всех типов метаданных (40+ типов) (я не считал)
  • 🔍 Быстрая навигация по элементам конфигурации
  • 📝 Отображение синонимов и свойств элементов
  • 🔄 Автоматическая загрузка при открытии workspace
  • ⚡ Ленивая загрузка для производительности
  • 🎯 Поддержка EDT (я не проверял) и Designer (+) форматов

А также: Отладка из VSCode, визуальный редактор типов, таблица состава ролей, фильтр по подсистемам, визуальный редактор форм (прототип, идёт работа)

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

CDT 41 предоставляет 12 VS Code commands для программного управления метаданными 1С. AI-агент (Claude Code, Copilot, MCP-клиент) может создавать объекты, добавлять реквизиты, читать/писать свойства — без ручного взаимодействия с UI. Объекты адресуются через dot-path: Catalog.Товары, Document.ПриходТовара.Attribute.Склад. Подробнее: docs/features/agent-api/agent-skill.md

Чего нет: конструктора запроса (есть внешние в режиме предприятия), СКД-редактора, состава планов обмена и много чего еще нет. Включайся в разработку - будет <img width="1407" height="929" alt="image" src="https://github.com/user-attachments/assets/b654c166-4e98-4429-a309-80ebe4f9ab16" /> <img width="1092" height="450" alt="image" src="https://github.com/user-attachments/assets/755d5a95-4088-4567-89ba-8d6ffe38d670" /> <img width="1159" height="885" alt="image" src="https://github.com/user-attachments/assets/7f608dee-7a6d-46a9-aac8-f86e52e55433" /> <img width="1490" height="757" alt="image" src="https://github.com/user-attachments/assets/ebca534a-d37c-4c88-8b1b-826525a743c4" /> <img width="1462" height="671" alt="image" src="https://github.com/user-attachments/assets/e2f9194f-9593-4f86-a364-829c2c922410" />

Установка

Из VSIX (рекомендуется)

  1. Скачайте файл .vsix из папки releases в репозитории (или со страницы Releases на GitHub).
  2. В VS Code: Ctrl+Shift+PInstall 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: Open Metadata Tree»

Команды (CDT 41)

Практический чеклист «день без EDT»: docs/analytics/user-workflow-without-edt.md.

| Команда | Описание | |--------|----------| | CDT 41: Open Metadata Tree | Открыть панель дерева метаданных | | Refresh | Обновить дерево | | Show Properties | Открыть панель свойств выбранного элемента | | Open XML File | Открыть XML файл элемента | | Create Element | Создать элемент | | Duplicate Element | Дублировать элемент | | Delete Element | Удалить элемент | | Rename Element | Переименовать элемент | | Copy Path / Name | Копировать путь или имя в буфер | | Search in tree | Фокус в поле поиска по дереву | | Clear search and filters | Сбросить поиск и фильтры | | Filter by metadata type | Фильтр по типу метаданных | | Filter by Subsystem | Фильтр по подсистеме (правый клик на подсистеме) | | Clear Subsystem Filter | Сбросить фильтр по подсистеме | | Next search result | Следующий результат поиска | | Previous search result | Предыдущий результат поиска | | Clear tree cache | Очистить кэш дерева | | CDT 41: Export logs | Экспорт логов расширения | | CDT 41: Copy diagnostics summary | Сводка для багрепортов: версии, хост-приложение, ОС, язык UI, remote (если есть), режим расширения (production / development / test), папки workspace и найденные корни конфигурации (поиск до глубины 5), метка UTC. Словарь полей |

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

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

Навигация

  • Развернуть/свернуть узел: Клик на стрелку рядом с элементом
  • Открыть файл: Клик на элемент с файлом
  • Обновить дерево: Кнопка "Refresh" в панели или команда 1C: Refresh

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

  • Поиск по имени: кнопка поиска в панели или 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)

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

  • Константы (Constants)
  • Общие модули (CommonModules)
  • Роли (Roles)
  • Подсистемы (Subsystems)
  • Web-сервисы (WebServices)
  • HTTP-сервисы (HTTPServices)
  • И многое другое...

Требования

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

Структура проекта

VScodePluginFor1CDev/
├── src/
│   ├── extension.ts                 # Точка входа, команды, связка провайдеров
│   ├── models/                      # TreeNode, типы узлов
│   ├── parsers/                     # metadataParser, designerParser, edtParser, formatDetector, xmlParser, …
│   ├── providers/                   # treeDataProvider, propertiesProvider, typeEditorProvider
│   ├── services/                    # elementOperations, metadataWatcherService, reloadCoordinator, шаблоны Designer, …
│   ├── utils/                       # XMLWriter, logger, diskCache, validators, referenceFinder, …
│   ├── constants/                   # UI-сообщения, подписи свойств, секции
│   ├── types/                       # Контракты перезагрузки и прочие типы
│   ├── serializers/                 # Сериализация типов для UI
│   ├── formEditor/                  # Кастомный редактор Ext/Form.xml (webview)
│   └── rolesEditor/                 # Редактор прав роли (Role.xml, webview)
├── test/
│   ├── fixtures/                    # Фикстуры (designer-config и др.)
│   ├── suite/                       # Модульные, интеграционные, smoke
│   └── matrix/                      # Матрица контейнеров + опциональный ibcmd
├── docs/
│   ├── documentation-map.md         # Указатель: research → analytics → plans → код
│   ├── architecture.md              # Карта src/ и потоков данных
│   ├── developer-backlog.md         # Очередь задач (синхрон с gap и GitHub)
│   ├── design/                      # Дизайн E2E / ibcmd
│   ├── plans/                       # Планы фич и матрицы
│   ├── research/                    # Gap с EDT, спеки объектов XML
│   └── analytics/                   # EDT-killer, user workflow, инвентаризация
├── DEVELOPING.md
└── package.json

Подробная архитектура: docs/architecture.md. Полный указатель документов: docs/documentation-map.md.

Разработка

Границы продукта (CDT и BSL/LSP)

Расширение CDT 41 отвечает за дерево метаданных, разрешение путей к файлам (в т.ч. вложенный Ext и .bsl общих модулей в выгрузке Designer) и ограниченный набор команд в контексте дерева (например открытие XML или файла модуля). **По

Related Skills

View on GitHub
GitHub Stars23
CategoryDevelopment
Updated5h ago
Forks0

Languages

TypeScript

Security Score

90/100

Audited on Apr 7, 2026

No findings