Sublime Text 可通过 SublimeBlack 插件实现保存时自动格式化 Python 代码;安装后启用 format_on_save 并确保 black 命令可达,即可按 pyproject.toml 配置自动格式化。

Sublime Text 本身不内置 Black 支持,但通过插件 SublimeBlack 或通用方案 SublimeLinter + black(仅检查)+ AutoSetSyntax 等组合可实现保存时自动格式化。最稳定、轻量、专为 Black 设计的方案是使用 SublimeBlack 插件,并配合 Sublime 的 build system 或保存钩子(via on_post_save_async)。以下是实测有效的配置步骤:
安装 SublimeBlack 插件
推荐用 Package Control 安装(快捷键 Ctrl+Shift+P / Cmd+Shift+P → 输入 Package Control: Install Package → 搜索并安装 SublimeBlack)。
安装后无需额外配置即可识别项目根目录下的 pyproject.toml 或 black.toml 中的 Black 设置(如 line-length = 88)。
启用保存时自动格式化
SublimeBlack 默认不自动触发,需手动设置保存钩子。打开菜单:Preferences → Package Settings → SublimeBlack → Settings – User
在右侧用户设置中填入:
立即学习“Python免费学习笔记(深入)”;
{
"format_on_save": true,
"format_on_save_timeout_ms": 1000,
"black_command": ["black"] // 如果 black 不在 PATH,写绝对路径如 "/usr/local/bin/black"
}
保存该文件,重启 Sublime(或等待插件重载)即可生效。
验证与常见问题处理
- 确保系统已安装 Black:
pip install black(推荐用pipx install black避免环境冲突) - 如果保存无反应,打开 Sublime 控制台(
Ctrl+`),查看是否有类似SublimeBlack: black not found的报错 —— 此时需修正black_command路径 - 只对
.py文件生效;如需扩展,可在设置中加"extensions": ["py", "pyi"] - 若项目有
pyproject.toml,Black 会自动读取其中的[tool.black]配置,无需在 Sublime 中重复设置
可选:禁用特定文件/目录的自动格式化
在 SublimeBlack 的用户设置中添加:
"skip_patterns": [
"migrations/",
"venv/",
"__pycache__/",
".*\\.min\\.py$"
]
支持 glob 和正则(以 ^ 或 $ 开头结尾的视为正则)。
基本上就这些。配置一次,之后所有 Python 文件保存即格式化,和 VS Code + Black 几乎一致的体验。










