В vscode я иногда сталкиваюсь с ошибками сборки во встроенном терминале, а иногда это невозможно. Это раздражало меня довольно долго, потому что я не смог найти шаблон, до сегодняшнего дня, когда я редактировал tasks.json.
Похоже, это связано с определением problemMatcher
в .vscode/tasks.json
. Удаление раздела problemMatcher
из файла и ошибки сборки в терминале больше не были активными, но их повторное включение не включало их повторно.
Мой vscode-проект находится в подпапке дерева сборки и егоroot для всего проекта на два уровня выше ${workspaceFolder}/../..
, который, я думаю, может запутать некоторые инструменты сборки.
tasks.json
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"problemMatcher": {
"fileLocation": "relative",
"severity": "error",
"pattern":{
"regexp": "^system/mytool/(.*):(\\d+):(\\d+):\\s+(warning|error):(.*)$",
"file": 1,
"location": 2,
"column": 3,
"severity": 4,
"message": 5
},
},
"tasks": [
{
"type": "shell",
"label": "android deploy",
"command": "cd ${workspaceFolder}/../..; source build/envsetup.sh ; lunch hikey960-userdebug ; m mytool",
"args": [
],
"options": {
},
"group": "build"
},
]
}
Я виделпримеры, помещающие "problemMatcher" = "$gcc"
внутри задачи, должен ли я определить глобальное средство поиска проблем где-нибудь еще и вместо этого сослаться на свое имя?
Как использовать его для анализа выходных данных при сборке, набрав команды make винтегрированный терминал?