Дерево метаданных 1С в VS Code и VSCodium: находите объекты по имени или синониму, открывайте модули и XML, следите за изменениями исходников прямо в дереве.
Расширение работает с Designer XML через eska CLI. Поддерживает конфигурации, расширения конфигураций, внешние отчёты и обработки.
Установка · Горячие клавиши · Настройки · Подробное руководство
- Все файлы в одном дереве. Метаданные 1С, настройки проекта, README, сборки и остальные файлы, включая скрытые папки.
- Структура как в Конфигураторе. Группы и их порядок зависят от типа проекта. Конечные объекты отображаются без стрелки; пустота ветки подтверждается backend или результатом ленивой загрузки.
- Модули под рукой. Группа «Модули» идёт первой внутри объекта; общий модуль открывается нажатием на его имя.
- Свойства объекта. Клик по форме, объекту с группой «Модули» или без кода открывает отдельную вкладку со свойствами и поиском, как у настроек редактора. Команда Свойства доступна в контекстном меню.
- Поиск по имени и синониму. Находит объекты и вложенные элементы, в том числе в нераскрытых ветках.
- Переход от файла к дереву. Раскрывает нужную ветку и выделяет элемент, сохраняя открытый файл и несохранённые правки.
- Сортировка объектов. Кнопка на проекте включает алфавитный порядок всего дерева метаданных — групп и вложенных элементов; выбор сохраняется отдельно для каждого проекта.
- Фильтр пустых разделов. Скрывает пустые разделы корня и группы внутри «Общие»; выбор сохраняется отдельно для каждого проекта.
- Подсветка Git. Показывает изменения исходников цветами текущей темы и отмечает группы с изменениями внутри.
- Предопределённые данные. Отображает иерархию из XML и позволяет перейти к нужному элементу.
- Работа с большими конфигурациями. Ветки загружаются по мере раскрытия; изменения файлов обновляют затронутые части дерева.
Язык групп можно выбрать независимо от языка редактора. Иконки поддерживают светлую, тёмную и контрастные темы.
Понадобятся:
- VS Code или VSCodium с поддержкой API 1.109.0 или новее;
- eska CLI 0.11.0 или новее, со сборкой, поддерживающей IDE API 1.11 (можно установить из расширения);
- проект с
eska.tomlи исходниками в формате Designer XML.
Если ESKA уже установлена глобально, расширение использует её. При отсутствии или несовместимой версии оно предложит кнопку Установить ESKA для пользователя. Установка выполняется для текущего пользователя и доступна также из терминала. Можно заранее установить CLI по инструкции ESKA.
Поиск идёт по PATH, затем в ~/.eska/bin. Новая установка использует официальный
установщик и каталог ~/.eska/bin; для новых встроенных терминалов расширение
добавляет каталог в PATH. Внешний терминал после первой установки переоткройте.
Настройка eska.explorer.executable предназначена для разработки: она выбирает
другой backend. Его совместимость проверяется при подключении; наличие и версия
глобальной установки не блокируют запуск явно выбранной сборки.
Передавайте только путь, без аргументов.
Скачайте файл .vsix из Assets нужного
релиза расширения.
В редакторе откройте Расширения → … → Установить из VSIX… и выберите файл.
Идентификатор расширения — 1c-tooling.eska-explorer.
Подробности установки и проверки пакета — в инструкции VSIX.
Откройте папку с eska.toml, предоставьте доверие рабочей области и раскройте
ESKA: 1C Explorer в проводнике. Если eska.toml ещё нет, настройте проект
через eska init: инструкция подготовки проекта.
При успешном подключении справа в строке состояния появится ESKA v<версия>.
Подсказка показывает версию и путь к запущенному бинарнику. Нажатие проверяет
обновления общей установки ESKA.
Из нескольких независимых папок редактора выбирается одна; при открытии
рабочей области eska в дереве доступны её проекты.
Конфигурации отображаются непосредственно под ESKA: 1C Explorer. Внутри конфигурации сразу идут «Модули», «Общие», «Справочники» и остальные разделы метаданных — отдельной группы «Структура проекта 1С» нет.
Если у проекта есть собственный eska.toml внутри workspace, после метаданных
показываются его файловые группы. Общие файлы рабочей области находятся рядом
с конфигурациями, без дополнительного узла папки:
ESKA: 1C Explorer
├─ Конфигурация
│ ├─ Модули
│ ├─ Общие
│ ├─ Справочники
│ ├─ …
│ ├─ Настройки проекта
│ ├─ Документация
│ └─ Прочие файлы
├─ Другая конфигурация
│ └─ …
├─ Настройки проекта
├─ Документация
└─ Прочие файлы
«Настройки проекта» содержит настройки ESKA, Git, BSL-анализаторов, редактора,
агентов и платформ размещения репозитория: например, eska.toml, AGENTS.md,
.codex/, .vscode/ и .github/. Каталоги сохраняют внутреннюю структуру.
«Документация» — README.md и его языковые варианты. Остальное, включая
build, .git/ и неизвестные скрытые папки, доступно
в «Прочих файлах». Настройки с одним корневым eska.toml находятся на общем
уровне, рядом с единственной конфигурацией. Файлы сохраняют настоящие имена;
пустые файловые группы не показываются.
Папки читаются при раскрытии. Ctrl+K, затем E (на macOS Cmd+K, затем E)
находит в дереве также настройки и другие файлы.
Правила группировки.
Пример ветки справочника:
Конфигурация
└─ Справочники
└─ Товары
├─ Модули
│ ├─ Модуль объекта
│ └─ Модуль менеджера
├─ Предопределённые данные
├─ Реквизиты
├─ Табличные части
├─ Формы
│ └─ ФормаЭлемента
│ ├─ Форма
│ └─ Модуль
├─ Команды
└─ Макеты
Выбор модуля открывает BSL. Объект с группой Модули открывает свойства, даже если в группе только один BSL. Общие модули, команды, сервисы и перерасчёты открывают свой код; если BSL отсутствует, открываются свойства. Корень и вложенные элементы без кода тоже открывают свойства. Контекстное меню Открыть XML открывает описание с выделением имени.
Щёлкните правой кнопкой по объекту метаданных и выберите Свойства.
Откроется вкладка с поиском по именам и значениям, локализованными строками и
вложенными полями. Кнопка Открыть XML у свойства выделяет его в исходнике.
Подписи свойств поступают из словаря backend для 1С 8.3.27 и 8.5.1,
на русском или английском согласно языку дерева. XML-имя доступно для поиска.
Значения перечислений и встроенные типы тоже получают подписи: например,
Version8_3_27 — «Версия 8.3.27», xs:string — «Строка». Техническое значение
участвует в поиске. Пользовательские имена и комментарии
сохраняются как введены. Со старым backend или для неизвестного значения
используется исходное представление.
Мобильные возможности показаны плоским списком с галочками слева. Простые вложенные поля выровнены в строки; сложные структуры занимают всю ширину. Элементы коллекций раскрываются по имени и имеют краткую сводку. Большие списки свёрнуты по умолчанию; поиск оставляет подходящие элементы и раскрывает их. Раскрытие сохраняется при обновлении вкладки и смене языка дерева. Для каждого объекта используется своя вкладка; повторный вызов возвращает её. Вкладка доступна также у корня, вложенных элементов и объектов, обычный клик по которым открывает BSL. Просмотр не изменяет исходники.
У формы есть отдельные узлы Форма и Модуль: первый открывает XML
содержимого формы, второй — её BSL. Клик по названию общей формы или формы
объекта всегда открывает её свойства. Это открытие исходников, без визуального
редактора форм. Модули показываются только при наличии BSL; двоичные .bin
не отображаются как исходники кода.
Пустые группы внутри объектов остаются видимыми. Кнопка фильтра у корня конфигурации управляет только пустыми разделами корня и разделами внутри «Общие».
Свойства открываются для чтения. Кнопка замочка в шапке включает редактирование только в текущей вкладке; повторно открытая вкладка снова заблокирована. Текст сохраняется при выходе из поля или Enter, Shift+Enter добавляет строку, Esc отменяет несохранённый ввод. Флажки и списки сохраняются сразу. Тип выбирается из списка платформенных типов и объектов текущего проекта. Основные роли и поддержанные ссылки на формы, язык, стиль и другие объекты выбираются в списке с поиском. Одиночную ссылку можно очистить; состав списков не меняется. Несохранённый выбор виден в кнопке и после перечитывания доступен для явного сохранения или отмены.
Кнопки «Отменить»/«Повторить» и Ctrl+Z/Ctrl+Shift+Z (Cmd на macOS) работают с сохранёнными изменениями объекта. Пока текст редактируется, его обычная отмена остаётся в поле. При внешней правке черновик сохраняется в форме; «Обновить» перечитывает файл, после чего свой ввод можно явно сохранить. Разрыв соединения не запускает повторную запись. Несохранённый XML в текстовом редакторе блокирует запись из свойств.
Изменяются только поля, для которых backend публикует проверенную схему. «Значение заполнения» выбирается по типам реквизита. Пустая строка и незаданное значение различаются; доступны существующие значения перечислений и предопределённые элементы. Даты вводятся без технического XML-формата. Целочисленные поля показывают допустимый диапазон, который обновляется при изменении зависимых свойств. Параметры номера, управляемые нумератором документа, остаются для чтения с пояснением после разблокировки вкладки. Число уровней справочника редактируется после включения иерархии и ограничения уровней; рядом с недоступными полями показано, что требуется включить. Длина порядка счетов учитывает длину кода и существующие предопределённые значения. Длина периода корректировки регистра бухгалтерии ограничена 0–3. Срок жизни сеанса HTTP- и Web-сервисов редактируется без округления больших целых значений; границы показывает backend. Максимальное количество субконто — 0–50, после выбора плана видов характеристик. Уменьшение лимита и смена плана проверяют существующие предопределённые счета; их строки автоматически не удаляются. Для очистки плана сначала требуется явно установить количество в ноль.
В существующих связях параметров выбора доступны имя, источник и режим изменения значения. Источник выбирается из полей владельца и текущей строки табличной части; стандартные поля имеют переведённые подписи. Backend исключает самоссылки, дубли и чужие поля и проверяет выбор повторно при сохранении.
В «Связи по типу» доступны выбор/очистка источника и номер элемента связи. При выборе источника в пустом свойстве номер равен нулю; замена источника сохраняет существующий номер. Диапазон 0–4294967295 показан рядом с полем, переполнение отклоняется. Очистка и изменения входят в историю отмены объекта.
В параметрах выбора редактируются имена и существующие значения: строка,
число, булево, дата, ссылки на перечисления и предопределённые элементы.
Ссылочные типы загружаются при открытии выбора. У фиксированного массива
каждое значение имеет отдельный редактор с номером элемента; состав и порядок
массива сохраняются. Изменение имени затрагивает только XML-атрибут name.
Связанные параметры нумерации сохраняются и отменяются вместе с соответствующими полями документов. Выбор нумератора переносит пять общих параметров; изменение его поля переносит только выбранный параметр. Редактор показывает количество связанных документов. Несохранённые исходники блокируют такую запись; внешнее изменение зависимостей сохраняет черновик и требует явного обновления свойств. Добавление и удаление полей и элементов списков остаются отложенными.
У свойства «Имя» после разблокировки доступна кнопка «Переименовать». Предварительный просмотр показывает подтверждённые XML/BSL-замены, перемещения файлов и сомнительные места. Их можно открыть в редакторе; сомнительные вхождения остаются без изменения. Перед применением нужно подтвердить их просмотр. Переименование входит в общую историю отмены объекта. Несохранённые документы проекта блокируют переименование и его отмену/повтор. Изменённый после просмотра исходник требует нового предварительного просмотра.
Неизвестные свойства, UUID, неподдержанные ссылки и остальные структурные операции остаются для чтения. Добавление/удаление языков, строк и типов пока отсутствует. Правила поддержки 1С проверяются backend-ом независимо от замочка. Нужен backend с IDE API 1.11 и capabilities propertyEditing, metadataRename, linkedPropertyEdits и unsignedIntegerProperties; номер CLI сам по себе не подтверждает наличие этой возможности в development-сборке.
Нажмите лупу в панели дерева и введите часть имени или синонима. Стрелками выберите результат, нажмите Enter, чтобы перейти к нему в дереве, или Escape, чтобы закрыть поиск.
При первом поиске eska строит индекс в фоне. Пока он не готов, видны прогресс и частичные результаты. Поиск не зависит от раскрытия ветвей; готовый индекс используется повторно. Имена и синонимы ищутся без учёта регистра, без нечёткого сопоставления. При слишком большой выдаче уточните запрос.
| Действие | Windows / Linux | macOS |
|---|---|---|
| Показать открытый файл в дереве eska | Ctrl+K, затем E |
Cmd+K, затем E |
| Поиск по дереву | Ctrl+K, затем F |
Cmd+K, затем F |
| Обновить дерево при фокусе в нём | F5 |
F5 |
После первой комбинации отпустите модификатор и нажмите букву. Переход и поиск переопределяют стандартные сочетания только при фокусе в редакторе файла подключённого проекта eska. Поиск также доступен при фокусе в дереве. В остальных случаях сохраняются стандартные команды редактора.
Изменить или удалить назначения можно в Сочетаниях клавиш / Keyboard Shortcuts:
найдите команды по строке ESKA Explorer.
| Настройка | Значение по умолчанию | Назначение |
|---|---|---|
eska.explorer.executable |
eska |
Глобальная ESKA или путь к backend для разработки |
eska.explorer.supportPolicy |
true |
Адресно проверять поддержку 1С и открывать запрещённые исходники в защищённых вкладках; отключение снимает ограничения ESKA без перезапуска |
eska.explorer.checkForUpdates |
true |
Проверять обновления CLI не чаще раза в сутки |
eska.explorer.treeLanguage |
auto |
Язык групп: auto, ru-RU или en-US |
eska.explorer.hideEmptyRootGroups |
true |
Скрывать пустые разделы по умолчанию |
Переключение фильтра кнопкой сохраняет собственный режим проекта. Действие Использовать фильтр по умолчанию возвращает применение настройки. Имена объектов остаются такими, как в исходниках; выбор языка меняет подписи групп и типов, а не содержимое конфигурации.
Расширение использует статусы встроенного Git редактора и цвета текущей темы.
M обозначает изменение, A / U — добавленный или неотслеживаемый файл,
R — переименование, D — удаление, ! — конфликт. Точка • на родительском
элементе означает, что внутри есть изменённые исходники.
Подсветка обновляется после сохранения файлов, добавления в индекс и коммита. Код и XML формы отмечаются раздельно. Несохранённые правки сами по себе Git-статус не меняют; состояние файла не означает изменение каждого свойства внутри XML. Удалённые элементы, которых уже нет в дереве метаданных, отдельными строками не добавляются.
Нужен включённый встроенный Git. Настройка git.decorations.enabled управляет
подсветкой; дополнительный опрос репозитория расширение не запускает.
Расширение обновляется установкой нового VSIX из GitHub Releases.
Обновление CLI доступно через меню … → Проверить обновления ESKA.
После подключения выполняется фоновая проверка не чаще раза в сутки;
она отключается настройкой eska.explorer.checkForUpdates. Установка начинается
только после нажатия кнопки пользователя. Ход операции виден в терминале задач.
CLI с поддержкой самообновления вызывается через eska update. У старых версий
первое обновление выполняется через Cargo либо официальный установщик.
Для Cargo сохраняются прежний каталог и параметры установки; ошибка Cargo
не вызывает переход на установщик. После успешного обновления Explorer
переподключается. Подробности и ограничения — управление CLI.
Глобальная CLI проверяется на минимальную версию 0.11.0. При подключении
проверяются IDE API 1.11 и обязательные возможности дерева, поиска,
редактирования свойств и уведомлений о файлах.
Версии CLI и расширения не обязаны совпадать. Отсутствие возможности
selfUpdate допускается: оно требует первого обновления прежним способом.
Рекомендую использовать расширение вместе с bsl-analyzer. Само ESKA Explorer не регистрирует язык BSL, отладчик, форматтер или анализатор кода. Настройки других расширений и ассоциации файлов не изменяются.
Поддерживается только Designer XML. Поддержка формата EDT не планируется. Встроенных команд сборки 1С, Git-операций и визуального редактора форм нет. XML и BSL можно редактировать обычными средствами редактора.
Проверки выполнены на Linux с VSCodium. Приёмка Windows, macOS и Remote ещё не завершена. Для SSH, WSL и контейнеров CLI должен находиться на машине проекта. В браузерной IDE и виртуальной рабочей области расширение не работает.
Откройте меню … в заголовке дерева: там доступны выбор проекта, отключение и Показать журнал подключения. Перезапуск подключения вынесен в панель рядом с поиском и обновлением дерева.
Проверьте путь к CLI, наличие eska.toml и совместимость IDE API.
Если после изменения исходников ветка не обновилась, воспользуйтесь обновлением
дерева. Для точного перехода к имени внутри XML сначала сохраните его правки.
При сообщении об ошибке укажите версию редактора, расширения и CLI, ОС и шаги воспроизведения. Приложите относящийся к сбою фрагмент журнала; он может содержать пути к проекту.
- Подробное руководство по дереву, поиску и диагностике
- Настройка проекта
- Установка, упаковка и проверка VSIX
- Разработка и тестирование
- Автоматизация релизов
- Публикация в Open VSX
Apache License 2.0.
Полный текст находится в файле LICENSE репозитория и включён в VSIX как LICENSE.txt.
Правила поддержки 1С: индикаторы, защищённое открытие и ограничения обычных файлов.