sublime text 本身不带格式化功能,所有代码美化必须依赖插件(如jsprettier、black、autopep8)并配套安装对应cli工具(prettier、black、autopep8),且需手动配置快捷键、语法识别、绝对路径及项目级配置文件(如.prettierrc、pyproject.toml)。

Sublime Text 本身不带格式化功能,装插件是唯一路径
别在菜单里翻“Format”了——Sublime Text 原生没这选项。Ctrl+Shift+P 搜 Format Code 也必然空结果。所有格式化能力都来自插件,且必须搭配对应语言的 CLI 工具(比如 prettier、black、autopep8)才能真正跑起来。装完插件但没装底层工具,等于买了遥控器没装电池。
JsPrettier 是 JS/TS/CSS/HTML 的首选,但依赖 Node 环境
它不是独立格式化器,而是调用本地 prettier CLI 的桥梁。装之前必须确认:
-
node --version和prettier --version都能正常输出 —— Windows 用户尤其注意prettier.cmd路径含空格时会失败,建议重装到C:\npm\这类无空格路径 - 插件配置里
prettier_cli_path最好写死绝对路径,别依赖 PATH;macOS/Linux 可用which prettier查,Windows 推荐填C:\Users\XXX\AppData\Roaming\npm\prettier.cmd - 项目根目录有
.prettierrc时 JsPrettier 会自动读取,但不会 fallback 到.editorconfig,规则冲突时以 CLI 输出为准
Python 格式化别混用 autopep8 和 black
两者行为逻辑完全不同,共存会互相打架:
-
autopep8保守修 PEP 8,适合老项目过渡;装插件AutoPEP8后,在设置里开"auto_format_on_save": true -
black强制重写结构,不接受缩进/引号等个性化配置;用Black Formatter插件,且需显式指定"black_args": ["--config", "pyproject.toml"]才能读取项目级配置 - 千万别在同一项目同时启用两个插件的保存自动格式化,否则一次保存触发两次格式化,大概率报
reindent failed或生成非法缩进
快捷键和自动保存要手动配,且容易被覆盖
默认几乎都不绑定快捷键。常见踩坑点:
- JsPrettier 默认快捷键是
Ctrl+Alt+Shift+J,但右下角语法没设成 JavaScript 就不响应 —— 点状态栏选 “JavaScript”,不是 “Plain text” - 想统一用
Ctrl+Alt+L?在Preferences > Key Bindings用户文件里加:{"keys": ["ctrl+alt+l"], "command": "js_prettier"},但得先确认没被SideBarEnhancements等插件占用 -
"auto_format_on_save": true很方便,但对bundle.js这类大文件会卡住编辑器;建议限定范围:"format_on_save_extensions": ["js", "ts", "jsx", "tsx", "css", "scss", "py"]
.prettierrc 或 pyproject.toml。光靠 Sublime 配置一致,CI 里 prettier --check 还是过不了,说明规则没对齐。











