Sublime Text 本身不带代码美化功能,必须安装对应插件并正确配置:JavaScript/TS用JsPrettier(需Node.js和Prettier),Python用Black插件(需pip install black),HTML/CSS用HTML-CSS-JS Prettify;插件安装后须重启、确认语法识别正确、检查快捷键是否冲突,否则命令不可用。

Sublime Text 本身不提供任何格式化或对齐功能,所有“一键美化”效果都依赖插件,且必须手动配置才能生效。没装对插件、没配对命令、没选对语法,按烂快捷键也没用。
怎么装对插件:JS/Python/HTML 各用什么
别统一搜“格式化插件”——不同语言生态不同,硬套会失败:
- JavaScript/TypeScript:装
JsPrettier(不是prettierCLI 本身),它封装了 Prettier,能读.prettierrc,还支持auto_save配置 - Python:装
Black插件,但前提是系统已安装black命令(pip install black),插件只是调用器 - HTML/CSS/内联 JS:用
HTML-CSS-JS Prettify,但它对混合代码(比如<script>const a = `html ${b}`</script>)容易误解析,建议拆文件再格式化 - Sublime Text 4 用户注意:
Alignment插件已停止维护,ST4 的 API 变更导致它静默失效(控制台无报错,但右键菜单和 Package Settings 里根本不出现在列表中);改用AlignTab,它支持正则、兼容 ST4、可自定义分隔符
为什么 Ctrl+Alt+F 没反应:三步排查法
常见现象是快捷键按下后毫无反应,大概率卡在这三处:
- 没重启 Sublime:插件安装后必须重启,否则
Ctrl+Shift+P里搜不到js_prettier或black命令 - 语法识别错误:右下角显示的是
Plain Text而不是JavaScript或Python,插件直接跳过;手动点击右下角切换语法,或保存为.js/.py后缀 - 快捷键被覆盖:打开
Preferences → Key Bindings,检查右侧用户配置是否已有冲突条目(比如Emmet或SideBarEnhancements占了ctrl+alt+f);若冲突,删掉旧的,或换一个组合如ctrl+shift+f
对齐等号/冒号:Alignment 和 AlignTab 怎么选
想让 a = 1、long_name = 2 垂直对齐等号,关键不在“怎么按”,而在“怎么配”:
-
Alignment(仅限 ST3):进Preferences → Package Settings → Alignment → Settings – User,填入:{ "alignment_chars": ["=", ":", "->", "=>"] }注意=必须显式写进去,默认不包含它 -
AlignTab(ST4 推荐):同样进 Key Bindings 用户配置,加一条:[{"keys": ["ctrl+alt+a"], "command": "align_tab", "args": {"user_input": "="}}]这里user_input是正则,写"="就只匹配等号,写"=|:"就同时匹配等号和冒号 - 无论哪个插件,都要求:① 必须先选中多行;② 行首缩进要一致(混用空格和 Tab 会导致列计算错位);③ 行尾换行符统一(
File → Convert Line Endings → Unix)
格式化后 Git diff 爆炸?这是格式污染,不是 bug
你手动对齐完,一保存,代码又变回原样,或者 Git 提交里全是空格变更——这不是插件出问题,是你开了“自动格式化”:
- 检查
Preferences → Package Settings → JsPrettier → Settings – User里有没有"auto_save": true或"format_on_save": true - 同理,
Black插件也有format_on_save选项;HTML-CSS-JS Prettify的设置里也有类似开关 - 对齐是视觉优化,格式化是结构重排,二者目的不同。如果项目用 Prettier/Black 做 CI 校验,就别手动对齐;如果只是临时看变量表,关掉自动保存,用完即弃
最常被忽略的一点:对齐和格式化永远不能共存于同一段代码。你按 ctrl+alt+a 对齐完,再按 ctrl+alt+f 格式化,前一步操作就白做了——因为格式化插件根本不认你加的那些空格,它按自己规则重排。要么全用插件格式化,要么全用手动对齐,别混着来。

















