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+)\):(.+)$"