プロジェクト ルートの .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」を開くときにエラーが発生しました (ファイルが見つかりません)。
そこから [Create File] をクリックすると、次のようになります。
ENOENT: そのようなファイルまたはディレクトリはありません。mkdir 'c:\repo\IgnitionOne\stable\prototype-coresettings\c:'
私は仲間の開発者と一緒にそれを調べましたが、なぜこれが起こっているのかは明らかではありません. ワークスペース ルートに相対的なファイルの場所を使用し、ファイル グループ内の 'c:' のみに一致するかのようです。正しく設定されていないものについてのアイデアはありますか?