ESLint自动修复忽略规则

Ale*_*lex 5 eslint visual-studio-code

我在vscode中使用ESLint选项"eslint.autoFixOnSave": true.

基本上,我想:

  1. 忽略1个特定的修复规则:prefer-const
  2. 查看编辑器中突出显示的所有警告和错误(包括prefer-const)

Ale*_*lex 7

好像有一个新插件:eslint-plugin-no-autofix

{
  "plugins": ["no-autofix"],
  "rules": {
    "prefer-const": "off",
    "no-autofix/prefer-const": "warn",
  }
}
Run Code Online (Sandbox Code Playgroud)


Pau*_*ean 3

这里有一个更好的解决方案,而不是在您的代码中引入另一个可能很快就会不再维护的插件及其自己的依赖项。

在最新版本的 vscode eslint 插件中,有一个新的设置。您可以在这里阅读:https://marketplace.visualstudio.com/items? itemName=dbaeumer.vscode-eslint

具体来说eslint.codeActionsOnSave.modeeslint.codeActionsOnSave.rules

通过在 vscode 配置中添加这些设置,可以专门针对这个烦人的 Preferred-const 规则禁用保存时的自动修复。

请务必阅读文档中的注释:

请注意,如果 eslint.codeActionsOnSave.mode 设置为问题,则 eslint.codeActionsOnSave.rules 将被忽略。

    "editor.codeActionsOnSave": {
        "source.fixAll.eslint": true,
        "source.fixAll": true
    },
    "eslint.codeActionsOnSave.rules": [
        "!prefer-const",
        "*"
    ],
    "eslint.codeActionsOnSave.mode": "all"
Run Code Online (Sandbox Code Playgroud)

这可以解决 vscode 自动修复的问题。

要通过 cli 构建过程修复它,请参阅此答案:How to disable autofix for certainrules in eslint using CLI?

遗憾的是,eslint 服务器级别还没有修复,因此该解决方案特定于 vscode。