webentwicklung-frage-antwort-db.com.de

Gibt es eine Möglichkeit, die Unterstützung für ES6/ES7-Syntax in vscode zu aktivieren?

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"?

screenshot

Edit 1

Versuchte @ sarveshs Suggestions-Overrode javascript.validate.target und vscode neu gestartet. Hat nicht geholfen.

85
Jeremy Danyow

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

27
praetoriaen

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"
    }
}
51
Oliv

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 }

23
achola

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"
  ]
}
4
Ignatius Andrew

Andernfalls können Sie ESLint verwenden, um den ES7-Fehler hervorzuheben (mit dem Babel-Parser oder einem anderen): VSCode Linter ES6 ES7 Babel Linter

1
Damien Leroux

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!

0
Saleh Mahmood

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.

0
Petr Peller

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...

0
VanAlbert