VSCode 中 ESLint flat config(eslint.config.js)不生效,主因是插件未显式启用支持、配置文件未置于项目根目录、或 parser/plugins 未按新格式显式声明;需确保插件≥v2.4.0、设置"eslint.experimental.useFlatConfig": true、eslint.config.js在package.json同级、正确配置files/parser/languageOptions且禁用旧版配置文件。

VSCode 里 ESLint flat config 不生效,大概率是插件版本或配置路径没对
截至 2026 年中,eslint.config.js(Flat Config)虽已成 ESLint 官方推荐格式,但 VSCode 的 dbaeumer.vscode-eslint 插件仍需显式启用支持,且对配置文件位置敏感。它不会自动向上查找父目录的 eslint.config.js,也不会 fallback 到工作区根目录以外的路径。
实操建议:
使用一条命令部署ProbeChain Rydberg测试网代理节点。自动注册为Agent(NodeType=1),免gas,支持macOS/Linux/Windows。触发词:/r
- 确认插件版本 ≥
v2.4.0(旧版直接忽略eslint.config.js) - 在 VSCode
settings.json中强制开启:"eslint.experimental.useFlatConfig": true -
eslint.config.js必须放在项目根目录(即包含package.json的那一层),不能放在子文件夹或 monorepo 的 workspace root 外 - 若用 pnpm/yarn 3+,还需加:
"eslint.packageManager": "pnpm",否则插件找不到本地eslint二进制
TS/JSX/.vue 文件报“Parsing error”,说明 parser 没接入 Flat Config
Flat Config 的 parser 和 plugins 配置方式和旧版不同:不再用 parserOptions.project 直接挂载 tsconfig,也不再靠 extends 自动加载插件规则。一切要显式声明、按文件匹配。
常见错误现象:.ts 文件里类型相关规则(如 @typescript-eslint/no-unused-vars)完全不触发,控制台日志出现 Parsing error: Cannot read property 'parse' of undefined。
实操建议:
- 确保已安装:
npm install -D @typescript-eslint/parser @typescript-eslint/eslint-plugin - 在
eslint.config.js中按文件类型分组配置:files字段必须精确匹配后缀,比如["**/*.ts", "**/*.tsx"] - parser 必须写全路径:
languageOptions.parser: require("@typescript-eslint/parser")(注意不是字符串) - type-aware 规则生效前提:加
languageOptions.parserOptions.project: "./tsconfig.json",且tsconfig.json路径为相对于eslint.config.js的绝对或相对路径
Vue 单文件组件 template 报错,是因为没配 processor 或 plugin
Flat Config 对 .vue 文件的支持依赖 @vue/eslint-plugin 提供的 processor,而不是旧版的 plugins: ["vue"] + extends: ["plugin:vue/vue3-essential"]。漏掉 processor,ESLint 就连 template 标签都解析不了。
实操建议:
- 装插件:
npm install -D @vue/eslint-plugin - 在
eslint.config.js的files匹配项中加入"**/*.vue" - 必须声明
processor: require("@vue/eslint-plugin").processors[".vue"] - rules 要写在对应
files分组下,例如:rules: { "vue/multi-word-component-names": "warn" },不能丢到顶层 - 若同时用 TypeScript,需额外在
languageOptions.parserOptions中设parser: require("@typescript-eslint/parser"),否则 script block 类型检查失效
保存不自动修复、状态栏显示 “Using globally installed ESLint”
这说明 VSCode ESLint 插件根本没加载你项目的 eslint.config.js,而是退到了全局 ESLint —— 这种情况下,flat config 彻底无效,所有规则都不会跑。
排查顺序:
- 右下角点击 ESLint 图标,看提示文字;如果是 “Using globally installed ESLint”,立刻停手,先解决路径问题
- 打开命令面板(
Ctrl+Shift+P),运行ESLint: Show Output Channel,日志里搜Failed to load config或Cannot find module - 检查
package.json是否真有eslint作为devDependencies,并确认npx eslint --version在终端能执行成功 - 禁用所有其他 ESLint 相关扩展(比如旧版
eslint-language-service),只留dbaeumer.vscode-eslint - 切勿同时存在
.eslintrc.*和eslint.config.js—— 插件会直接报错退出,连日志都不打
Flat Config 的落地难点不在规则本身,而在整个加载链路的确定性:从 package manager → 本地 eslint 二进制 → 插件读取路径 → parser 实例化 → 文件匹配分组,任一环断开,就静默失败。没有报错,只有沉默。

















