【问题标题】:Disable a specific linter rule in Atom (for js-standard)在 Atom 中禁用特定的 linter 规则(对于 js 标准)
【发布时间】:2016-05-25 01:42:47
【问题描述】:

如何告诉 Atom linter,特别是 js-standard,忽略规则?我希望它在整个项目范围内被忽略,并且我认为我可以使用 package.json 或 .eslintrc 来实现这一点,但我都无法工作。我要禁用的规则是camelcase

我应该可以在 package.json 文件中执行此操作,因为 js-standard linter 有一个名为 honorStyleSettings 的选项:

在 package.json 中定义的荣誉样式设置。

当前支持的样式设置:

忽略
解析器

这些设置的语法是什么?

【问题讨论】:

  • 你在使用 Eslint 吗?
  • 我相信 js-standard 在后台使用 eslint?所以我认为 eslint 配置文件可能会起作用。
  • 我也想知道。据我了解,您无法在 package.json 中指定要忽略哪些规则,只能指定要忽略哪些文件以及用户使用哪个解析器(请参阅github.com/feross/standard#how-do-i-ignore-files

标签: javascript atom-editor


【解决方案1】:

为了记录,这里是如何在 Atom 中使用js-standard,同时选择性地禁用某个规则。

  1. 禁用linter-js-standard Atom 包

  2. 安装linter-eslint

  3. 添加.eslintrc 文件:

     {
       "extends": ["standard"],
       "rules": {
         "camelcase": 0
       }
     }
    

如果您还没有安装standardeslint,您可能还需要通过npm 安装它们。

【讨论】:

    【解决方案2】:

    使用默认安装,在linter-js-standard 中无法做到这一点。 (我相信这是模块作者的一个有意识的决定,他们认为standard 是一个硬目标而不是理想。)

    如果您希望使用 eslint 样式的 cmets 禁用某些行或代码部分的 linting,请通过 npm i --save-dev babel-eslint 安装 babel-eslint 并添加

    {
      ...
      "standard": {
        "parser": "babel-eslint"
      }
      ...
    }
    

    到您的package.json 文件,这将允许您根据需要注释您的源代码。

    示例

    假设 foo 已定义但未在文件的其他位置使用,linter 将警告:'foo 已分配值但从未使用过。 (no-unused-vars)'

    const foo = 1
    

    安装babel-eslint,在package.json 文件中配置标准,并添加此注释后,linter 将忽略该行。

    const foo = 1 // eslint-disable-line
    

    有关其他配置注释,请参阅Configuring ESLint

    【讨论】:

      【解决方案3】:

      我已经通过转到“linter-js-standard”包文件夹并在node_modules/standard/eslintrc.json文件中添加以下行来禁用“camelcase”规则:

      "rules": { "camelcase": [0] }
      

      所以整个“eslintrc.json”看起来像:

      {
        "extends": ["standard", "standard-jsx"],
        "rules": { "camelcase": [0] }
      }
      

      只需在 Atom 中保存或编辑您的 .js 文件即可使更改生效。

      在我的 Linux 桌面上,eslintrc.json 的完整路径是:

      ~/.atom/packages/linter-js-standard/node_modules/standard/eslintrc.json
      

      当然,当您在 Atom 中更新“linter-js-standard”包时,您必须再次执行上述步骤。

      要启用“驼峰式”规则,您可以将"camelcase" 值更改为[2],而不是删除整个“规则”行:

      "rules": { "camelcase": [2] }
      

      【讨论】:

        【解决方案4】:

        如果您的插件使用的是 ESlint,则在项目的根目录中创建一个 .eslintrc 文件并在其中编写您的规则。

        这是.eslintrc 文件github example 的示例。我发现我需要关闭并重新打开 Atom 以刷新 lint 错误

        编辑:

        showEslintRules(默认值:false)。您需要将此选项更改为 true。

        【讨论】:

        • 恐怕不工作,我猜它不尊重 .eslintrc 文件。我应该可以使用 package.json 对其进行自定义,但我不知道语法是什么。
        • 对我来说,这适用于包 linter-eslint,但不适用于 linter-js-standard。
        猜你喜欢
        • 2016-12-26
        • 1970-01-01
        • 2017-07-22
        • 2014-06-11
        • 2015-08-10
        • 2017-12-06
        • 2020-07-21
        • 2022-11-16
        • 2014-06-15
        相关资源
        最近更新 更多