Пользовательские сопоставители проблем C++ в VS Code не выделяют пути к файлам
У меня есть куча настраиваемых задач сборки в VS Code, и мне нужен настраиваемый сопоставитель задач для задач C++.
Поэтому я решил взять пример сопоставления проблем по умолчанию в документации VS Code (https://code.visualstudio.com/Docs/editor/tasks) и немного изменил его.
"problemMatcher": {
"fileLocation": ["relative", "${workspaceFolder}"],
"pattern": {
"regexp": "^(\\.\\.\\/+)(.*):(\\d+):(\\d+):\\s+(.*):\\s+(.*)$",
"file": 2,
"line": 3,
"column": 4,
"severity": 5,
"message": 6
}
Мои сообщения об ошибках имеют следующую структуру:
../../../module/src/module/specific/File.cpp:155:31: error: errorMessage
Три инструкции по открытию каталога (../../../
) верни меня в ${workspaceFolder}
. Таким образом, идея заключалась в том, чтобы использовать вторую группу захвата в качестве относительного пути от папки моей рабочей области для отслеживания файла.
К сожалению, путь к файлу не выделяется и не говорит мне, что я нажимаю Ctrl+ щелчок, чтобы следовать сообщению. Я дважды проверил регулярное выражение на https://regexr.com/, и оно кажется правильным. Я тоже попытался использовать сопоставитель проблем по умолчанию, но безуспешно.
Это полная задача сборки:
{
"label": "build_c++",
"type": "shell",
"command": "${workspaceFolder}/build_command",
"problemMatcher": [ {
"fileLocation": ["relative", "${workspaceFolder}"],
"pattern": {
"regexp": "^(\\.\\.\\/+)(.*):(\\d+):(\\d+):\\s+(.*):\\s+(.*)$",
"file": 2,
"line": 3,
"column": 4,
"severity": 5,
"message": 6
}
}],
"group": {
"kind": "build",
"isDefault": true
}
},
Есть идеи?