VScodePluginFor1CDev
Плагин для просмотра (и редактирования) дерева метаданных 1С в VS Code (CDT 41)
Install / Use
/learn @lekot/VScodePluginFor1CDevQuality Score
Category
Development & EngineeringSupported Platforms
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 (рекомендуется)
- Скачайте файл
.vsixиз папки releases в репозитории (или со страницы Releases на GitHub). - В VS Code:
Ctrl+Shift+P→ Install from VSIX… → укажите скачанный файл. - Перезагрузите окно при необходимости.
Установка в Cursor и других редакторах на базе VS Code
Аналогично
Из исходников (для разработки)
- Клонируйте репозиторий и перейдите в каталог проекта.
- Установите зависимости:
npm install - Соберите проект:
npm run compile(или.\build-all.batдля сборки VSIX). - Запуск: нажмите
F5в VS Code для отладки.
Использование
Открытие панели метаданных
- Откройте папку с конфигурацией 1С в VS Code
- Панель CDT 41 появится автоматически в Explorer
- Или: 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 для перехода по совпадениям.
Поведение фильтрации по подсистеме
Фильтрация по подсистеме работает следующим образом:
- Применение фильтра: Правый клик на узле подсистемы в дереве → «Filter by Subsystem»
- Видимость узлов: Показываются только узлы, принадлежащие выбранной подсистеме (включая саму подсистему и все её дочерние элементы)
- Иерархия: Все предки отфильтрованных узлов остаются видимыми для сохранения структуры дерева
- Совместимость с другими фильтрами: Фильтр по подсистеме комбинируется с фильтром по типу и поиском
- Сброс фильтра:
- Через контекстное меню (правый клик → «Clear Subsystem Filter»)
- Через команду «Clear search and filters» (сбрасывает все фильтры)
- Индикация: Активный фильтр отображается в заголовке дерева в формате «Подсистема: {имя}»
Примеры использования:
- Просмотр только объектов подсистемы «Продажи»: правый клик на «Продажи» → «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
node-connect
351.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
110.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
351.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
351.2kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
