Я пытаюсь сопоставить ошибки этого формата, сгенерированные компилятором IAR ARM для VSCode ProblemMatcher ...
"d:\test\helloWorld.c",646 Warning[Pe223]:
function "printf" declared implicitly
С помощью regex101.com я могу сопоставить сообщение первой строки с этим регулярным выражением...
^"(.*)",(\d+)\s+((Warning|Error)\[Pe\d+\]):$
Увы, когда я добавляю в файл tasks.json правильные косые черты.Vscode запрашивает эту ошибку в task.json. ошибка в task.json
"problemMatcher": {
"owner": "cpp",
"fileLocation": "absolute",
"pattern": [
// The regular expression for IAR ARM compiler. Example to match:
// "d:\test\helloWorld.c",646 Warning[Pe223]:
// function "printf" declared implicitly
{
"regexp": "^"(.*)",(\\d+)\\s+((Warning|Error)\\[Pe\\d+\\]):$",
// The first match group matches the file name which is relative.
"file" : 1,
// The second match group matches the line on which the problem occurred.
"location": 2,
// The third match group matches the message
"message" : 3,
// The fourth match group matches the problem's severity. Can
// be ignored. Then all problems are captured as errors.
"severity": 4
},
{
// The next line matches the message.
"regexp": "^([^\\s].*)$",
"message": 1
}
]
}
Затем я удалил "", и это стало,
^(.*),(\\d+)\\s+((Warning|Error)\\[Pe\\d+\\]):$
Наконец, я получаю вывод в задачахпосле запуска задачи, которая будет генерировать эти ошибки в терминале VSCode.Предупреждающее сообщение и номер строки правильные.Но файл не совпадает и не может перейти к файлу.