Skip to content

v0.2.6

Choose a tag to compare

@Macegor Macegor released this 25 Apr 07:11
· 206 commits to main since this release

Релиз сфокусирован на рабочем цикле проекта 1С: инициализация структуры, импорт конфигураций из базы, обнаружение локальных изменений, обновление изменённых конфигураций и более быстрый навигатор метаданных.

Главное

  • Добавлена команда «Инициализировать проект 1С».
    Создаёт минимальную структуру проекта, env.json, каталоги src/cf, src/cfe и дополняет .gitignore правилами для локальных настроек и артефактов 1С.

  • Добавлена команда «Импортировать конфигурации из базы».
    Позволяет импортировать основную конфигурацию и расширения из базы в XML-исходники проекта.

  • Добавлена команда «Обновить изменённые конфигурации».
    Расширение теперь определяет изменённые XML-исходники по хеш-кэшу и предлагает обновить только те конфигурации, где есть изменения.

  • Добавлен поиск по навигатору метаданных.
    Появились команды поиска и очистки фильтра, отдельная панель поиска и фильтрация дерева метаданных.

  • Добавлено кэширование дерева метаданных.
    Навигатор может сохранять и восстанавливать JSON-снимок дерева в .v8vscedit/meta, что ускоряет повторное открытие и поиск.

Новые возможности

  • Подключение нового расширения через команду «Подключить расширение».
  • Автоматическая проверка изменённых конфигураций перед запуском тонкого клиента.
  • Создание первичного хеш-кэша и кэша метаданных для найденных конфигураций.
  • Отображение состояния проекта в панели операций: если проект ещё не инициализирован, показывается действие инициализации.
  • Добавлены иконки для корневых узлов расширений.

Улучшения

  • Улучшен интерфейс панели поиска:
    • компактные размеры элементов;
    • кнопка очистки поиска;
    • плейсхолдер в поле поиска;
    • кнопки основных операций вынесены отдельно от дерева.
  • Улучшена обработка импорта и обновления конфигураций:
    • выбор целей импорта;
    • подтверждение обновления перед запуском тонкого клиента;
    • обновление хеш-кэша после операций.
  • Улучшено построение дерева метаданных за счёт использования кэша.
  • Расширена обработка XML через fast-xml-parser внутри infra/xml.

Архитектурные изменения

  • CommandRegistry.ts разгружен: команды вынесены в отдельные модули:
    • ui/commands/open/*;
    • ui/commands/properties/*;
    • ui/commands/db/*;
    • ui/commands/ext/*;
    • ui/commands/search/*;
    • ui/commands/project/*.
  • Добавлен TreeNodeModel как POJO-модель узла дерева, а TreeNode стал тонкой VS Code-обёрткой.
  • Удалён MetadataGroups.ts; группировка теперь опирается на данные из META_TYPES.
  • Добавлен ConfigurationChangeDetector для определения изменённых конфигураций.
  • Добавлен MetadataCache для сохранения и загрузки снимков дерева метаданных.
  • Обновлён Container: регистрация новых сервисов, команд, watcher-логики и панели операций.

Технические детали

  • Версия пакета обновлена до 0.2.6.
  • Добавлена зависимость fast-xml-parser.
  • Обновлён .gitignore:
    • .codex/;
    • .v8vscedit/;
    • временные файлы и артефакты сборки 1С.
  • Обновлены тесты для актуальной структуры дерева и парсинга.

v0.2.5...v0.2.6