Is there a way to turn on ES6/ES7 syntax support in vscode?

Visual Studio-Code

Visual Studio-Code Problem Overview


Edit 3: Starting in version 0.4.0, ES6 syntax can be turned on by adding a jsconfig.json file to the project folder with the following contents:

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

Edit 2: You can vote for this feature on user voice


Is there a way to "turn on" ES6/ES7 in Visual Studio Code?

screenshot

Edit 1

Tried @sarvesh's suggestion- overrode javascript.validate.target and restarted vscode. Didn't help.

Visual Studio-Code Solutions


Solution 1 - Visual Studio-Code

It's quite easy, at the root of your project create a jsconfig.json file and write this object in it:

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

Solution 2 - Visual Studio-Code

This link helped a lot. Adding the jsconfig.json file to the the project didn't help much or rather it's not the best solution. Go to file > preferences > settings. In the settings.json file add this line:

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

Also you can also enable this setting for the entire project by creating a .jshintrc file in your project's root and adding this content.

{
  "esversion": 6
}

Solution 3 - Visual Studio-Code

Currently, the only way to use ES6 and ES7 features is to use Typescript.

On the other hand, here you can see that there is a feature request for ES6 and ES7

Solution 4 - Visual Studio-Code

Adding to the above answers...

As per Docs of VS Code..

Make sure that you place the jsconfig.json at the root of your JavaScript project and not just at the root of your workspace. Below is a jsconfig.json file which defines the JavaScript target to be ES6 and the exclude attribute excludes the node_modules folder.

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

Here is an example with an explicit files attribute.

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

The files attribute cannot be used in conjunction with the exclude attribute. If both are specified, the files attribute takes precedence.

also try editing the "target" property 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"
  ]
}

Solution 5 - Visual Studio-Code

Otherwise you can use ESLint to highlight ES7 error (using babel parser or others): https://stackoverflow.com/questions/36327096/visual-studio-code-linter-es7-babel-code/36327097#36327097

Solution 6 - Visual Studio-Code

Alternatively you can use Flow instead of Typescript, which is much easier to setup and migrate to. I wrote a small article on how to setup Flow with VS Code.

Solution 7 - Visual Studio-Code

As of this date and according to the ESLint docs on the VSCode Marketplace, including a .eslintrc configuration file in the root of the project enables ES6 linting in the ESLint VSCode extension.

My .eslintrc config file looks like this:

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

I have eslint installed via npm in node_modules and all I know is that with .eslintrc in the project root folder ES6 linting works and without it, it doesn't.

Hope this helps...

Solution 8 - Visual Studio-Code

To be more convenient. Set jsconfig.json in your folder.

{
    "compilerOptions": {
        "target": "esnext"
    }
}

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionJeremy DanyowView Question on Stackoverflow
Solution 1 - Visual Studio-CodeOlivView Answer on Stackoverflow
Solution 2 - Visual Studio-CodeacholaView Answer on Stackoverflow
Solution 3 - Visual Studio-CodemzdvView Answer on Stackoverflow
Solution 4 - Visual Studio-CodeIgnatius AndrewView Answer on Stackoverflow
Solution 5 - Visual Studio-CodeDamien LerouxView Answer on Stackoverflow
Solution 6 - Visual Studio-CodePetr PellerView Answer on Stackoverflow
Solution 7 - Visual Studio-CodeVanAlbertView Answer on Stackoverflow
Solution 8 - Visual Studio-CodeAsukaMinatoView Answer on Stackoverflow