Visual Studio代码问题匹配器无法使用自定义输出

时间:2017-12-12 14:36:31

标签: regex visual-studio-code vscode-tasks

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

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

1 个答案:

答案 0 :(得分:1)

你的正则表达式完全正确 - 因为\\(\\d+\\)周围的问题被转义,它实际上并不是一个捕获组。对于另外一对或者parens它适用于我:

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