Расширение redb для VS Code

redb Route XML: новый проект из шаблонов redb, автодополнение и проверка XML-маршрутов redb.Route по схеме, граф маршрута с редактированием. Редактор не обязателен: файл маршрута остаётся обычным XML, который среда выполнения загружает как есть, расширение только упрощает его написание и чтение.

Установить из Marketplace
$ code --install-extension redb.redb-route-xml
VS Code 1.85+ Red Hat XML ставится вместе с ним .NET SDK нужен для новых проектов

1 Новый проект

Команда redb: New Project в палитре команд или кнопка на панели redb открывает страницу, которая создаёт проект из шаблонов redb через dotnet new.

  • Состояние. Вверху видно установленные .NET SDK и оба пакета шаблонов, redb.Templates и redb.Tsak.Templates. Если пакета нет, рядом кнопка Install; если на nuget.org вышла новая версия, кнопка Update.
  • Шаблоны. Каждый шаблон из установленных пакетов показан карточкой в одной из трёх групп: модули redb.Route на XML, хосты redb.Tsak и приложения.
  • Форма. У выбранного шаблона форма собрана из его же параметров: имя проекта, база, целевой фреймворк и другие. Фреймворк, для которого на машине нет SDK, помечен; папка с файлами под тем же именем не принимается.
  • Создание. Кнопка Create запускает dotnet new и, если в проекте есть манифест локальных инструментов, dotnet tool restore. Вывод идёт на страницу и в канал redb Route, шаг можно отменить. Готовый проект открывается в этом окне, в новом окне или добавляется в рабочую область.

Карточки и форма берутся из самих шаблонов, поэтому новый шаблон в пакетах redb появляется без обновления расширения.

Пакеты шаблонов не установлены: кнопки Install 4.5.0
Шаблонов на машине нет: установка одной кнопкой
Модули redb.Route и форма шаблона
Модули redb.Route и форма выбранного шаблона
Группа приложений
Приложения: консоль, сайты, воркер, чат, BFF, Identity

Те же шаблоны без редактора: Быстрый старт.

2 XML-маршруты в редакторе

  • Автодополнение и проверка по схеме. Каждый элемент и типизированные опции каждого коннектора, с учётом того, потребитель это или отправитель. Схема подключается по пространству имён urn:redb:route:1.0, а не по имени файла, и обновляется с каждым выпуском.
  • Заготовки. Через автодополнение вставляются составные заготовки <route>, <choice>, <tryCatch>; список зависит от места в документе, например внутри <routes> нет <choice>.
  • Ссылки на бины. Символ # в значении открывает список объявлений <bean name> этого документа.
  • Панель Routes. Кнопка redb на панели действий открывает дерево файлов *.route.xml и *.redb-route.xml: id маршрута и его конечная точка from, по щелчку файл открывается на нужной строке.
Файл маршрута в редакторе и панель Routes
Файл маршрута в редакторе, слева панель Routes

3 Граф маршрута

Тот же файл как граф: Open With → redb Route Graph или кнопка графа в заголовке редактора. Граф редактируется, изменения пишутся в XML-текст.

  • Вставка шага из палитры по +, удаление, перетаскивание для смены порядка и переноса в контейнер и из него.
  • Панель свойств: URI разобран на схему, путь и опции со списками допустимых значений, чувствительные опции скрыты.
  • Раскладка слева направо или сверху вниз, сворачивание блоков, масштаб.
  • Подстановки {{key}} показывают значение из context.sample.json и config/*.json, так же как их разрешает Tsak.
Граф маршрута: try-catch, транзакция, choice
try-catch, транзакция, два choice; пунктир показывает путь, когда ни одно условие не подошло
Диаграмма Mermaid: команда redb Route: Show Mermaid Diagram. Ей нужен .NET-инструмент dotnet tool install -g redb.Route.Xml.CodeGen.

4 Установка и требования

Marketplaceredb.redb-route-xml, или из командной строки: code --install-extension redb.redb-route-xml
Без MarketplaceФайл .vsix лежит в каждом выпуске redb.Route; установка: Extensions → … → Install from VSIX
VS Code1.85 или новее
Red Hat XMLОбъявлен зависимостью, VS Code ставит его сам
.NET SDKНужен только для нового проекта и диаграммы Mermaid. Страница нового проекта сама показывает, какие SDK установлены
Шаблоны redbНе ставятся автоматически: страница нового проекта предлагает установить их одной кнопкой
redb Route XML в списке расширений VS Code
redb Route XML в списке расширений