Visual Studio Code: Kein SyntaxError-Highlighting?
Hallo,
und zwar habe ich mir soeben Microsoft Visual Studio Code heruntergeladen und habe gleich mal eine JavaScript-Datei erstellt. Ich habe mal absichtlich falschen Code geschrieben, um zu schauen, ob das SyntaxError-Highlighting funktioniert, tut es aber nicht. Da VSC mit integriertem IntelliSense arbeitet, dachte ich, dass das ganze ohne Extension funktioniert. Muss man zusätzlich Einstellungen vornehmen?
Hier das Beispiel, es werden keine Fehler angezeigt:
4 Antworten
Ich habe mal absichtlich falschen Code geschrieben, um zu schauen, ob das SyntaxError-Highlighting funktioniert
"fünf" ist eine Variable im globalen Scope, der Umlaut im Variablennamen könnte (!) ein Problem sein, ist es aber erstmal nicht. o könnte ein Objekt sein und könnte theoretisch eine click-Methode haben - das fliegt dir erst zur Laufzeit um die Ohren. So absichtlich falsch ist dein Code gar nicht. ;)
Weil JavaScript-Fehler so schwer zu erkennen sind, unterstreicht vscode die von Haus aus nicht. Optimal ist es mMn., sich eslint https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint zu installieren und einzurichten, aber vielleicht ist ts-check schon das, was du suchst.
https://code.visualstudio.com/docs/nodejs/working-with-javascript#_type-checking-javascript
Erstell im selben ordner ein file mit dem namen jsconfig.json und füg das hinzu:
{
"compilerOptions": {
"checkJs": true
}
}
Eventuell musst du danach deinen TypeScript Server neustarten damit der das mitbekomment -> CTRL + SHIFT + P -> TypeScript: Restart TS Server während du das JS aktiv hast
Ich sehe da auch keinen Fehler. Variablen in Js müssen nicht zwangsweise in der Datei definiert sein in der sie genutzt werden. Dein Code ist also korrekt.
Das Syntaxhighlighting prüft ja nicht die Syntax. Es highlightet, was es glaubt zu erkennen. Ob die Variablen/Objekte/Funktionen auch wirklich existieren, weiß das Highlighting nicht.
Intellisense benötigt natürlich für jede Programmiersprache auch die nötigen Informationen. Somit musst Du für jede Sprache, die Du schreiben willst, ein enstprechendes Intellisense-Plugin haben.