装完 atom-beautify 插件不能直接使用,必须同时满足三条件:正确设置 grammar、安装对应 CLI 工具并加入 PATH、在语言设置中开启 beautify_on_save 开关。
装完 atom-beautify 插件 ≠ 能用。它默认不工作,必须手动配 grammar、装 CLI 工具、开语言开关,三者缺一不可。
Atom 不靠文件后缀判断语言,而靠编辑器右下角显示的 grammar(比如 “Plain text” 或 “Source”)。只要显示不是明确语言类型(如 JavaScript、HTML、CSS),atom-beautify 就直接跳过——快捷键、右键菜单全无效。
Dockerfile、.env),需进 Config → Core → File Types 加映射,例如:"Dockerfile": ["source.dockerfile"]
.vue、.jsx 等非标后缀,默认不启用支持,必须去 Packages → atom-beautify → Settings → Languages 手动勾选Null Grammar,说明 Atom 完全没识别该文件,此时连语法高亮都没有,atom-beautify 必然静默atom-beautify 本身不格式化代码,它只是调度器:JS 调 js-beautify 或 prettier,Python 调 autopep8 或 black,C/C++ 必须用 uncrustify。报这个错,就是命令行里根本找不到对应可执行程序。
npm install -g js-beautify prettier,确保终端能直接执行 js-beautify --version
pip install --user autopep8 black,注意加 --user 避免权限问题uncrustify 可执行文件(Windows 是 uncrustify.exe),解压后把所在目录加进系统 PATH
这个功能不是全局开关,而是每个语言独立控制。开了 JavaScript 的 beautify_on_save,但没开 HTML,那 .html 文件保存时照样不格式化。
Packages → atom-beautify → Settings,往下滚动找到具体语言区块(如 JavaScript、CSS、HTML)beautify_on_save 复选框,必须一个个手动勾上beautify_on_save,也得在对应语言设置里填 Config Path 指向 uncrustify 可执行文件路径,否则仍静默失效UTF-8,否则可能触发乱码或中断JS 默认走 js-beautify,但如果你全局装了 prettier 并勾了 Use Prettier when available,它就会自动切过去——而两者默认缩进、引号、括号风格不同,容易导致“越格式化越乱”。
prettier,除了勾选项,还得在项目根目录放 .prettierrc,否则它用自身默认规则,跟团队 eslint 配置打架js-beautify 默认会把短标签(如 <div></div>)强行换行,想禁掉得改 config.cson:atom-beautify: { html: { wrapLineLength: 0 } }
Ctrl+Alt+B 常被其他插件劫持(如 emeraldwalk:run-in-terminal),可在 Keymap 设置页搜 beautify 确认绑定是否还在最常被忽略的点:grammar 识别、CLI 工具 PATH、语言级 beautify_on_save 开关,这三项必须同时满足,atom-beautify 才真正进入工作状态。少一个,它就安静得像没装过。