在Atom中禁用特定的linter规则(对于js-standard)

时间:2016-05-25 01:42:47

标签: javascript atom-editor

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

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

  

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

     

支持当前样式设置:

     

忽略
  解析器

这些设置的语法是什么?

4 个答案:

答案 0 :(得分:5)

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

  1. 禁用linter-js-standard atom包
  2. 安装linter-eslint
  3. 添加.eslintrc文件:

    {
      "extends": ["standard"],
      "rules": {
        "camelcase": 0
      }
    }
    
  4. 你可能还需要通过npm安装标准和eslint,如果你还没有它们。

答案 1 :(得分:1)

使用默认安装,无法在linter-js-standard中执行此操作。 (我认为这是模块作者的一个有意识的决定,他们认为standard是一个艰难的目标,而不是理想的目标。)

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

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

到您的package.json文件,该文件允许您根据需要注释您的来源。

实施例

假设foo已定义但未在文件的其他位置使用,linter将发出警告:' foo被赋值但从未使用过。 (无未使用-VARS)

const foo = 1

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

const foo = 1 // eslint-disable-line

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

答案 2 :(得分:0)

如果您的插件使用的是ESlint,那么在项目的根目录中创建一个.eslintrc文件&在那里写下你的规则。

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

修改

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

答案 3 :(得分:0)

我设法通过转到“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”规则,您可以将"camelcase"值更改为[2],而不是删除整个“规则”行:

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