javascript - Kako natjerati Visual Studio Code da provjeri cijeli projekt na greške?
Koristim VS Code za razvoj u TypeScript/JavaScriptu. Kada otvorim datoteku, ona provjerava tu datoteku na pogreške. Problem je u tome što, ako radim refaktoriranje (na primjer, premještam neki zajednički kod na novu lokaciju ili mijenjam ime), neće mi pokazati pogreške koje je to uzrokovalo dok ne otvorim datoteku s problemom. ...tako da, ako želim napraviti opsežno refaktoriranje, moram otvoriti svaku datoteku samo da bi se provjerila na pogreške.
Kako mogu natjerati VS Code da skenira cijeli projekt za pogreške bez da moram otvarati svaku datoteku jednu po jednu ručno?
Odgovor #1
VS Code (v1.44) ima eksperimentalnu značajku koja omogućuje prijavljivanje pogrešaka u cijelom projektu u TS-u. Isprobajte je:
// put this line in settings.json
"typescript.tsserver.experimental.enableProjectDiagnostics": true
Odgovor #2
Shvatio sam. Napominjem da je ovaj odgovor specifičan za TypeScript, koji ja koristim. Evo ga:
Provjerite je li TypeScript instaliran globalno (očito je moj bio instaliran lokalno): npm install -g typescript
Zatim u VS Code pritisnite Shift+Ctrl+B. Ako nemate postavljen izvršitelj zadataka, pitaće vas što želite. Ja sam odabrao TypeScript i datoteka tasks.json će izgledati ovako:
{
"version": "0.1.0",
"command": "tsc",
"isShellCommand": true,
"args": ["-p", "."],
"showOutput": "silent",
"problemMatcher": "$tsc"
}
Zatim pritiskom Shift+Ctrl+B (ili Shift+Command+B na macOS-u) provjerit će se cijeli projekt za probleme i oni će biti prijavljeni u vašem panelu "problemi".
Odgovor #3
Ako ne želite instalirati TypeScript globalno, možete učiniti sljedeće:
Instalirajte TypeScript lokalno u projekt, to je
yarn add --dev typescriptilinpm install --save-dev typescript.Dodajte skriptu za pokretanje provjere tipova u
./package.json.--noEmitznači da kompajler neće generirati nikakve JavaScript datoteke.
{
"scripts": {
"check-types": "tsc --noEmit"
}
}
- Obavijestite VSCode o skripti za pokretanje u
/.vscode/tasks.json.
{
"version": "2.0.0",
"tasks": [
{
"type": "npm",
"script": "check-types",
"problemMatcher": [
"$tsc"
]
}
]
}
Za pokretanje zadataka pritisnite tipku F1 i odaberite 'Run Task', a zatim 'npm: check-types'.
Ako dodate sljedeće retke u zadatak, pritisak
Ctrl+Bće ga pokrenuti."group": { "kind": "build", "isDefault": true }
Odgovor #4
Nakon što otvorite svoj projekt u VS Codeu, otvorite VS Code terminal i pokrenite:
node_modules/.bin/tsc --noEmit
Odgovor #5
Za najnoviju verziju tasks.json ovo je ispravan json, u skladu s deprekacijama u verziji 1.14. Napravite ovo kao /.vscode/tasks.json
{
"version": "2.0.0",
"command": "tsc",
"type": "shell",
"args": [
"-p",
"."
],
"presentation": {
"reveal": "silent"
},
"problemMatcher": "$tsc"
}
