先确认eslint.enable已启用且工作区为文件夹而非单文件;再检查本地eslint是否安装、配置文件是否在根目录并命名正确(优先.eslintrc.cjs);最后验证右下角eslint图标提示为“using locally installed eslint”。

VSCode 里 ESLint 插件根本没启动?先确认 eslint.enable 和工作区上下文
插件装了但编辑器里零提示,大概率是它压根没跑起来。VSCode 默认不自动启用 ESLint,必须手动打开开关。
打开设置(Ctrl+, 或 Cmd+,),搜 eslint.enable,确保勾选;再检查你当前打开的文件是否属于一个「被识别为工作区」的目录——比如你在 src/utils/index.js 里编辑,但 VSCode 是通过 File > Open File 单独打开这个文件的,那它就找不到项目根目录下的 package.json 或 .eslintrc.cjs,直接静默退出。
- 务必用
File > Open Folder打开整个项目根目录 - 如果用了多根工作区(workspace),检查
.code-workspace文件里是否包含该子项目路径 -
.vscode/settings.json中若写了"eslint.enable": false,会覆盖用户级设置
本地 eslint 包没装或路径不对,VSCode 就只能“假装在检查”
VSCode 的 ESLint 插件(dbaeumer.vscode-eslint)只调用你项目 node_modules/.bin/eslint,不是全局安装的版本。命令行能跑 npx eslint --version,不代表 VSCode 能用上。
执行以下检查:
- 运行
npm ls eslint(或yarn list eslint),确认输出里有具体版本号,且不是empty或MISSING - 检查项目根目录是否存在
package.json,且已执行过npm install(或对应包管理器命令) - 右下角状态栏点 ESLint 图标,看提示是
Using locally installed ESLint还是Using globally installed ESLint—— 后者说明配置失败 - 若用 pnpm,需在设置中显式设
"eslint.packageManager": "pnpm"
.eslintrc.cjs 与 eslint.config.js 别混用,VSCode 当前对 flat config 支持不稳定
ESLint v8.22+ 推出新格式 eslint.config.js(导出数组),但截至 2026 年中,VSCode 插件(尤其是 v2.3.x 及更早)在 monorepo 或多配置场景下容易漏读、报 Failed to load config。
实操建议:
- 优先使用
.eslintrc.cjs(CommonJS 格式),写法为module.exports = { rules: { ... } },不要用export default - 避免同时存在
.eslintrc.cjs和eslint.config.js,否则插件可能随机选一个甚至都跳过 - 若必须用
eslint.config.js,确保插件版本 ≥v2.4.0,并在settings.json中加:"eslint.options": {"configFile": "./eslint.config.js"} - 配置文件必须放在项目根目录,或能被 VSCode 工作区向上查找到的位置
JSX/TSX/Vue 文件不校验?八成是 parser 没配或配错
ESLint 默认 parser 只认纯 JS,遇到 const a = <div></div> 或 interface Foo {} 直接解析失败,连规则都不跑,也不会报错,只是“没反应”。
常见场景和修复点:
- TypeScript 项目:装
@typescript-eslint/parser和@typescript-eslint/eslint-plugin,.eslintrc.cjs中写parser: '@typescript-eslint/parser',别写成相对路径如'./node_modules/@typescript-eslint/parser' - React/JSX:确保
parserOptions含{"ecmaFeatures": {"jsx": true}},并启用react插件(如eslint-plugin-react) - Vue 单文件组件:
eslint.validate必须包含"vue"(旧版写法),或新版用eslint.options+languageOptions显式声明files: ["**/*.vue"] - 状态栏 ESLint 图标显示 “No configuration found” 时,打开命令面板运行
ESLint: Show Output Channel,看日志里有没有Cannot find module '@typescript-eslint/parser'类提示
真正卡住人的地方往往不是规则怎么写,而是 VSCode 根本没把你的配置文件加载进去——它连第一行 module.exports 都没读到。每次改完配置,记得重启窗口或至少执行一次 Developer: Reload Window,别只靠 Ctrl+S 等待生效。











