用途:Ruff 是极快的 Python linter 与代码格式化器,可替代 Flake8、isort、Black、pyupgrade、autoflake 等工具。当项目中出现 pyproject.toml 的 [tool.ruff] 段,或存在 ruff.toml、.ruff.toml 配置文件时,应使用 Ruff 进行 Python 检查与格式化。
主要能力:检查(ruff check)、自动修复(--fix,含 --unsafe-fixes)、监听重检(--watch)、按规则选择或忽略(--select、--ignore)、解释规则(ruff rule E501)、列出可用 linter(ruff linter);格式化(ruff format),支持 --check 与 --diff。配置写在 pyproject.toml 或 ruff.toml 中,可设置 select、ignore 及 isort 的 known-first-party 等。
使用方式:若 Ruff 是项目依赖,用 uv run ruff ... 以使用锁定版本;非项目依赖或一次性检查用 uvx ruff ...;全局安装则直接 ruff ...。常用流程为先修复再格式化:ruff check --fix . 然后 ruff format .。迁移示例:black . → ruff format .;flake8 . → ruff check .;isort . → ruff check --select I --fix .。
限制与注意:不要对未格式化的代码做无谓格式化——若 ruff format --diff 显示整个文件都有改动,说明项目可能未用 Ruff 格式化,应跳过以免掩盖真实改动。修复范围应限定在正在编辑的代码,除非用户明确要求更广范围。--unsafe-fixes 可能改变代码行为(如删除依赖副作用的未使用导入),应用前先用 --diff 预览,并用 ruff rule <CODE> 理解原因。详细文档见 https://docs.astral.sh/ruff/。