有没有办法在vscode中启用ES6/ES7语法支持?

Jer*_*yow 98 visual-studio-code

编辑3:从版本0.4.0开始,可以通过向jsconfig.json项目文件夹添加文件来打开ES6语法,其中包含以下内容:

{
    "compilerOptions": {
        "target": "ES6"
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑2:您可以在用户语音上投票支持此功能


有没有办法在Visual Studio Code中"打开"ES6/ES7?

截图

编辑1

尝试@ sarvesh的建议 - 覆盖javascript.validate.target并重新启动vscode.没有帮助.

Oli*_*liv 56

这很简单,在项目的根目录下创建一个jsconfig.json文件并在其中写入此对象:

{
    "compilerOptions": {
        "target": "ES6",
        "module": "commonjs"
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 为es7装饰器添加``experimentalDecorators":true` (9认同)

小智 37

这个链接帮了很多忙.将jsconfig.json文件添加到项目中没有多大帮助,或者说它不是最佳解决方案.转到文件>首选项>设置.在settings.json文件中添加以下行:

"jshint.options": { "esversion": 6 }
Run Code Online (Sandbox Code Playgroud)


pra*_*aen 28

目前,使用ES6和ES7功能的唯一方法是使用Typescript.

另一方面,您可以在此处看到ES6和ES7的功能请求

  • 我正在使用最新版本`0.8.0`我仍然看到胖箭头功能的错误着色...为什么? (2认同)

Ign*_*rew 5

补充上面的答案...

根据 VS Code 的文档..

确保将jsconfig.json 放在JavaScript 项目的根目录下,而不仅仅是放在工作区的根目录下。下面是一个 jsconfig.json 文件,它将 JavaScript 目标定义为 ES6,并且 exclude 属性排除了 node_modules 文件夹。

{
    "compilerOptions": {
        "target": "ES6"
    },
    "exclude": [
        "node_modules"
    ]
}
Run Code Online (Sandbox Code Playgroud)

这是一个带有显式文件属性的示例。

{
    "compilerOptions": {
        "target": "ES6"
    },
    "files": [
        "src/app.js"
    ]
}
Run Code Online (Sandbox Code Playgroud)

files 属性不能与 exclude 属性一起使用。如果两者都指定,则文件属性优先。

还尝试编辑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"
  ]
}
Run Code Online (Sandbox Code Playgroud)