必须先装linter核心框架(作者steelbrain),再装linter-eslint等语言provider,最后装linter-ui-default;缺任一层均导致静默失效、无波浪线、不标红、命令面板搜不到linter: toggle。

为什么只装 linter-eslint 没反应?
不是插件坏了,是 Atom 1.24+ 强制要求先装核心框架 linter(作者 steelbrain),再装语言 provider。只装 linter-eslint 会静默失败——界面没报错、不标红、保存也不提示,但错误根本没被触发。
- 必须按顺序安装:
apm install linter→apm install linter-eslint - 别搜到名字像的就点安装,比如
linter-eslint-plus或作者非 steelbrain 的同名包,容易和linter核心不兼容 - 装完执行
Window: Reload(快捷键Ctrl+Alt+R/Cmd+Alt+R),不能只关窗口再开
linter-ui-default 没装或没启用,错误就不显示
linter 只负责调用检查逻辑,linter-eslint 只负责跑 ESLint,真正把错误画在行号旁、弹出悬浮提示、塞进底部状态栏的,是另一个独立插件:linter-ui-default。它不自带,必须手动装。
- 命令行装:
apm install linter-ui-default - 装完去
Atom → Preferences → Packages搜linter-ui-default,确认右侧开关是“Enabled”状态 - 如果启用了但还是没提示,检查是否装了冲突 UI 插件(如
linter-gutter、linter-ui-plus),它们会压制linter-ui-default - 极简主题可能隐藏 gutter 图标,临时切回
one-dark-ui排查
ESLint 路径、环境、版本三者对不上,就会“检测到错误但不标红”
linter-eslint 默认找项目根目录下的 node_modules/.bin/eslint,不会 fallback 到全局,也不会报错,只会安静跳过整文件。
- 确认项目里真有
eslint:ls node_modules/.bin/eslint或运行npx eslint --version - 在
linter-eslint设置页填对 ESLint Path:填绝对路径(如/path/to/project/node_modules/.bin/eslint),别填eslint命令名 - Mac 用户常见问题:Atom GUI 启动时 PATH 和终端不一致,改用终端执行
atom --new-window .启动,继承 shell 环境 - ESLint ≥ v8.0 时,
linter-eslint必须 ≥ v9.0.0,否则解析失败、静默跳过——查版本:apm list | grep linter-eslint
修复不生效?不是插件问题,是 ESLint 规则本身不可自动修复
Fix on save 功能完全依赖 ESLint 自身的 --fix 能力。很多规则(比如 no-unused-vars、no-undef)根本不能自动修,插件开了也没用。
- 只对
semi、indent、quotes这类格式类规则有效;逻辑类错误必须人工处理 - 设置里勾选
Fix on save+Fixable Rules Only,否则可能因某条不可修复规则导致整个 fix 失败 - 检查当前文件是否被
.eslintignore忽略,或开头写了/* eslint-disable */ - 若同时装了
prettier-atom,建议关掉linter-eslint的 auto-fix,让 Prettier 统一做格式,ESLint 专注报错
Atom 的 linter 生态本质是三块拼图:linter(调度)、linter-eslint(执行)、linter-ui-default(渲染)。少一块,就只剩后台日志里一行看不见的 diagnostic 对象。最容易漏的是 UI 层,其次是 Node 环境错位——尤其 Mac 用户从 Dock 启动 Atom 时,PATH 经常比终端少一半。











