【问题标题】:VS Code with es6带有 es6 的 VS 代码
【发布时间】:2016-07-19 01:12:52
【问题描述】:

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

所有与 es6 相关的东西都会引发错误。不知道我必须配置什么才能让它工作。

【问题讨论】:

    标签: visual-studio-code


    【解决方案1】:

    在您的项目中添加一个名为 .jshintrc 的文件,并在此文件中键入:

    {
        "esversion": 6
    }
    

    如您所见:

    jshint 选项的完整文档可在此处找到:http://jshint.com/docs/options

    【讨论】:

    • jshint.com/docs/options/#esversion 对于那些正在寻找文档的人。
    • 这应该是自动添加的。
    • 似乎有时你需要添加这一行 "moz": true
    • 这对我不起作用(vscode 版本 1.37.1,OS X)。转到扩展首选项 --> 在 settings.json 中选择 Edit 到 JSON 添加:"jshint.options": { "esversion": 6 } 不要忘记上一行的逗号!
    • 根据我的经验,唯一可以添加此内容的地方是~/settings.json。项目级别设置不会影响它。荒谬的是,这不是默认设置。真的很难找到如何解决这个问题,同时 VS Code 中的 javascript 用户体验是敌对的。超级烦。它应该默认支持 ES6+。为什么不呢?
    【解决方案2】:

    编辑:如果您使用 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 Configuration Documentation

    如何更新设置

    1. JSHint 或 ESLint 在新版本的 VS Code 中均未启用,因此您需要通过转到扩展程序然后搜索您喜欢的 linter 来安装扩展程序。

    2. 在 VS Code 中,前往 settings

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

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

    用户设置是您应该为您将从事的任何项目应用您想要的任何全局设置的地方。

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

    在我的情况下,因为我知道只有我的一些项目可以使用 ES6,所以如果我在非 ES6 项目中使用 ES6,我需要有错误提示来警告我......所以我只设置为我的工作区设置

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

    1. 根据您的偏好单击用户/工作区。搜索 JSHint 或 ESLint(无论您使用哪个)。点击任何 在 settings.json 中编辑 链接,不管是哪一个。

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

    JSHint

    ESLint

    【讨论】:

    • 这是一个很好的答案,并且 +1 不必在项目目录中创建额外的文件...屏幕截图也很有帮助,非常感谢!
    • 这也更好,因为可以为新项目自动完成,而不是创建新文件,或者只保存在单个工作区中。
    • 由于某种原因对我不起作用。我在用户和工作区设置中都试过了
    • 非常感谢您的详细解释,确实很有帮助。
    • 谢谢。以下代码对我有用。 "jshint.options":{ "esversion":6 }
    【解决方案3】:

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

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

    【讨论】:

    • 我的还有一个条目"jshint.config": "",,后面加"jshint.options": { "esversion": 6 }不要混淆。
    【解决方案4】:

    为了完善已经提交的优秀建议,您还可以通过将此转义行(其他 jshint 设置类似)添加到文件顶部来逐个文件设置。

    // jshint esversion:6
    

    实际上你可以在任何地方添加它,但它只会影响后续代码,如果你急于做一些奇怪的事情,你可以打开和关闭设置。

    【讨论】:

      【解决方案5】:

      在代码前添加下一个提示:

      /* jshint esversion: 6 */
      

      Example

      【讨论】:

        【解决方案6】:

        确保您使用 json 进行上述配置,但如果您使用 eslint,则还删除/禁用工作区的 jshint 扩展,反之亦然。,

        【讨论】:

          【解决方案7】:

          像这样禁用你的 jshint 扩展:

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2017-03-22
            • 2022-06-30
            • 1970-01-01
            • 1970-01-01
            • 2022-08-08
            • 2017-06-13
            • 1970-01-01
            相关资源
            最近更新 更多