В настоящее время я пишу расширение vscode для языка, используемого регистраторами данных Campbell Scientifi c. Часть сделанного мною расширения определяет настраиваемый сопоставитель проблем для результатов компилятора. задачи. json, я не могу сопоставить имя файла в верхней части результатов компилятора.
Изменить: это связано с пустой строкой между именем файла и сообщениями об ошибках. В настоящее время я не могу найти способ обойти это. Добавление \ n к шаблону работает не так, как ожидалось, даже если оно работает на https://regex101.com/.
Пример возвращенного текста из компилятора:
test.cr300 -- Compile Failed!
line 12: Undeclared variable U1.
line 18: gmx600 not yet declared so cannot be aliased.
line 19: gmx600 not yet declared so cannot be aliased.
line 20: gmx600 not yet declared so cannot be aliased.
line 21: gmx600 not yet declared so cannot be aliased.
Шаблон, как указано в моем пакете. json:
"pattern": [
{
"regexp": "^(.*\\.cr300).*\\n$",
"file": 1
},
{
"regexp": "^line\\s(\\d+):\\s(.+)$",
"line": 1,
"message": 2,
"loop": true
}
]
и вот моя задача из задач. json при запуске расширения в отладке.
{
"label": "CRBasic: Compiler",
"type": "shell",
"group": {
"kind": "build",
"isDefault": true
},
"options": {
"shell": {
"executable": "powershell.exe"
}
},
"command": "${config:CRBasic.Path.Compiler path}\\cr300comp.exe",
"args": [
"${file}"
],
"problemMatcher": [
"$crbasicCompiler"
]
}