VS Code mit es6

103

Ich erhalte den Flusenfehler in meinem Code 'import' is only available in ES6 (use 'esversion: 6').

Alles, was mit es6 zu tun hat, löst einen Fehler aus. Ich bin mir nicht sicher, was ich konfigurieren muss, damit es funktioniert.

erichardson30
quelle

Antworten:

214

Fügen Sie .jshintrcIhrem Projekt eine Datei mit dem Namen hinzu und geben Sie in diese Datei Folgendes ein:

{
    "esversion": 6
}

Wie Sie es hier sehen können:

Geben Sie hier die Bildbeschreibung ein

Die vollständige Dokumentation der jshintOptionen finden Sie hier: http://jshint.com/docs/options

Nasreddine
quelle
4
jshint.com/docs/options/#esversion für diejenigen, die nach der Dokumentation suchen.
Jeremy Larter
5
Dies sollte automatisch hinzugefügt werden.
Xaqron
scheint, als müssten Sie manchmal diese Zeile "moz" hinzufügen: true
kinsley kajiva
6
Dies hat bei mir nicht funktioniert (vscode Version 1.37.1, OS X). Gehen Sie zu den Erweiterungseinstellungen -> wählen Sie Bearbeiten in settings.json Zum JSON hinzufügen: "jshint.options": { "esversion": 6 } Vergessen Sie nicht das Komma in der vorherigen Zeile!
Sijpkes
1
Der einzige Ort, um dies hinzuzufügen, ist ~/settings.jsonmeiner Erfahrung nach. Einstellungen auf Projektebene wirken sich nicht darauf aus. Es ist absurd, dass dies nicht die Standardeinstellung ist. Es ist wirklich schwer herauszufinden, wie dies behoben werden kann, und in der Zwischenzeit ist die Benutzererfahrung mit Javascript in VS Code feindlich. Super nervig. Es sollte standardmäßig ES6 + unterstützen. Warum sollte es nicht?
28.
94

Bearbeiten: Ich habe eine Möglichkeit hinzugefügt, es6 zu aktivieren, wenn Sie ESLint anstelle von JSHint verwenden und die Screenshots aktualisieren, da sich VSCode seit meiner ursprünglichen Antwort geändert hat.

JSHint-Methode:

Wenn Sie JSHint verwenden, können Sie Ihren Einstellungen Folgendes hinzufügen:

"jshint.options":{
    "esversion":6
}

ESLint-Methode:

Wenn Sie ESLint verwenden, können Sie Ihren Einstellungen Folgendes hinzufügen:

"eslint.options": {
    "env":{
        "es6":true
    },
    "parserOptions": {
        "ecmaVersion": 6 // or 7,8,9
    }
}

ESLint-Konfigurationsdokumentation

So aktualisieren Sie die Einstellungen

  1. Gehen Sie in VS Code zu settings

VS-Codeeinstellungen

  1. Wenn die Einstellungen angezeigt werden, sehen Sie die Einstellungsabschnitte:

Registerkarten für Benutzer- und Arbeitsbereichseinstellungen

Beachten Sie, dass es zwei Abschnitte gibt, in denen Sie Ihre Einstellungen anpassen können: Benutzereinstellungen und Arbeitsbereichseinstellungen

Benutzereinstellungen Hier sollten Sie alle globalen Einstellungen anwenden, die Sie für jedes Projekt benötigen, an dem Sie jemals arbeiten werden.

Arbeitsbereichseinstellungen Hier können Sie Einstellungsänderungen vornehmen, die nur auf Ihr aktuelles Projekt angewendet werden sollen.

In meinem Fall muss, da ich weiß, dass nur einige meiner Projekte ES6 verwenden können, der Fehlerhinweis angezeigt werden, um mich zu warnen, wenn ich meine Nicht-ES6-Projekte mit ES6 verwende. Daher setze ich dies nur auf meine Arbeitsbereichseinstellungen

Wenn Sie jedoch wissen, dass alles, was Sie in VS Code codieren, ein ES6-Projekt sein wird, speichern Sie einen Schritt und fügen Sie ihn Ihren Benutzereinstellungen hinzu .

  1. Klicken Sie je nach Wunsch auf Benutzer / Arbeitsbereich. Suchen Sie nach JSHint oder ESLint (je nachdem, was Sie verwenden). Klicken Sie auf einen der Links Bearbeiten in settings.json , egal welcher.

Bearbeiten Sie in settings.json

  1. Fügen Sie die entsprechenden Einstellungen hinzu, je nachdem, ob Sie JSHint oder ESLint verwenden:

JSHint

Hinzufügen der JSHint-Einstellung

ESLint

Hinzufügen der ESLint-Einstellung

Ian
quelle
6
Dies war eine großartige Antwort und +1 dafür, dass keine zusätzliche Datei in Projektverzeichnissen erstellt werden musste ... Screenshots auch sehr hilfreich, vielen Dank!
Twknab
Dies ist auch besser, da dies automatisch für neue Projekte durchgeführt werden kann, anstatt neue Dateien zu erstellen oder nur in einem einzigen Arbeitsbereich zu bleiben.
Jan Sila
2
Funktioniert bei mir aus irgendeinem Grund nicht. Ich habe es sowohl in den Benutzer- als auch in den Arbeitsbereichseinstellungen versucht
LondonGuy
1
Vielen Dank für eine ausführliche Erklärung, es war in der Tat sehr hilfreich.
Ketan Ramteke
22

Sie können "esversion": 6jshint.options in den Benutzereinstellungen hinzufügen .

{
  "jshint.options": {
    "esversion": 6
  }
}
UX Nomaan
quelle
4

Um die bereits eingereichten hervorragenden Vorschläge abzurunden, können Sie dies auch Datei für Datei festlegen, indem Sie diese maskierte Zeile (und ähnliche für andere jshint-Einstellungen) oben in Ihre Datei einfügen.

// jshint esversion:6

Eigentlich können Sie es überall hinzufügen, aber es wirkt sich nur auf nachfolgenden Code aus, sodass Sie Einstellungen ein- und ausschalten können, wenn Sie unbedingt etwas Seltsames tun möchten.

David Woods
quelle
0

Stellen Sie sicher, dass Sie die oben genannten Konfigurationen mit dem json durchführen, aber auch die jshintErweiterung für den Arbeitsbereich entfernen / deaktivieren, wenn Sie sie verwenden, eslintund umgekehrt.

vam
quelle
-3

Deaktivieren Sie Ihre jshint-Erweiterung wie folgt:

https://i.stack.imgur.com/mYnM2.png

Mohammad Naderi
quelle