推荐使用:Cargo Sort - 管理你的Rust依赖,井然有序!
Cargo Sort 是一个简洁而实用的工具,专门设计用于确保你的 Cargo.toml 文件中的依赖按字母顺序排列。这个项目由 DevinR528 创建,响应了 dtolnay 在 Request for Implementation #29 中提出的需求。Cargo Sort 支持跨平台,包括Windows,并且在命令行和PowerShell中都能正常显示颜色。
项目介绍
Cargo Sort 提供了一种简单的方法来检查和排序 Cargo.toml 文件的依赖项。它不仅会检查顶级表格的键是否按字母顺序排列,还会对嵌套表格的头部进行排序(但不会排序嵌套头部内的元素)。通过使用 toml-edit,Cargo Sort 能将 TOML 文件解析为可操作的结构。
项目技术分析
该工具有三种运行模式:
- 默认模式:无任何标志设置时,Cargo Sort 将覆盖输入的 Cargo.toml 文件,写入已排序的结果。
-c 或 --check
模式:如果文件未排序,程序将以非零退出码失败。-n 或 --no-format
模式:不格式化排序后的 TOML(仅在写入或打印时有效)。-g 或 --grouped
模式:在排序时保留表格内键值对的间距,保持依赖分组,但组内进行排序。-p 或 --print
模式:将排序后的 TOML 写入标准输出。-w 或 --workspace
模式:检查工作区内的所有子crate,基于设置的标志。-o 或 --order
模式:指定表格的排序顺序,未指定的表将在其后出现。
此外,Cargo Sort 还提供了一个名为 tomlfmt.toml
的配置文件,可以自定义 TOML 格式化规则。
应用场景
- 开发人员可以在提交代码前使用 Cargo Sort 来自动检查和调整依赖关系,以保持代码规范。
- 在团队合作中,Cargo Sort 可作为持续集成的一部分,保证所有成员的 Cargo.toml 文件始终整洁有序。
- 对于维护多个项目的人,可以使用
-w
标志快速批量整理工作区内的依赖。
项目特点
- 支持 Rust 工作区,一键管理所有子crate的依赖。
- 灵活的命令行选项,满足多种需求,如仅检查、保持分组、忽略格式等。
- 自定义配置文件
tomlfmt.toml
,允许个性化代码风格。 - 包含预提交钩子支持,与 pre-commit 集成,使自动化更容易。
- 提供 Docker 镜像,方便容器环境下的使用。
安装 Cargo Sort 很简单,只需一条 cargo install cargo-sort
命令。然后,您就可以开始享受它的便捷服务,让您的 Cargo.toml 文件始终保持整洁有序。
不要错过这个强大的工具,现在就加入 Cargo Sort 的使用者行列,让您的Rust项目更具专业性和一致性吧!