在 VS Code 中,保持代码整洁离不开合适的格式化工具。主流方案主要有三款,特性对比如下:
| 工具名称 | 核心特点 | 风格理念 | 推荐适用场景 |
|---|---|---|---|
| Black | 开箱即用,几乎无需配置;强制统一的代码风格,可预测性强。 | '无妥协'的格式化器。它决定格式,讨论空间小,保证所有代码风格一致。 | 团队协作项目;希望零配置快速上手的开发者;追求极简和一致性。 |
| autopep8 | 基于 PEP 8 规范,主要修复代码风格问题(如缩进、空格)。 | 相对保守,专注于修复而非重新排版。 | 希望代码严格遵循 PEP 8;对现有代码进行温和的格式化修复。 |
| yapf | 高度可定制,可以模仿多种代码风格;格式化策略更'激进',会重新排版代码。 | '自成风格'。目标是通过调整代码来达到最佳可读性,而非严格遵循某一规范。 | 需要高度自定义格式化规则;项目有特殊的代码风格要求。 |
安装与配置
以使用最广泛的 Black 为例,其他工具流程类似。
- 安装扩展:在 VS Code 扩展商店搜索并安装 'Black Formatter'。官方 Python 扩展(ms-python.python)也内置了对这些格式化器的支持。
- 环境准备:确保 Python 环境中已安装该工具。
pip install black
- 启用自动格式化:打开设置 (
Ctrl+,),搜索 'format on save',勾选Editor: Format On Save。这样每次保存文件时都会自动处理。 - 指定默认格式化工具:在设置中搜索 'default formatter',为 Python 语言选择
ms-python.black-formatter。
进阶技巧
- 手动触发:随时使用快捷键
Shift + Alt + F(Windows)或Shift + Option + F(Mac)格式化当前文档。 - 自定义行宽:Black 默认 88 字符,可在设置中调整。
{
"python.formatting.blackArgs": ["--line-length", "100"]
}
- 避免冲突:若同时安装多个格式化工具或 Linter(如 flake8),可能产生规则冲突。确定使用 Black 后,建议在设置中禁用其他格式化器。

