web-dev-qa-db-ja.com

Visual Studio Codeでプロジェクト全体のエラーをチェックするにはどうすればよいですか?

TypeScript/JavaScript開発にVS Codeを使用しています。ファイルを開くと、そのファイルのエラーをチェックします。問題は、リファクタリングしている場合(共有コードを新しい場所に移動したり、名前を変更するなど)、問題のあるファイルを開くまで、これが原因のエラーが表示されないことです。 ...したがって、リファクタリングを徹底的に行いたい場合は、ファイルをスキャンしてエラーを検出するために、すべてのファイルを開く必要があります。

VS Codeで各ファイルを1つずつ手動で開くことなく、プロジェクト全体でエラーをスキャンするにはどうすればよいですか?

19
WillyC

理解した。この回答は、私が使用しているTypeScriptに固有のものです。ここにあります:

TypeScriptがグローバルにインストールされていることを確認します(どうやらローカルにインストールされているようです):npm install -g TypeScript

次に、VS Codeを押します Shift+Ctrl+B。タスクランナーを設定していない場合は、何が必要かを尋ねられます。 TypeScriptを選択すると、tasks.jsonファイルは次のようになります。

{
    "version": "0.1.0",
    "command": "tsc",
    "isShellCommand": true,
    "args": ["-p", "."],
    "showOutput": "silent",
    "problemMatcher": "$tsc"
}

次に押す Shift+Ctrl+B (または Shift+Command+B macOSで)プロジェクト全体の問題をチェックし、「問題」パネルに報告されます。

10
WillyC

最新バージョン of tasks.jsonの場合、これはバージョン1.14の非推奨に続く正しいjsonです。これを/.vscode/tasks.jsonとして作成します

{
    "version": "2.0.0",
    "command": "tsc",
    "type": "Shell",
    "args": [
        "-p",
        "."
    ],
    "presentation": {
        "reveal": "silent"
    },
    "problemMatcher": "$tsc"
}
7
manoftheyear

TypeScriptをグローバルにインストールしたくない場合は、次のことができます。

  1. Validate_TypeScript実行スクリプトを./package.jsonに追加します。 --noEmitは、コンパイラーがJavaScriptファイルを生成しないことを意味します。
{
  "scripts": {
    "validate-TypeScript": "tsc --noEmit"
  }
}
  1. /.vscode/tasks.jsonの実行スクリプトについてVSCodeに知らせます。
{
  "version": "2.0.0",
  "tasks": [
    {
      "type": "npm",
      "script": "validate-TypeScript",
      "problemMatcher": [
        "$tsc"
      ]
    }
  ]
}
  1. タスクを実行するには、F1キーを押して[タスクの実行]を選択し、[npm:validate-TypeScript]を選択します。
2
Jan Aagaard