根本原因是eslint仅支持修复格式类规则(如semi、quotes),而no-unused-vars等语义级规则不可自动修复;需同时开启fix on save和fixable rules only,并确认文件未被忽略、配置有效且插件链路完整。

linter-eslint 的 Fix on save 为什么没反应
根本原因不是 Atom 设置没开,而是 ESLint 本身不支持所有规则自动修复。比如 no-unused-vars 或 no-undef 这类语义级问题,ESLint 不会也不敢删变量或加声明——它只修格式类规则(缩进、引号、分号等)。
实操要点:
- 在
linter-eslint插件设置页,必须同时开启Fix on save和Fixable Rules Only - 检查当前文件是否被
.eslintignore排除,或顶部有/* eslint-disable */注释 - 运行
eslint --fix --dry-run your-file.js看终端是否真能修——如果命令行也不生效,说明规则本身不可修复
Vue 文件里的 JS 代码不校验?
默认情况下,linter-eslint 只处理 .js 和 .jsx 文件,.vue 里的 <script></script> 块被当成 HTML 内容忽略。
解决方法很简单:进入 linter-eslint 设置页,勾选 Lint HTML Files。这个开关实际作用是让插件解析 HTML 类型文件中的内联脚本块。
注意:
一款AI工具,主要用于在主代理响应前,并行运行Kimi K2.5和GPT 5.3 Codex,注入双方观点以增强认知多样性,适合需要提升相关任务效率的用户。
- 不需要额外装
eslint-plugin-vue——只要 ESLint 配置里已启用该插件,校验就会走通 - 如果仍不生效,确认项目根目录有
.eslintrc.js或package.json中的eslintConfig字段,并且包含plugin:vue/recommended这类 preset
保存时校验失败但没提示?
常见现象是改完代码按 Ctrl+S,编辑器毫无反应,既不标红线也不弹错误。这通常不是插件挂了,而是 ESLint 没跑起来。
排查顺序:
- 右下角状态栏看语言标识——如果是
Plain Text,linter-eslint根本不会触发 - 打开 DevTools(Ctrl+Shift+I),切换到 Console 标签页,看是否有
ESLint couldn't find...类报错 - 检查 Atom 是否从终端启动:双击桌面图标启动的 Atom 无法读取 shell 的
NODE_PATH和PATH,导致找不到全局安装的eslint - 临时在项目根目录运行
npx eslint . --ext .js,.vue,验证本地配置是否可用
为什么改了 config.cson 却不生效
Atom 的 linter 插件加载顺序很关键:linter-eslint 依赖 linter 核心包,而后者又依赖 atom-languageclient。如果任意一环没激活,整个链路就断了。
最稳妥的验证方式是:关闭所有 Atom 窗口 → 终端执行 atom --safe(禁用所有插件)→ 逐个启用 linter、linter-ui-default、linter-eslint,每启一个就试一次保存校验。
容易被忽略的点:
-
config.cson里写错缩进(必须空格,不能 Tab)会导致整段配置被跳过 - 多个 ESLint 配置文件共存(
.eslintrc.js+package.json+.eslintrc.yaml)时,ESLint 会按优先级合并,但 Atom 插件有时只读第一个 - 插件更新后可能重置设置,尤其 v9.x 升 v10.x 时,
Fix on save默认被关掉










