web-dev-qa-db-fra.com

Comment faire pour que Visual Studio Code vérifie l'ensemble du projet pour les erreurs?

J'utilise VS Code pour le développement TypeScript/JavaScript. Lorsque j'ouvre un fichier, il vérifie si ce fichier contient des erreurs. Le problème est que si je refactorise (comme je déplace du code partagé vers un nouvel emplacement ou change un nom), il ne me montrera pas les erreurs que cela a provoquées jusqu'à ce que j'ouvre le fichier avec le problème. ... donc si je veux faire une refactorisation approfondie, je dois ouvrir chaque fichier juste pour le faire analyser le fichier pour les erreurs.

Comment puis-je faire en sorte que VS Code analyse l'ensemble du projet pour détecter les erreurs sans avoir à ouvrir chaque fichier un par un manuellement?

19
WillyC

Deviner. Notez que cette réponse est spécifique à TypeScript, ce que j'utilise. C'est ici:

Assurez-vous que TypeScript est installé globalement (je viens de faire installer le mien localement apparemment): npm install -g TypeScript

Ensuite, dans VS Code, appuyez sur Shift+Ctrl+B. Si vous n'avez pas configuré de gestionnaire de tâches, il vous demandera ce que vous voulez. J'ai sélectionné TypeScript et le fichier tasks.json ressemblera à ceci:

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

Puis en appuyant sur Shift+Ctrl+B (ou Shift+Command+B sous macOS) vérifiera la totalité du projet pour les problèmes et ils seront signalés dans votre panneau "problèmes".

10
WillyC

Pour la version la plus récente of tasks.json c'est le bon json, suite aux dépréciations de la version 1.14. Créez ceci comme /.vscode/tasks.json

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

Si vous ne souhaitez pas installer TypeScript globalement, vous pouvez procéder comme suit:

  1. Ajoutez un script d'exécution validate-TypeScript à ./package.json. --noEmit signifie que le compilateur ne générera aucun fichier JavaScript.
{
  "scripts": {
    "validate-TypeScript": "tsc --noEmit"
  }
}
  1. Informez VSCode du script d'exécution dans /.vscode/tasks.json.
{
  "version": "2.0.0",
  "tasks": [
    {
      "type": "npm",
      "script": "validate-TypeScript",
      "problemMatcher": [
        "$tsc"
      ]
    }
  ]
}
  1. Pour exécuter les tâches, appuyez sur la touche F1 et sélectionnez "Exécuter la tâche", puis "npm: validate-TypeScript".
2
Jan Aagaard