atom beautify 默认不工作,必须同时满足五条件:语言识别正确(右下角显示明确grammar,非plain text)、cli工具通过apm安装、对应语言beautify_on_save单独开启、文件编码为utf-8、grammar类型与文件内容匹配;缺一不可。

Atom Beautify 不是装完就能用的“格式化开关”,它默认完全不干活——五个硬性条件缺一不可:语言识别正确、CLI 工具通过 apm 安装、对应语言的 beautify_on_save 单独开启、文件编码为 UTF-8、右下角 grammar 显示明确类型(不能是 Plain text)。
右下角显示 Plain text 或 Source,快捷键和右键菜单全失效
Atom 不看文件后缀,只认右下角显示的 grammar。显示 Plain text、Source 或 Auto 时,atom-beautify 直接跳过,不报错也不响应。
- 点击右下角文字 → 手动选成
JavaScript、CSS、HTML、Vue Component等具体类型 -
.vue文件常被识别为text.html.basic,导致<script></script>块不触发 JS 格式化,必须切到Vue Component -
.jsx、Dockerfile、.env等无标准后缀文件,需进Config → Core → File Types手动加映射,例如:"Dockerfile": ["source.dockerfile"] - 切换 grammar 后,需对文件做微小改动(如加空格再删掉)再保存,才能触发格式化逻辑
beautifier not found 报错,npm install -g 白装
atom-beautify 是调度器,不是格式化引擎。它运行时动态 require('js-beautify') 或 require('prettier'),但 Atom 的 Node.js 环境和你终端里的不是同一个,npm install -g js-beautify 基本无效。
- 统一用
apm install js-beautify(不是npm)——apm会把模块链入 Atom 运行环境 - 已装过仍报错?执行
apm rebuild,尤其在 Atom 升级或系统重装后 - Windows 用户若遇 PowerShell 执行策略拦截,临时运行:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser - C/C++、Python 等语言需额外装 CLI 工具:
uncrustify(C/C++)、autopep8或black(Python),并确保其可执行文件在系统PATH中
beautify_on_save 开了却没反应,不是全局开关
这个开关是按语言隔离的设置,不存在“一键全开”。JavaScript 开了,CSS 没勾,保存 .css 文件就完全静默。
- 路径:
Packages → atom-beautify → Settings→ 向下滚动找到具体语言区块(如JavaScript、CSS、HTML)→ 每个区块里单独勾选Beautify On Save - 默认开启
Ignore VCS Ignored Paths:如果文件在.gitignore里,保存时直接跳过格式化 -
HTML默认会把短标签(如<div></div>)强行换行,想禁掉得改config.cson:atom-beautify: { html: { wrapLineLength: 0 } }
和 prettier-atom 共存时格式反复跳动、光标错位
prettier-atom 和 linter-eslint 都监听 core:save 钩子,一旦共存且后者开了 Fix on save,就会出现格式反复跳动、光标错位甚至保存后内容回退。
- 必须进
linter-eslint设置 → 关掉Fix errors on save -
prettier-atom不读.eslintrc,要加eslint-config-prettier并开启插件内的 ESLint Integration - 两者不要同时启用——都监听
Save事件,会重复格式化甚至相互覆盖 -
prettier-atom默认不处理.vue或.svelte文件,需手动在设置里加 language ID:vue、svelte
最常被忽略的是 grammar 切换后未触发缓存刷新,以及 CLI 工具用 npm 装却指望 apm 找得到——这两个点卡住的人最多。











