2015-04-29 6 views
79

bearbeiten 3:Gibt es eine Möglichkeit, die ES6/ES7-Syntaxunterstützung in vscode zu aktivieren?

{ 
    "compilerOptions": { 
     "target": "ES6" 
    } 
} 

Edit 2: Ab Version 0.4.0 kann ES6 Syntax durch Hinzufügen einer jsconfig.json Datei in den Projektordner mit dem folgenden Inhalt eingeschaltet werden, können Sie vote für diese Funktion auf Benutzersprach


gibt es eine Möglichkeit in Visual Studio-Code ES6/ES7 zu "einschalten"?

screenshot

bearbeiten 1

Versuchte @javascript.validate.target suggestion- overrode des Sarvesh und neu gestartet vscode. Hat nicht geholfen.

+1

Würden Sie es als Antwort anstatt einer Bearbeitung auf Ihre Frage etwas dagegen setzen? –

Antwort

26

Derzeit können ES6- und ES7-Funktionen nur mit Typescript verwendet werden.

Auf der anderen Seite, here Sie, dass es sehen kann, ist ein Feature-Request für ES6 und ES7

+0

Update: Looks ES6 wird ab Juli 2015 verfügbar sein - http://visualstudio.uservoice.com/forums/293070-visual-studio-code/suggestions/7752489-es6-es2015-support – ToddSmithSalter

+0

Das Update ist verfügbar: https://code.visualstudio.com/Updates/ –

+0

Es scheint ziemlich gut. Dennoch ist im Allgemeinen noch etwas zu tun. – praetoriaen

43

Es ist ganz einfach, an der Wurzel des Projekts eine jsconfig.json-Datei erstellen und dieses Objekt in es schreiben:

{ 
    "compilerOptions": { 
     "target": "ES6", 
     "module": "commonjs" 
    } 
} 
+0

wow Das hat mir geholfen. Vielen Dank!! –

+0

Funktioniert gut, danke! Anscheinend haben sie diesen in vscode in diesem Sommer enthalten: http://blogs.msdn.com/b/vscode/archive/2015/07/06/vs-code-es6.aspx So ist die obige Antwort nicht mehr korrekt . – Tom

+8

hinzufügen '" experimentalDecorators ": true' für es7 Dekorateure –

4

zu den oben genannten Antworten Hinzufügen ...

Per Docs von VS-Code ..

Vergewissern Sie sich, dass Sie die jsconfig.json am Ihres JavaScript Projektstamm setzen und nicht nur an der Wurzel des Arbeitsbereichs. Im Folgenden finden Sie eine Datei namens jsconfig.json, die das JavaScript-Ziel als ES6 definiert und das Attribut exclude 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 Attribut files kann nicht in Verbindung mit dem Attribut exclude verwendet werden. Wenn beide angegeben sind, hat das Attribut files Vorrang.

auch versuchen, die Bearbeitung „Ziel“ Eigenschaft in tsconfig.json

{ 
    "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" 
    ] 
} 
+0

Was bedeutet das: "Die Wurzel Ihres JavaScript-Projekts und nicht nur die Wurzel Ihres Arbeitsbereichs"? –

+0

Warum kann vs Code nicht einfach ".babelrc" usw. abholen? Warum all die doppelte Konfiguration? * mürrisch * –

0

Alternativ können Sie Flow-anstelle von Maschinenschrift, die viel einfacher zu installieren ist und wandern zu. Ich schrieb einen kleinen Artikel über how to setup Flow with VS Code.

9

Diese hat sehr geholfen. Das Hinzufügen der Datei jsconfig.json zum Projekt hat nicht viel geholfen oder eher ist es nicht die beste Lösung. Gehe zu Datei> Einstellungen> Einstellungen. In den Einstellungen.JSON-Datei der folgende Zeile:

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

0

Ab diesem Zeitpunkt und nach dem ESLint docs auf dem VSCode Marktplatz, einschließlich einer .eslintrc Konfigurationsdatei im Stammverzeichnis des Projektes ermöglicht ES6 Fusseln in die ESLint VSCode-Erweiterung.

Meine .eslintrc Konfigurationsdatei sieht wie folgt aus:

extends: 
    - standard 
parser: babel-eslint 
rules: 
    object-curly-spacing: [ error, always ] 
    react/prop-types: off 
    space-before-function-paren: off 

Ich habe über npm in node_modules installiert eslint und alles, was ich weiß ist, dass mit .eslintrc im Projektstammordner ES6 Werke Fusseln und ohne sie, es nicht.

Hope this helps ...

Verwandte Themen