es6的VS代码


105

我的代码中出现棉绒错误 'import' is only available in ES6 (use 'esversion: 6').

与es6相关的所有操作都抛出错误。不知道我必须配置什么才能使其正常工作。

Answers:


216

添加一个名为.jshintrc项目的文件,并在此文件中输入以下内容:

{
    "esversion": 6
}

如您在这里看到的:

在此处输入图片说明

有关jshint选项的完整文档,请参见:http : //jshint.com/docs/options


4
jshint.com/docs/options/#esversion供那些正在寻找文档的人使用。
Jeremy Larter

5
这应该是自动添加的。
Xaqron '17

似乎有时您需要添加以下行“ moz”:true
kinsley kajiva

7
这对我不起作用(vscode版本1.37.1,OS X)。转到扩展首选项->在settings.json中选择编辑。向JSON添加: "jshint.options": { "esversion": 6 } 不要忘记上一行的逗号!
sijpkes

1
根据~/settings.json我的经验,唯一添加此内容的地方。项目级别的设置不会影响它。荒谬的是,这不是默认设置。真的很难找到解决方法,与此同时,VS Code中使用javascript的用户体验是敌对的。超级烦人。默认情况下,它应支持ES6 +。为什么不呢?
rjurney

95

编辑:如果您使用ESLint而不是JSHint,我已经添加了一种启用es6的方法,并且由于自我的原始答案以来VSCode已更改,因此更新了屏幕截图。

JSHint方法:

如果使用的是JSHint,则可以将以下内容添加到设置中:

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

ESLint方法:

如果您使用的是ESLint,则可以在设置中添加以下内容:

"eslint.options": {
    "env":{
        "es6":true
    },
    "parserOptions": {
        "ecmaVersion": 6 // or 7,8,9
    }
}

ESLint配置文档

如何更新设定

  1. 在VS Code中,前往 settings

VS代码设置

  1. 显示设置时,您会看到设置部分:

用户和工作区设置选项卡

请注意,您可以在两个部分中自定义设置,即“ 用户设置”和“ 工作区设置”。

用户设置是您应将要应用于任何项目的全局设置应用到的地方。

工作区设置是您可以在其中进行设置更改的地方,应仅将其应用于当前项目。

就我而言,因为我知道只有部分项目可以使用ES6,所以我需要有错误提示以警告我是否正在使用非ES6项目的ES6 ...所以我仅将其设置为“ 工作区设置”

但是,如果您知道在VS Code中编写的任何代码都将成为ES6,项目,请保存一个步骤,并将其添加到用户设置中

  1. 根据您的喜好单击“用户/工作区”。搜索JSHint或ESLint(无论使用哪种方式)。单击settings.json中的任何Edit链接,无论哪个都无所谓。

在settings.json中编辑

  1. 根据您使用的是JSHint还是ESLint添加相关的设置:

捷迅

添加JSHint设置

ESLint

添加ESLint设置


6
这是一个很好的答案,+ 1是因为不必在项目目录中创建其他文件。截图也非常有帮助,非常感谢!
twknab

同样,这样做更好,因为可以自动对新项目执行此操作,而不是创建新文件或仅保存在单个工作区中。
Jan Sila

2
由于某种原因对我不起作用。我在用户和工作区设置中都尝试过
LondonGuy

1
非常感谢您的详细解释,确实非常有帮助。
Ketan Ramteke

22

您可以"esversion": 6在用户设置中添加到jshint.options。

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

4

只是为了完善已经提交的出色建议,您还可以通过在文件顶部添加此转义行(和其他jshint设置类似),逐个文件地进行设置。

// jshint esversion:6

实际上,您可以将其添加到任何位置,但是它只会影响后续代码,如果您急于做一些奇怪的事情,则可以打开和关闭设置。


0

确保使用json进行上述配置,但jshint如果使用的话,也要删除/禁用工作空间扩展名,eslint反之亦然。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.