写 Python 时,代码风格统一是个老生常谈的问题。VS Code 生态里有不少好用的工具能帮上忙。主流工具对比如下:
| 工具名称 | 核心特点 | 风格理念 | 推荐适用场景 |
|---|---|---|---|
| Black | 开箱即用,几乎无需配置;强制统一的代码风格,可预测性强。 | '无妥协'的格式化器。它决定格式,讨论空间小,保证所有代码风格一致。 | 团队协作项目;希望零配置快速上手的开发者;追求极简和一致性。 |
| autopep8 | 基于 PEP 8 规范,主要修复代码风格问题(如缩进、空格)。 | 相对保守,专注于修复而非重新排版。 | 希望代码严格遵循 PEP 8;对现有代码进行温和的格式化修复。 |
| yapf | 高度可定制,可以模仿多种代码风格;格式化策略更'激进',会重新排版代码。 | '自成风格'。目标是通过调整代码来达到最佳可读性,而非严格遵循某一规范。 | 需要高度自定义格式化规则;项目有特殊的代码风格要求。 |
上手配置
Black 因为配置极简且普及度高,通常作为首选。先在扩展商店搜索并安装 'Black Formatter' 插件。官方 Python 扩展(ms-python.python)也内置了对这些格式化器的支持。
打开 VS Code 的设置(Ctrl+,),搜索 'format on save',勾选 Editor: Format On Save 选项。这样每次保存文件时都会自动格式化。接着在设置中搜索 'default formatter',为 Python 语言设置默认格式化器,在下拉列表中选择 ms-python.black-formatter。
确保你已经在 Python 环境中通过 pip 安装了该工具:
pip install black
配置完成后,编辑或保存 Python 文件时,VS Code 就会自动调用 Black 来整理代码了。
使用技巧
除了自动保存格式化,随时可以使用快捷键 Shift + Alt + F(Windows)或 Shift + Option + F(Mac)手动触发当前文档格式化。
Black 默认行宽是 88 字符,但可以根据项目需求调整。比如在 VS Code 设置中添加如下配置,将行宽改为 100:
"python.formatting.blackArgs":["--line-length","100"]
如果同时安装了多个格式化工具或 Linter(如 flake8),可能会产生规则冲突。确定使用 Black 后,可以在设置中禁用其他格式化器:
"python.formatting.autopep8Enabled":false,"python.formatting.yapfEnabled":

