Интеграция с VS Code
На текущем этапе язык LC поддерживает базовую интеграцию с редактором Visual Studio Code. Это позволяет упростить работу с проектом за счёт:
- Подсветки синтаксиса в исходных и проектных файлах
- Запуска компиляции проекта из интерфейса редактора
- Отображения сообщений компилятора в панели проблем
Настройка
Для настройки интеграции необходимо создать в папке проекта подкаталог .vscode и добавить в него два файла: settings.json и tasks.json.
Файл settings.json
Файл settings.json задаёт ассоциации типов файлов:
- Файлы .lc будут подсвечиваться как C# — это временная мера, пока не будет реализована полноценная поддержка LC-синтаксиса.
- Файл .lcprj будет восприниматься как XML, что упростит его редактирование благодаря автозакрытию тегов и проверке структуры.
Файл tasks.json
Файл tasks.json позволяет запускать компиляцию проекта с помощью команды сборки (Ctrl+Shift+B), а также отвечает за отображения сообщений компилятора в панели проблем VS Code. Пример конфигурации:
{
"version": "2.0.0",
"tasks": [
{
"label": "Compile",
"type": "shell",
"command": "lccompiler.exe",
"args": [
"project_template.lcprj"
],
"problemMatcher": [
{
"owner": "compiler1",
"fileLocation": [
"relative",
"${workspaceFolder}"
],
"pattern": {
"regexp": "^(.*):(\\d+):(\\d+):(\\d+):(\\d+):(Error|Warning|Info):(.*)$",
"file": 1,
"line": 2,
"column": 3,
"endLine": 4,
"endColumn": 5,
"severity": 6,
"message": 7
}
},
{
"owner": "compiler2",
"fileLocation": [
"relative",
"${workspaceFolder}"
],
"pattern": {
"regexp": "^(.*):(Error|Warning|Info):(.*)$",
"file": 1,
"severity": 2,
"message": 3
}
}
],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
Примечания
- Путь к
lccompiler.exeдолжен быть либо прописан в переменной окруженияPATH, либо указан явно в полеcommand. - В параметре
argsнеобходимо указать имя проектного файла.lcprj.