项目根目录的 .settings 中的 tasks.json
{
"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
}
}
]
}
]
}
tslint 任务的示例输出:
[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'
未转义的正则表达式:
\[[^\]]+\] \[[^\]]+\] (\S+) \([^\)]+\) ([^\[]+)\[(\d+), (\d+)\]: (.+)
当我在在线测试工具上测试我的正则表达式时,它会正确地拉出所有组。当我使用 CTRL+SHIFT+MI 查看 vs 代码中的问题时,看到文件路径、名称和消息都正确的错误。但是,当我单击错误时,我得到:
打开“userController.ts”时出错(找不到文件)。
如果我从那里单击创建文件:
ENOENT:没有这样的文件或目录,mkdir 'c:\repo\IgnitionOne\stable\prototype-coresettings\c:'
我和一位开发人员一起查看了它,目前尚不清楚为什么会发生这种情况。就好像它使用的是相对于工作区根目录的文件位置,并且只匹配文件组中的“c:”。关于未正确设置的任何想法?