ProblemMatcher in VS Code using incorrect file for gulp-tslint task

1.6k views Asked by At

tasks.json in .settings of project root

{
    "version": "0.1.0",
    "command": "gulp",
    "isShellCommand": true,
    "tasks": [
    {
        "taskName": "dev",
        "args": [],
        "isBuildCommand": true,
        "problemMatcher": [
        "$tsc",
        "$jshint"
        ]
    },
    {
        "taskName": "tslint",
        "fileLocation": ["absolute"],
        "problemMatcher": [
        {
            "pattern": {
            "regexp": "\\[[^\\]]+\\] \\[[^\\]]+\\] (\\S+) \\([^\\)]+\\) ([^\\[]+)\\[(\\d+), (\\d+)\\]: (.+)",
            "file": 2,
            "line": 3,
            "column": 4,
            "severity": 1,
            "message": 5
            }
        }
        ]
    }
    ]
}

Example output of tslint task:

[17:35:12] [gulp-tslint] error (no-unused-variable) C:\repo\IgnitionOne\stable\prototype-coresettings\src\server\controllers\userController.ts[38, 9]: unused variable: 'test'

Unescaped Regex:

\[[^\]]+\] \[[^\]]+\] (\S+) \([^\)]+\) ([^\[]+)\[(\d+), (\d+)\]: (.+)

When I test my regex on online testing tools, its pulling all the groups out properly. When I look at the problems in vs code with CTRL+SHIFT+M I see the error with file path, name, and message all being correct. However when I click on the error, I get:

Error opening 'userController.ts' (File not found).

And if I click Create File from there:

ENOENT: no such file or directory, mkdir 'c:\repo\IgnitionOne\stable\prototype-coresettings\c:'

I've looked it over with a fellow dev and it's not clear why this is happening. It's as if it's using a file location relative to workspace root and matching only 'c:' in the file group. Any ideas on what is not set up correctly?

0

There are 0 answers