Установка
Установить плагин можно через Visual Studio Marketplace, либо через меню поиска в Visual Studio Code:
Как пользоваться?
Для начала нужно обязательно указать путь к вашему RstBuilder.exe. Это можно сделать в настройках плагина (Preferences -> Extensions -> Renga).
После установки плагина в меню команд (Ctrl + Shift + P
) появятся новые команды, а в верхнем левом углу IDE - несколько новых кнопок.
- - запускает Renga.
- - останавливает Renga и закрывает все активные проекты (даже несохраненные).
- - создает новый пустой проект Renga. Необходимо выполнить эту команду перед импортом шаблона в Renga.
- - закрывает текущий открытый проект Renga.
Для того, чтобы собрать RST-проект с помощью плагина, нужно создать маленький файл конфигурации проекта.
Он должен иметь название rstproject.json
.
Пример содержимого файла конфигурации:
{
"entry": ".\\style.lua", //⟸ относительный путь к "главному" .lua-файлу
"config": ".\\style.json", //⟸ относительный путь к файлу конфигурации
"includes": [], //⟸ список абсолютных путей к .lua-файлам, включаемым в проект (флаг -I)
"stdlVersion": "1.1", //⟸ версия STDL
"category": "Electric Distribution Board Category" //⟸ категория для импорта (строкой)
}
Все пути должны быть в Windows-стиле (разделитель \\
)
После этого в файле rstproject.json
появятся две новые команды/кнопки:
- - собирает RST-проект в текущей директории.
- - открывает собранный RST-проект в Renga. Необходимо создать пустой проект перед импортом шаблона в Renga.
Примеры
examples/import_category
: проект с шаблоном категории, который можно импортировать в Renga с помощью плагина.
Известные проблемы (и, по возможности, решения)
- Плагин всегда запускает свою Renga, даже если она уже запущена в системе (решения нет)
RstBuilder
не всегда собирает проект, если у него есть внешние зависимости (решения нет)
RstBuilder
возвращает код выхода 0
, даже если сборка провалилась (решения нет)
Сборка
Команда для генерации/регенерации .proto-файлов для JS/TS:
grpc_tools_node_protoc --js_out="import_style=commonjs,binary:./src/proto/" --grpc_out="grpc_js:./src/proto/" -I="./server/proto/renga" ./server/proto/renga/*.proto
Как собрать с корректной линковкой к вашей актуальной версии электрона?
Пошагово:
- Идем в C:\Users\%USER%\AppData\Local\Programs\Microsoft VS Code\resources\app\package.json и ищем там версию электрона, к которой прилинкован ваш конкретный vscode, например:
{
// ...
"deemon": "^1.8.0",
"electron": "30.1.2", // ⟸
"eslint": "8.36.0",
// ...
}
- Теперь ставим все депенденси плагина командой:
npm i
- Доставляем
electron-rebuild
:
npm i -D electron-rebuild
- Собираем депенденси, указав версию электрона (см. шаг 1):
.\node_modules\.bin\electron-rebuild.cmd -v 30.1.2
Не компилится TypeScript с ошибкой TS2669
Augmentations for the global scope can only be directly nested in external modules or ambient module declarations.
В этом виновата библиотека winax. Исправляется очень просто:
- Идем в ./node_modules/winax.index.d.ts
- Добавляем в конец файла строчку:
export {}