ESLint在终端中工作正常,但在编辑器UI(VSCode)中未显示错误。

22
我已按照此链接的步骤https://travishorn.com/setting-up-eslint-on-vs-code-with-airbnb-javascript-style-guide-6eb78a535ba6安装了ESlint。现在,我的ESlint可以在终端上运行,但错误/警告未在代码窗口中显示,以下是我的项目结构及其外观:eslint terminal以及我的eslintrc配置:
module.exports = {
  env: {
    browser: true,
    commonjs: true,
    es6: true,
    node: true,
  },
  extends: [
    'airbnb-base',
  ],
  globals: {
    Atomics: 'readonly',
    SharedArrayBuffer: 'readonly',
  },
  parserOptions: {
    ecmaVersion: 2018,
  },
  rules: {
  },
};

为什么编辑器无法显示错误?


你也安装了 eslint 扩展,对吧?就是这个:https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint - Stephen M Irving
你的指令告诉你要自己创建eslintrc文件,你试过使用npx eslint --init让eslint自动为你创建吗?我建议你尝试一下,因为你没有自定义规则,这样可以确保你的配置文件是正确的,并排除可能的原因。 - Stephen M Irving
我已经安装了ESLint扩展,并使用eslint --init创建了.eslintrc文件。 - Karen
在设置中 > eslint,确保启用了 Eslint:Enabled。 - G Gallegos
3
我遇到了同样的问题,使用prettier和webpack loader一切正常(在终端中构建时显示错误和警告),但代码本身没有进行linting。 - Alice Rocheman
你在输出选项卡中收到任何消息吗?输出选项卡位于底部面板中,您可以在同一面板的右上角下拉菜单中选择ESLint。很可能VSCode中的ESLint无法找到配置文件或者配置文件内容有问题。 - Rafael Rozon
3个回答

13
我最近遇到了这个问题,并通过更改我的.eslintrc.js文件为.eslintrc来解决它(仅限JSON对象,没有注释,引号正确,没有扩展名)。重新启动VSCode后,它正确地读取了该文件并在VSCode中给出了Linter错误。

1
这个有效了!我不知道为什么它有效...但我很高兴它有效。 - Michael Ozeryansky
1
这对我没用 :( - geoyws
啊,是的,不需要更改任何文件名,只需关闭VSCode窗口,然后重新打开我的项目窗口(code .),它会加载所有期望的eslint错误。谢谢你的“重新启动”提示! - user3773048
Eslint在我的项目中突然停止工作了。我做了相反的操作,将.eslintrc改为.eslintrc.js。这样它又开始显示lint警告了。然后我又把文件名改回.eslintrc,它继续正常工作,这解决了我的问题。 - Nifel

5

1
我遵循了所有建议,但仍然遇到了问题。我正在使用TypeScript + YARN 2(带PnP)。
我收到的错误是“Failed to load the ESLint library for the document [filename].ts”。
对我有用的解决方法是需要使用命令创建一些编辑器SDK和设置:
`yarn dlx @yarnpkg/sdks vscode`。
我的`.vscode/settings.json`文件看起来像这样:
  "eslint.enable": true,
  "eslint.packageManager": "yarn",
  "eslint.alwaysShowStatus": true,
  "eslint.validate": [
    "html",
    "javascript",
    "typescript",
    "javascriptreact",
    "typescriptreact"
  ],
  "eslint.nodePath": ".yarn/sdks"

上面的命令添加了"eslint.nodePath": ".yarn/sdks"
我在这里找到了它(我通过这个这个进去的)。

谢谢你!在使用.eslintrc.js时,它对我很有效。然而,新的“flat config”系统(eslint.config.js)仍然存在问题,即使他们有一个标志来启用它,但与VS Code ESLint扩展程序不兼容。我将继续使用旧配置一段时间。 https://github.com/microsoft/vscode-eslint#release-notes - AGDevX

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