Skip to content

v0.4.2

Latest

Choose a tag to compare

@Macegor Macegor released this 13 Jul 16:25
9e4b2f5

Крупный релиз: семантический git по объектам 1С (панель «Изменения метаданных» и граф истории), полноценная работа с HTTP-сервисами и надёжный жизненный цикл встроенного MCP-сервера.

Новое

Панель «Изменения метаданных» — git в терминах объектов 1С
Новое представление в контейнере активности: git status рабочей копии показывается не построчно по файлам, а объектами метаданных и их частями («Свойства», «МодульОбъекта», «Форма.ФормаЭлемента» и т.п.). Полноценные git-операции как в штатном SCM: индексация/снятие индексации/отмена/фиксация/diff. Дерево повторяет навигаторную иерархию конфигурации, обрезанную до изменённых объектов и их предков. Split-кнопка «Фиксация» с вариантами «Зафиксировать и отправить»/«Синхронизировать», раздельные секции «Проиндексировано»/«Не проиндексировано» с кнопками индексации прямо в шапках.

Блок «История» — граф git-коммитов по объектам 1С
Второй сворачиваемый блок той же панели: граф коммитов с SVG-дорожками (ветвления/merge). Клик по коммиту раскрывает его inline — детали (хеш, автор, дата, сообщение) и read-only дерево изменённых объектов 1С; двойной клик по листу открывает diff commit^ ↔ commit. Ленивая загрузка git log — только при первом разворачивании блока.

Полноценная работа с HTTP-сервисами
HTTP-сервис больше не лист дерева: добавлена трёхуровневая вложенность HTTPСервис → URLШаблон → Метод. Навигация, создание URL-шаблонов и методов, редактирование свойств (Template, HTTPMethod, Handler) и удаление — через команды и MCP. Байт-корректная генерация XML сверена с эталонами форматов 2.20/2.21. Новые MCP-инструменты v8vscedit_add_url_template и v8vscedit_add_method (пути HTTPСервисы.X.URLШаблон.T[.Метод.M]).

Надёжный жизненный цикл встроенного MCP-сервера
При старте сервер зондирует занятый порт через GET /identity и принимает решение: свой сервер того же проекта — переиспользование; MCP-сервер другого проекта v8vscedit — предложение принудительно закрыть (POST /shutdown) или сменить порт; посторонний процесс — только смена порта (больше не занимает молча соседний порт). Остановка через closeAllConnections() рвёт долгоживущие SSE-соединения и гарантированно освобождает порт при reload/выходе IDE — устранена проблема «висящего порта».

Улучшения

  • Переоформлен тулбар навигатора: иконки ближе по смыслу (импорт — стрелка вниз, обновление — база данных, конфигуратор — code-oss), кнопки разделены на левую и правую группы; запуск клиента/конфигуратора/обновления прижаты к правому краю.
  • Новый контейнер активности «Изменения метаданных» с собственной иконкой.
  • Настройка v8vscedit.mcp.port — уточнённое поведение при конфликте порта.

Исправления

  • Общая форма теперь создаётся управляемой (FormType = Managed).
  • Исправлен формат outputStyle в конфигурации.

Внутреннее и документация

  • Рефакторинг git-слоя: единый парсер git status --porcelain (устранён дубль-парсер в сервисе декораций), чистое git-ядро графа истории без зависимости от vscode.
  • TDD-конвейер: гейт patch-покрытия по изменённым файлам, ускоренный прогон тестов.
  • Новая документация: docs/git-metadata-changes.md, docs/git-history-graph.md, docs/mcp-server-lifecycle.md; обновлены architecture.md, metadata-navigator.md, mcp-paths.md.

Изменения: v0.4.1...v0.4.2 · включает #12