Edit 3: Ab Version 0.4.0 kann die ES6-Syntax aktiviert werden, indem dem Projektordner eine jsconfig.json
-Datei mit folgendem Inhalt hinzugefügt wird:
{
"compilerOptions": {
"target": "ES6"
}
}
Edit 2: Sie können vote für diese Funktion bei Benutzerstimme
Gibt es eine Möglichkeit, ES6/ES7 in Visual Studio Code "einzuschalten"?
Edit 1
Versuchte @ sarveshs Suggestions-Overrode javascript.validate.target
und vscode neu gestartet. Hat nicht geholfen.
Derzeit ist die einzige Möglichkeit, ES6- und ES7-Funktionen zu verwenden, die Verwendung von TypeScript .
Andererseits - hier können Sie sehen, dass es eine Funktionsanforderung für ES6 und ES7 gibt
Es ist ziemlich einfach: Erstellen Sie im Stammverzeichnis Ihres Projekts eine Datei jsconfig.json, und schreiben Sie dieses Objekt darin:
{
"compilerOptions": {
"target": "ES6",
"module": "commonjs"
}
}
Dieser Link hat mir sehr geholfen. Das Hinzufügen der Datei jsconfig.json zum Projekt hat nicht viel geholfen bzw. ist nicht die beste Lösung. Gehen Sie zu Datei> Einstellungen> Einstellungen. Fügen Sie in der Datei settings.json folgende Zeile hinzu:
"jshint.options": { "esversion": 6 }
Hinzufügen zu den obigen Antworten ...
Wie in den Dokumenten von VS Code ..
Stellen Sie sicher, dass Sie jsconfig.json im Stammverzeichnis Ihres JavaScript-Projekts und nicht nur im Stammverzeichnis Ihres Arbeitsbereichs ablegen. Unten befindet sich eine Datei jsconfig.json, in der das JavaScript-Ziel als ES6 definiert wird und das Exclude-Attribut den Ordner node_modules ausschließt.
{
"compilerOptions": {
"target": "ES6"
},
"exclude": [
"node_modules"
]
}
Hier ist ein Beispiel mit einem expliziten Dateiattribut.
{
"compilerOptions": {
"target": "ES6"
},
"files": [
"src/app.js"
]
}
Das files-Attribut kann nicht zusammen mit dem Exclude-Attribut verwendet werden. Wenn beide angegeben werden, hat das files-Attribut Vorrang.
versuchen Sie auch, die "target" -Eigenschaft in tsconfig.json zu bearbeiten.
{
"compilerOptions": {
"target": "es5",//es6
"module": "system",
"moduleResolution": "node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"removeComments": false,
"noImplicitAny": false
},
"exclude": [
"node_modules",
"typings/main",
"typings/main.d.ts"
]
}
Andernfalls können Sie ESLint verwenden, um den ES7-Fehler hervorzuheben (mit dem Babel-Parser oder einem anderen): VSCode Linter ES6 ES7 Babel Linter
Wenn Sie Ihr Projekt nicht als Arbeitsbereich speichern möchten, erstellen Sie einfach ein .vscode
-Verzeichnis in Ihrem Projektstammordner und eine settings.json
-Datei.
{
"settings": {
"jshint.options": {"esversion": 6}
}
}
Fügen Sie den obigen json hinzu, starten Sie VSCode neu und los geht's!
Alternativ können Sie Flow anstelle von TypeScript verwenden. Dies ist viel einfacher einzurichten und zu migrieren. Ich habe einen kleinen Artikel über geschrieben, wie Flow mit VS Code eingerichtet wird.
Ab diesem Datum und gemäß den ESLint -Dokumenten auf dem VSCode Marketplace können Sie durch das Einfügen einer .eslintrc-Konfigurationsdatei im Stammverzeichnis des Projekts ES6-Linting in der ESLint-VSCode-Erweiterung aktivieren.
Meine .eslintrc-Konfigurationsdatei sieht folgendermaßen aus:
extends:
- standard
parser: babel-eslint
rules:
object-curly-spacing: [ error, always ]
react/prop-types: off
space-before-function-paren: off
Ich habe eslint über npm in node_modules installiert und weiß nur, dass mit .eslintrc im Projektstammordner ES6 das Linting funktioniert und ohne es funktioniert es nicht.
Hoffe das hilft...