如何在 tasks.json (VS Code) 中为问题匹配器定义波浪线范围?

How to define a squiggle range for the problem matcher in tasks.json (VS Code)?

我在 tasks.json 中写了一个 problemMatcher,看起来像这样:

"problemMatcher": {
    "owner": "myFileExtension",
    "pattern": {
    "regexp": "myRegExp",
    "file": 1,
    "line": 2,
    "severity": 3,
    "message": 4,
    "location": 2
    }
}

在我 运行 我的构建任务之后,我正在使用这个问题匹配器来处理有问题的行。但是,我不想画整条线,而是想根据问题的实际来源画出一个特定的范围。看完了 documentation,我还是不知道怎么做。

如何在 tasks.json 中画出一个范围?

请参阅文档中的最后一个示例。

位置可以是()

中的1、2或4个数字
  • 1: (line)
  • 2: (line,char)
  • 4: (lineStart,charStart,lineEnd,charEnd)
{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "watch",
      "command": "tsc",
      "args": ["--watch"],
      "isBackground": true,
      "problemMatcher": {
        "owner": "typescript",
        "fileLocation": "relative",
        "pattern": {
          "regexp": "^([^\s].*)\((\d+|\d+,\d+|\d+,\d+,\d+,\d+)\):\s+(error|warning|info)\s+(TS\d+)\s*:\s*(.*)$",
          "file": 1,
          "location": 2,
          "severity": 3,
          "code": 4,
          "message": 5
        },
        "background": {
          "activeOnStart": true,
          "beginsPattern": "^\s*\d{1,2}:\d{1,2}:\d{1,2}(?: AM| PM)? - File change detected\. Starting incremental compilation\.\.\.",
          "endsPattern": "^\s*\d{1,2}:\d{1,2}:\d{1,2}(?: AM| PM)? - Compilation complete\. Watching for file changes\."
        }
      }
    }
  ]
}```