2

我试图为 tslint 实现模式匹配器,但它变得混乱了。我确定正确指定了正则表达式,但 VSC 不断突出显示不正确的文件。这是我的 tasks.json 文件:

{
"version": "0.1.0",
"command": "gulp",
"isShellCommand": true,
"args": [

],
"tasks": [
    {
        "taskName": "build",
        "args": [],
        "isBuildCommand": true,
        "problemMatcher": [
            {
                "owner": "gulp",
                "fileLocation": ["absolute"],
                "pattern": {
                    "regexp": "^\\[[^>]* > ([^(]*)\\((\\d*),(\\d*)\\): (error) (.*)$",
                    "file": 1,
                    "line": 2,
                    "column": 3,
                    "severity": 4,
                    "message": 5
                }
            },
            {
                "owner": "gulp",
                "fileLocation": ["relative", "${workspaceRoot}/src/"],
                "pattern": {
                    "regexp": "^\\([a-z\\-]*\\) ([^\\[]*)\\[([\\d]*), ([\\d]*)\\]: (.*)$",
                    "file": 1,
                    "line": 2,
                    "column": 3,
                    "severity": 1,
                    "message": 4
                }
            }
        ]
    }
]
}
4

2 回答 2

0

已在 0.2.0 版中解决。这是一个错误。

于 2015-06-02T23:15:30.207 回答
0

您不仅要了解正则表达式,而且还必须记住为 json 进行转义!

为了从直接输出tslint而不是 gulp 版本中获得这个工作,我不得不使用:

^(.*\.ts)\[(\d+), (\d+)\]: (.*)$

在 json 中,这变为:

  "problemMatcher": {
    "owner": "tslint",
    "fileLocation": [
      "absolute"
    ],
    "severity": "warning",
    "pattern": {
      "regexp": "^(.*\\.ts)\\[(\\d+), (\\d+)\\]: (.*)$",
      "file": 1,
      "line": 2,
      "column": 3,
      "message": 4
    }
  }
于 2017-01-10T23:36:38.443 回答