web-dev-qa-db-fra.com

Est-il possible d'activer la prise en charge de la syntaxe ES6/ES7 dans vscode?

Edit 3: à partir de la version 0.4.0, la syntaxe ES6 peut être activée en ajoutant un fichier jsconfig.json au dossier du projet avec le contenu suivant:

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

_ {Editer 2: Vous pouvez voter pour cette fonction sur la voix de l'utilisateur} _


Est-il possible d'activer ES6/ES7 dans Visual Studio Code?

screenshot

Modifier 1

J'ai essayé de suggérer la suggestion de @ sarvesh - javascript.validate.target et de redémarrer vscode. N'a pas aidé.

85
Jeremy Danyow

Actuellement, la seule façon d'utiliser les fonctionnalités de ES6 et ES7 consiste à utiliser TypeScript .

D'autre part, ici vous pouvez voir qu'il y a une demande de fonctionnalité pour ES6 et ES7

27
praetoriaen

C'est assez facile, à la racine de votre projet, créez un fichier jsconfig.json et écrivez-y cet objet

{
    "compilerOptions": {
        "target": "ES6",
        "module": "commonjs"
    }
}
51
Oliv

Ce lien m'a beaucoup aidé. L'ajout du fichier jsconfig.json au projet n'a pas beaucoup aidé ou plutôt ce n'est pas la meilleure solution. Allez dans Fichier> Préférences> Paramètres. Dans le fichier settings.json, ajoutez cette ligne: 

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

23
achola

Ajouter aux réponses ci-dessus ...

Selon Docs of VS Code ..

Assurez-vous de placer le fichier jsconfig.json à la racine de votre projet JavaScript et pas seulement à la racine de votre espace de travail. Vous trouverez ci-dessous un fichier jsconfig.json qui définit la cible JavaScript sur ES6 et l'attribut exclude exclut le dossier node_modules.

{
    "compilerOptions": {
        "target": "ES6"
    },
    "exclude": [
        "node_modules"
    ]
}

Voici un exemple avec un attribut de fichiers explicite.

{
    "compilerOptions": {
        "target": "ES6"
    },
    "files": [
        "src/app.js"
    ]
}

L'attribut files ne peut pas être utilisé avec l'attribut exclude. Si les deux sont spécifiés, l'attribut de fichiers est prioritaire.

essayez également de modifier la propriété "target" dans 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"
  ]
}
4
Ignatius Andrew

Sinon, vous pouvez utiliser ESLint pour mettre en évidence une erreur ES7 (avec un analyseur syntaxique babel ou autre): VSCode Linter ES6 ES7 Babel linter

1
Damien Leroux

Si vous ne souhaitez pas enregistrer votre projet en tant qu'espace de travail, créez simplement un répertoire .vscode dans le dossier racine de votre projet et créez un fichier settings.json.

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

Ajoutez le JSON ci-dessus, redémarrez le VSCode et vous êtes prêt à partir!

0
Saleh Mahmood

Vous pouvez également utiliser Flow au lieu de TypeScript, qui est beaucoup plus facile à configurer et à migrer. J'ai écrit un petit article sur comment configurer Flow avec VS Code .

0
Petr Peller

À compter de cette date et selon le ESLint docs sur le Marché VSCode, inclure un fichier de configuration .eslintrc à la racine du projet permet à la fonction ES6 de se lisser dans l’extension ESLint VSCode.

Mon fichier de configuration .eslintrc ressemble à ceci:

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

J'ai installé eslint via npm dans node_modules et tout ce que je sais, c'est qu'avec .eslintrc dans le dossier racine du projet ES6, la charpente ne fonctionne pas. Sans elle, cela ne fonctionne pas.

J'espère que cela t'aides...

0
VanAlbert