用途:ruff format 是 ruff 提供的 Python 代码格式化器,用 Rust 编写,定位为 Black 的替代品,官方称兼容度约 99.9%,速度比 Black 快 10-30 倍。适合格式化 Python 文件、统一代码风格、在 CI 中检查格式合规,以及从 Black 迁移。
主要能力:支持格式化当前目录、指定文件或目录;提供 --check 检查格式(未格式化时退出码为 1)、--diff 预览改动而不修改文件;支持 --exclude 排除目录、--line-length 覆盖行宽;自动遵循 .gitignore。可通过 pyproject.toml 的 [tool.ruff] 与 [tool.ruff.format] 或独立的 ruff.toml 配置,选项包括 line-length、target-version、quote-style、indent-style、skip-magic-trailing-comma、line-ending、docstring-code-format、exclude 等。
使用方式:常用命令为 ruff format、ruff format path/to/dir、ruff format --check、ruff format --diff、ruff format --check --diff、ruff format --exclude tests/、ruff format --line-length 100。格式化改动文件可用 git diff --name-only --diff-filter=d | grep '.py$' | xargs ruff format。推荐流程为先 --diff 预览,再 --check 校验,然后应用,最后再次 --check 确认。
适用场景:本地格式化、保存时自动格式化、CI 格式校验、从 Black 迁移。
限制:本技能不负责代码问题检查(应使用 ruff check)、类型检查(应使用 basedpyright)、死代码检测(应使用 vulture/deadcode)或运行测试(应使用 pytest)。建议每个项目只用一个格式化器,并让 pre-commit 配置与所选格式化器保持一致。更多高级示例与迁移清单见 REFERENCE.md。