3

プロジェクト ルートの .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:' のみに一致するかのようです。正しく設定されていないものについてのアイデアはありますか?

4

0 に答える 0