Ruff 本身不支持在 ruff format 中排序 import,需要配合 ruff check --select I --fix 单独执行 import 排序,再运行格式化命令,这才能实现与 isort + black 类似的双步自动化流程。

Ruff 本身不支持在 ruff format 中排序 import,需要配合 ruff check --select I --fix 单独执行 import 排序,再运行格式化命令,这才能实现与 isort + black 类似的双步自动化流程。

从 2023 年开始,Ruff 就把代码格式化(ruff format)和代码检查(ruff check)拆成了两个独立的子命令。这里的关键点在于:导入排序(import sorting)属于 linting 的范畴,由 ruff check 负责,而不是格式化器。换句话说,即使你习惯了用 ruff format . 来替代 black,也别指望它能顺手搞定 import 排序——这活儿,isort 才是正主,而 Ruff 的对应能力在 check 那边。

那么,要完全替代 isort,该怎么办?推荐下面这个两步组合命令(按顺序执行):

ruff check --select I --fix .
ruff format .

⚠️ 需要注意几个细节:

总结一下:Ruff 并没有追求“一条命令包打天下”,而是通过职责分离,提供了一种更可控、更可组合的开发体验。用 ruff check --select I --fix 替代 isort,再配合 ruff format 完成其余格式化任务,既轻量又可靠,是现代 Python 小型项目非常理想的选择。

本文转载于:https://www.php.cn/faq/2323713.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。