Projektweite Javascript/TypeScript-Sprachfehler durch integrierte Sprach-Erweiterung
Ich erhalte folgenden Fehler in VSCode, sobald ich meinen Arbeitsbereich öffne.
To enable project-wide JavaScript/TypeScript language features, exclude large folders with source files that you do not work on.
Source: TypeScript and Javascript Language Feat... [BUTTON: CONFIGURE EXCLUDES]
Ich klicke auf die Schaltfläche Configure Excludes in der Nachricht und es öffnet die folgende Datei FRONTENDAPP/jsconfig.json
{"compilerOptions":{"target":"es6","experimentalDecorators":true},"exclude":["node_modules","bower_components","tmp","vendor",".git","dist"]}
Es sieht für mich so aus, als wäre es gemäß der untenstehenden Dokumentation korrekt konfiguriert. : https://code.visualstudio.com/docs/languages/javascript
Warum also die ganze Zeit der Fehler?
Mein Arbeitsbereich ist wie folgt eingerichtet:
FOLDER: NOTES
FOLDER: FRONTENDAPP
FOLDER: BACKENDAPP
Jeder Ordner als eine jsconfig.json-Datei.
Die jeweilige Datei in den NOTES und BACKENDAPP ist dieselbe und sieht wie folgt aus:
{"compilerOptions":{"target":"es6","experimentalDecorators":true},"exclude":["node_modules","bower_components","tmp","vendor",".git","dist"]}
Antwort #1
Ordner mit vielen Dateien identifizieren: du -a | cut -d/ -f2 | sort | uniq -c | sort -nr
162114 node_modules
5837 .git
4967 concat-stats-for
443 app
77 tests
72 dist
8 config
7 public
Überprüfen Sie Ordner, die in jsconfig.json nicht ausgeschlossen sind, auf JS- und TS-Dateien
find concat-stats-for -type f | sed -e 's/.*\.//' | sort | uniq -c | sort -n | grep -Ei '(js|ts)$'
42 ts
3003 js
Wenn der Ordner kein App-Code ist, füge den genannten Ordner zur jsconfig.json Ausschlussliste hinzu.
Antwort #2
Ich hatte die gleichen Probleme und mir wurde klar:
- Ich hatte
node_modulesin Unterordnern - Ich hatte Kopien von
dist(wiedist1,dist2) zum Debuggen, die in git ignoriert, aber nicht in vscode ignoriert wurden. - Ich hatte
.npmund.npm-tmpOrdner mit vielen Sachen darin. - Abgesehen von
disthatte ich auch einen weiteren tmp-Ordner.app-cache.
Am Ende hatte ich den folgenden Eintrag in /jsconfig.json (leicht redundant für die Lesbarkeit), um die Warnung verschwinden zu lassen:
"exclude": [
".git",
".app-cache",
".npm",
".npm-tmp",
"dist",
"dist*",
"node_modules",
"subfolder/dist",
"subfolder/node_modules",
"**/dist/*",
"**/node_modules/*",
]
}
