必须安装linter(steelbrain作者)、linter-eslint、linter-ui-default三者并按序启用;Vue文件还需勾选Lint HTML Files、安装eslint-plugin-vue/html,并在.eslintrc.js中配置overrides指定processor。

必须先装 linter(作者 steelbrain),再装语言插件(如 linter-eslint),最后装 linter-ui-default;三者缺一不可,顺序错或漏一个,就彻底没波浪线、没提示、命令面板搜不到 Linter: Toggle。
为什么装了 linter-eslint 却完全没反应
不是插件坏了,是 Atom 1.24+ 强制拆分了架构:linter 是底层事件总线和诊断注册中心,linter-eslint 只是它的一个适配器。没装前者,后者连生命周期都进不去。
- 打开 Settings → Install,搜
linter,确认作者是steelbrain,点击 Install - 安装完必须执行
Window: Reload(快捷键Cmd+Alt+R/Ctrl+Alt+R),否则后续插件不加载 - 再单独搜
linter-eslint安装,别选带-atom后缀或作者不明的同名包 - 验证:Settings → Packages →
linter-eslint→ Settings 页面能点开,右下角状态栏显示 “0 problems”(不是空白)
为什么波浪线有了但悬停无提示、点不动
90% 是语法识别或作用域过滤问题,不是 Linter 本身失效。
- 看编辑器右下角:如果是
Plain Text或Auto,说明 grammar 没匹配上,手动点击切换为JavaScript、Python等 - 进
linter设置页,检查是否勾选了Only lint files matching these scopes;若已勾选,删空内容,或明确填入source.js、source.python -
linter-ui-default必须启用:Settings → Install → 搜linter-ui-default(作者也必须是steelbrain),安装后确认右侧开关为蓝色Enabled - 禁用
linter-gutter、linter-ui-plus等第三方 UI 插件,它们会压制默认渲染逻辑
.vue 文件里的 JS 不报错
linter-eslint 默认只处理 .js 和 .jsx,.vue 被当 HTML 解析,<script> 块压根不进 ESLint 流程。
- 勾选
linter-eslint设置页中的Lint HTML Files - 项目里运行:
npm install eslint-plugin-vue eslint-plugin-html --save-dev - 在
.eslintrc.js中加overrides,显式指定处理器:overrides: [{ files: ["*.vue"], processor: "vue/vue", rules: {"no-unused-vars":"off"} }] - 注意:
processor: "vue/vue"依赖eslint-plugin-vue,没装它,ESLint 启动直接崩溃,不是静默失效
最容易被忽略的是:Atom 的 Node 环境可能和终端不一致(尤其 macOS GUI 启动时 PATH 缺失),导致插件找不到本地 eslint 或 pylint;建议从终端执行 atom --new-window . 启动,确保环境变量完整。

















