1

我正在尝试让 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
            }]
        }
    }
]

我得到了我期望的输出,但我在问题窗口中没有得到任何错误。有任何想法吗?

4

1 回答 1

3

您的正则表达式不太正确 - 由于周围的括号\\(\\d+\\)被转义,它实际上不是一个捕获组。再加上一对或括号,它对我有用:

"regexp": "^.*:(.*)\\((\\d+)\\):(.+)$"

于 2017-12-12T18:31:48.647 回答