Sublime Text 需依赖外部 CLI 工具实现代码格式化:JS/TS 用 JsPrettier(需全局安装 prettier),Python 用 Black,HTML/CSS/JSON 用 SublimeHTMLPrettify(需全局安装 js-beautify);reindent 命令仅处理缩进,不替代完整美化。

Sublime Text 本身不带代码美化(格式化)功能,CodeFormatter 插件早已停止维护、不兼容 Sublime Text 4,且在 ST3 后期版本中大概率无法安装或直接报错——别白费时间折腾它了。
为什么 CodeFormatter 现在基本不能用
该插件依赖已废弃的 php-cs-fixer v1 或旧版 js-beautify,而现代 PHP/JS 工具链已全面升级。ST4 移除了对 Python 2 和旧 API 的支持,CodeFormatter 的源码未更新,安装后常出现以下现象:
-
ImportError: No module named 'urllib2'(Python 2 专属模块) - 右键菜单无“CodeFormatter”选项,或点击后无响应
- 配置文件
CodeFormatter.sublime-settings保存后不生效
真正可用的替代方案:用 JsPrettier + sublimerl + Black
按语言选对应工具,比强求一个插件“通吃”更稳定:
-
JavaScript/TypeScript:装
JsPrettier,它调用本地prettierCLI(需提前npm install -g prettier) -
Python:装
Black插件(如SublimeBlack),或直接配置build system调用black命令 -
HTML/CSS/JSON:
SublimeHTMLPrettify(基于js-beautify,需全局安装npm install -g js-beautify)
所有插件均在 Package Control 中可搜到,安装后重启 Sublime 即可使用 Ctrl+Shift+H(HTML)、Ctrl+Alt+F(JS)等默认快捷键触发格式化。
手动配置快捷键实现“一键对齐”
Sublime 默认没有“整文件对齐”命令,但可通过绑定 reindent 命令实现基础缩进对齐(不涉及空格/换行/括号风格):
[
{
"keys": ["ctrl+alt+i"],
"command": "reindent",
"args": {"single_line": false}
}
]
注意:reindent 只处理缩进,不会改写代码逻辑或调整运算符间距;如需完整美化(如 if (a==b) { → if (a === b) {),必须依赖外部格式化器(Prettier/Black 等)。
真正卡住人的从来不是“怎么装插件”,而是没意识到:Sublime 的格式化能力完全取决于你本地有没有装对应的 CLI 工具、路径是否被正确识别、以及插件有没有权限调用它。检查 ~/.config/sublime-text-3/Packages/User/JsPrettier.sublime-settings 里的 "prettier_cli_path" 是否指向真实路径,比反复重装插件有用得多。









