atom-beautify保存时未自动格式化,主因是右下角grammar未识别为对应语言(如JavaScript)、其他格式化插件(如prettier-atom)抢占执行权、配置文件路径/命名/语法错误、非前端语言未启用对应设置,或文件内容无变更。

保存时自动格式化不会触发,大概率是语言 grammar 未识别或插件冲突,不是配置没点勾。
为什么 beautify_on_save 勾了却没反应
Atom 不靠文件扩展名判断是否启用格式化,而是依赖右下角显示的 grammar(比如“JavaScript”“HTML”)。如果显示的是 Plain text 或 Auto,atom-beautify 根本不会运行。
- 打开一个
.js文件,看右下角状态栏:必须显示JavaScript,不是Plain text - 若显示错误,右键编辑区 →
Grammar→ 手动选对语言(如JavaScript) - 常见诱因:文件开头无
"use strict";、内容为空、或含非法 BOM 字符 - 临时验证法:按
Ctrl+Shift+P输入Atom Beautify: Beautify Editor,能执行说明插件本身正常,问题出在 save 触发条件上
多个格式化插件共存时谁抢到执行权
Atom 的格式化流程是串行委托的:prettier-atom、atom-beautify、php-cs-fixer 等都注册了 core:save 钩子,但只有第一个响应的会真正执行——其余被跳过。
使用ydata-profiling(前身为pandas-profiling)生成全面的数据质量报告,包含相关性分析、缺失值模式和基数检测。导出交互式HTML仪表板和JSON摘要。
- 禁用所有其他格式化插件,只留
atom-beautify,测试是否恢复 - 重点排查
prettier-atom:它默认优先级更高,且一旦启用Format on Save就会拦截所有匹配后缀的保存操作 - 检查
Settings → Packages → prettier-atom → File Extensions是否包含你正在编辑的后缀(如js),哪怕只多写一个点(.js)也会失效 - 不建议“同时开两个”,容易出现缩进混乱、分号增删反复等肉眼可见的抖动
.jsbeautifyrc 里改了参数,但保存时没生效
配置文件加载有明确优先级:项目根目录/.jsbeautifyrc > ~/.jsbeautifyrc > Atom 设置界面。但前提是文件 grammar 正确,且插件没被绕过。
- 确认文件在项目最外层目录(不是子文件夹),且文件名完全小写、无拼写错误(
.jsbeautifyrc,不是.jsbeautify.json) - 配置中不要写注释(JSON 不支持),也不要多加逗号(结尾逗号会解析失败)
- 修改后必须重启 Atom 或关闭再重开该文件,
atom-beautify不监听配置文件热更新 - 某些选项(如
indent_with_tabs)只对当前 grammar 生效;若 grammar 是CSS,js下的设置就完全不读
PHP/Python 等非前端语言保存不格式化
atom-beautify 对 PHP、Python 默认不开启 beautify_on_save,且部分语言需额外依赖外部工具(如 php-cs-fixer),不能只靠插件内置逻辑。
- 进入
Packages → atom-beautify → Settings,向下滚动找到PHP或Python区块,手动勾选Beautify On Save - PHP 必须已安装
php-cs-fixer并在插件设置中填入正确路径(如/usr/local/bin/php-cs-fixer),否则勾了也白勾 - Python 支持
autopep8和yapf,需提前pip install autopep8,再在插件设置里指定路径 - 注意:Atom 启动时读取的是 GUI 环境下的 PATH,终端能运行 ≠ Atom 能调用——Mac 用户尤其要填绝对路径
最常被忽略的一点:Atom 的 Save 事件只在文件内容实际变更后触发。如果代码原本就符合当前格式规则(比如缩进、空行数刚好匹配 .jsbeautifyrc),保存时不会做任何改动——这不是 bug,是设计行为。

















