ESLint 在 VSCode 中无法正常工作?请帮忙完善故障排除清单!
从这里开始
什么方法都试过了,还是不行?如何自己找到解决方法?
请在评论区分享您的故障排除技巧!
由 Mux 主办的 DEV 全球展示挑战赛:展示你的项目!
我花了太多时间解决工具链中的配置问题。而且大多数问题我都经常遇到。请帮我创建一个故障排除清单。只需在评论中添加其他可能的配置错误,我就会将它们添加到文章中。
从这里开始
你跑步了吗npm install?
我知道这很蠢。但当我回到一个共享项目时,我经常忘记做这件事。
你试过把它关掉再重新开机吗?
有时重启 VSCode 会有帮助,我甚至遇到过重启电脑后问题得到解决的情况,虽然这种情况比较少见,而且可能也与 TypeScript 服务器有关。
你安装了 ESLint、插件和预设吗?
查看您的eslintrc配置文件,列出所有插件和预设。然后确保它们以及 ESLint 本身都已添加到您的项目中devDependencies。
你的npm脚本配置好了吗?
lint你的脚本里有吗package.json?
"scripts": {
"lint": "eslint --ext .js --ignore-path .gitignore ."
}
你告诉 ESLint 要检查哪个目录了吗?
我最近遇到一个项目,其中 lint 脚本package.json末尾缺少一个点号,导致 ESLint 无法在配置文件所在的同一目录下开始检查代码。这个问题不容易被发现,因为 ESLint 没有发出任何警告,而是直接静默退出了。
你确定 ESLint 正在检查正确的文件扩展名吗?
如果您使用的是 TypeScript、Vue.js 或其他非标准 JavaScript 文件,请确保使用--ext如下标志告诉 ESLint 您的文件扩展名--ext .js,.ts,.vue。
您还有其他.eslintrc配置文件吗?
由于.eslintrc配置文件会自动继承上一级目录中的配置文件,这可能会导致一些奇怪的问题。请确保您的项目或上一级目录中没有任何您不知道的额外配置文件。有时,我不小心在我的主目录中搭建了一个项目,却忘记删除隐藏的配置文件.eslintrc.js。
查找更多.eslintrc文件时,请记住,它们可能在文件资源管理器中不可见。您可以使用ls -a终端命令显示隐藏文件。
此外,您可以通过在项目根目录中添加以下root选项来阻止 ESLint 搜索更上层的目录树:.eslintrc
{
"root": true
}
请参阅官方文档,了解有关配置级联和层次结构的更多信息。
你的 VSCode 中是否已安装并启用 ESLint 插件?
也许您刚刚安装了新的 VSCode,或者设置同步出了问题。请确保 ESLint 插件已安装并在 VSCode 中启用。
你是否已设置库执行?
ESLint 插件需要权限才能从您的系统执行本地 ESLint 安装node_modules。打开命令面板(Ctrl / Cmd + Shift + P),选择ESLint: Manage Library Execution打开项目对话框,然后单击“接受”进行确认。
你是不是禁用了正在测试的规则?
有时候我们会把项目搞砸。有些项目可能使用标准 JavaScript,有些则使用 Airbnb 预设。有些项目会禁用某些规则。请确保你测试的规则没有被启用。
您在使用 TypeScript 集成时遇到问题了吗?
请确保安装 TypeScript 插件并进行相应配置:https://github.com/typescript-eslint/typescript-eslint
你的设置是否存在混乱?
你可能为测试文件或其他类似文件添加了一些覆盖设置(注意:不是“覆盖”——我以前也犯过这个错误)。请暂时从配置中移除这些覆盖设置,看看是否有所改善。
ESLint插件是否按预期配置?
打开 VSCode 首选项并搜索 ESLint。里面有很多设置,请确保所有设置都符合您的需求。
最重要的是:
- 验证:应包含所有要进行代码检查的语言
- 节点路径
- 运行:保存时运行还是持续运行
另外,请注意,您可能不小心覆盖了工作区甚至工作区中某个项目的这些设置。您可以通过点击搜索栏下方的“工作区”或“文件夹”来访问 VSCode 设置面板中的这些覆盖设置。
什么方法都试过了,还是不行?如何自己找到解决方法?
更新所有与 ESLint 相关的依赖项
也许你遇到了一个 bug,而且它可能已经被修复了?使用npm outdated工具查找项目中过时的依赖项,然后尝试更新 ESLint、插件和预设。如果你全局安装了 ESLint,请确保使用正确的安装方式。
你们的插件和预设还在维护吗?
有些插件或预设可能不会更新。请查看它们的代码仓库和问题跟踪系统。也许有人也遇到了同样的问题?
你看到的这条信息真的是 ESLint 发来的吗?
错误信息也可能源自其他工具,例如 TypeScript 或 Prettier。您可以在 VSCode 中圆括号内的消息末尾查看是哪个工具生成的。
请查看 VSCode 中的输出面板。
按下快捷键打开命令面板Ctrl / Cmd + Shift + P,然后选择“ESLint:显示输出通道”。如果 ESLint 抛出任何错误,它们应该会显示在这里。这通常是进一步调试的良好起点。
尝试从头开始配置 ESLint。
eslint --init删除所有与 ESLint 相关的内容,然后使用帮助您进行所有设置的命令从头开始。
请在评论区分享您的故障排除技巧!
我会把它们添加到文章中,所以如果你发现了什么新内容,记得留言哦 ;)
文章来源:https://dev.to/tillsanders/eslint-not-working-in-vscode-help-build-a-troubleshooting-checklist-fdc