在VSCode中禁止ESLint的警告

3
我正在使用 VSCode 中的 ESLint extension 来格式化和检查我的 JavaScript 代码。但是,我不想让 ESLint 显示警告(代码下面的红线),尤其是与代码格式有关的警告,但仍然希望每次保存文件时都进行格式化。这可能吗?
以下是我的 VSCode 配置:
{
  "editor.fontSize": 14,
  "explorer.openEditors.visible": 0,
  "files.autoSave": "onFocusChange",
  "terminal.integrated.fontSize": 14,
  "terminal.integrated.lineHeight": 1.3,
  "terminal.integrated.shell.osx": "zsh",
  "editor.codeLens": true,
  "editor.occurrencesHighlight": true,
  "editor.formatOnSave": true,
  "[javascript]": {
    "editor.formatOnSave": false
  },
  "eslint.enable": true,
  "eslint.autoFixOnSave": true,
  "eslint.alwaysShowStatus": false,
  "eslint.run": "onType",
  "javascript.updateImportsOnFileMove.enabled": "always",
  "explorer.confirmDelete": false,
  "diffEditor.ignoreTrimWhitespace": false
}
1个回答

3

您应该在 .eslintrc 文件中设置您的设置(它可以是 js、json 或 yaml 文件,确保您拥有正确的文件的最好方法是使用"eslint --init"命令),进入“rules”部分,只需添加您不想使用的规则名称,后面跟着一个逗号和“0”,例如:

"rules": {
    "no-inner-declarations": 0,
}

如果您想找到正确的设置名称,可以将鼠标悬停在由esLint指示的错误上,浮动窗口会显示问题并包含设置名称。
您还可以参考这个YouTube视频进行完整的解释: https://www.youtube.com/watch?v=cMrDePs86Uo 在视频中,它看起来与现在有些不同(我认为这是旧版本的VSCode)。今天它看起来像这样: how to find the setting name in vsCode 此外,如果您已经配置了它但仍然无法正常工作,我建议您从一个新的小配置文件开始,逐步添加每个新的配置,并检查是否不会破坏其他配置。
这是我的基本文件,它可以正常工作:
module.exports = {
    "env": {
        "browser": true,
        "es6": true
    },
    "extends": "eslint:recommended",
    "globals": {
        "Atomics": "readonly",
        "SharedArrayBuffer": "readonly"
    },
    "parserOptions": {
        "ecmaFeatures": {
            "jsx": true
        },
        "ecmaVersion": 2018,
        "sourceType": "module"
    },
    "plugins": [
        "react"
    ],
    "rules": {
        "no-inner-declarations": 0,
    }
};

你有跟上那个视频吗? 你贴在问题里的设置代码是在规则部分下面吗? 你能把完整的设置文件粘贴过来吗? - Adi Bnaya
我在视频中没有找到任何抑制警告的设置提及...你能指出视频中是否有提到这一点(如果有的话)?请告诉我具体的视频时长。 - darKnight
我已经编辑了链接,将您带到他谈论此事的直接位置,在视频中使用的是旧版本的VSCode,因此今天看起来有点不同。 - Adi Bnaya
我还添加了一张现在的外观图片。 - Adi Bnaya
1
我觉得你没有理解我的问题。将 rules 设置为 "no-inner-declarations": 0 只会抑制在内部作用域声明的变量和函数警告。我想要抑制 eslint 的所有自动修复警告,比如与格式化代码有关的警告。我只想要它显示无效的 JavaScript/JSX 警告,这些警告将阻止代码在浏览器中运行。 - darKnight
我想要理解,请回答以下问题:
  1. 你想禁用eslint的所有着色和警告吗?
  2. 你只想使用eslint进行自动格式化吗?
  3. 你想让eslint在不通知你的情况下修复一些问题吗?
也许对你有帮助的解决方案是只需将eslint文档中的所有规则添加并将它们设置为0? https://eslint.org/docs/rules/
- Adi Bnaya

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接