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?
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".
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"
}
Si vous ne souhaitez pas installer TypeScript globalement, vous pouvez procéder comme suit:
./package.json
. --noEmit
signifie que le compilateur ne générera aucun fichier JavaScript.{
"scripts": {
"validate-TypeScript": "tsc --noEmit"
}
}
/.vscode/tasks.json
.{
"version": "2.0.0",
"tasks": [
{
"type": "npm",
"script": "validate-TypeScript",
"problemMatcher": [
"$tsc"
]
}
]
}