VSCode保存时自动修复ESLint报错需同时启用ESLint插件、配置.eslintrc.文件、开启editor.codeActionsOnSave中的"source.fixAll.eslint",且eslint.enable必须为true;Vue文件需eslint-plugin-vue、正确parser及files包含.vue;排查需查输出通道、项目根目录、本地eslint版本及JSON引号格式。

VSCode保存时自动修复ESLint报错的关键配置项
必须同时满足三个条件:ESLint插件启用、项目有可用的.eslintrc.*配置、VSCode设置中开启保存时修复。缺一不可,很多人卡在第三步——默认不开启,且eslint.enable被设为false时完全静默,连报错都不显示。
-
eslint.enable必须设为true(工作区或用户设置里) -
editor.codeActionsOnSave中要包含"source.fixAll.eslint" - 确保项目根目录下存在 ESLint 配置文件(如
.eslintrc.js),否则 VSCode 会跳过修复
Vue单文件组件(.vue)里ESLint不生效的常见原因
Vue 文件默认不被 ESLint 直接处理,需靠 eslint-plugin-vue 和正确解析器配合。如果保存后 <script> 里的 JS 没修复,大概率是解析器没对上。
- 确认已安装
eslint-plugin-vue,且版本与 Vue 版本兼容(Vue 3 用 v9+,Vue 2 用 v8) -
parserOptions.parser必须显式指定为"@babel/eslint-parser"或"typescript-eslint/parser",不能留空 -
files或overrides需包含"*.vue",否则规则不应用到 .vue 文件
“保存时修复”失败但控制台无提示的排查路径
VSCode 不报错不等于没出问题,它可能悄悄跳过了修复。打开命令面板(Ctrl+Shift+P),运行 ESLint: Show Output Channel,看输出里有没有 Failed to load config 或 No ESLint configuration found 这类信息。
- 检查终端里运行
npx eslint --ext .js,.vue src/是否能正常执行,排除项目级配置问题 - 确认 VSCode 打开的是项目根目录(不是父文件夹),否则找不到
node_modules/eslint - 如果用了 pnpm/yarn,确保
eslint在devDependencies里,且 VSCode 能读取到本地版本(禁用全局 ESLint)
Vue 3 + TypeScript 项目里容易被忽略的配置细节
这种组合下,@typescript-eslint/parser 和 eslint-plugin-vue 的规则交集容易冲突,比如 vue/multi-word-component-names 在 script setup 里误报,或者类型相关修复被跳过。
立即学习“前端免费学习笔记(深入)”;
-
parserOptions.parser必须是"@typescript-eslint/parser",不能写成"@typescript-eslint/eslint-parser"(后者已废弃) - 在
overrides中为"*.ts"和"*.vue"分别配 parser,避免 Vue 文件走错解析器 -
source.fixAll.eslint默认不修typescript类型错误,只修 ESLint 规则;想修类型提示需额外配typescript.preferences.includePackageJsonAutoImports等,但和 ESLint 无关
最常漏掉的是:VSCode 设置里把 editor.codeActionsOnSave 写成对象但没加引号,比如写成 source.fixAll.eslint 而不是 "source.fixAll.eslint",JSON 格式直接失效,还不报错。


















