Visual Studio 代码问题匹配器不适用于自定义输出
Visual Studio Code problem matcher not working with custom output
我正在尝试让 VS Code 使用自定义输出。我创建了一个打印出来的批处理文件:
warning:main.asm(5):Something is wrong
ERROR:main.asm(2):Something else is wrong
但是当我运行以下任务时:
"tasks": [
{
"label": "build",
"type": "shell",
"command": "${workspaceFolder}\build.bat",
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher":{
"pattern":[
{
"regexp": "^.*:(.*)\(\d+\):(.+)$",
"file": 1,
"line": 2,
"message": 3,
"location": 0
}]
}
}
]
我得到了我期望的输出,但我在问题 window 中没有发现任何错误。有什么想法吗?
您的正则表达式 完全 不正确 - 由于 \(\d+\)
周围的括号被转义,它实际上不是捕获组。使用额外的一对或一对对我有用:
"regexp": "^.*:(.*)\((\d+)\):(.+)$"
我正在尝试让 VS Code 使用自定义输出。我创建了一个打印出来的批处理文件:
warning:main.asm(5):Something is wrong
ERROR:main.asm(2):Something else is wrong
但是当我运行以下任务时:
"tasks": [
{
"label": "build",
"type": "shell",
"command": "${workspaceFolder}\build.bat",
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher":{
"pattern":[
{
"regexp": "^.*:(.*)\(\d+\):(.+)$",
"file": 1,
"line": 2,
"message": 3,
"location": 0
}]
}
}
]
我得到了我期望的输出,但我在问题 window 中没有发现任何错误。有什么想法吗?
您的正则表达式 完全 不正确 - 由于 \(\d+\)
周围的括号被转义,它实际上不是捕获组。使用额外的一对或一对对我有用:
"regexp": "^.*:(.*)\((\d+)\):(.+)$"