Rust Dependencies Visualizer 是一个面向 Rust 项目的依赖可视化技能,用于以 ASCII 艺术形式生成项目依赖树的图形化展示。
用途
该技能用于将 Rust 项目的依赖关系转化为直观的文本树状图,帮助开发者快速了解项目的直接依赖与间接依赖结构。
主要能力
- 生成基于 ASCII 框线字符(├──、└──、│)的依赖树。
- 支持通过 --depth N 限制依赖树深度,默认值为 3。
- 支持通过 --features 显示特性标志(feature flags)。
- 支持按依赖用途分类展示,如 Runtime(运行时)、Serialization(序列化)、Development(开发)等分组。
- 可选地以条形图方式展示各依赖的体积大小,并统计总大小。
- 输出中可标注过程宏(proc-macro)等信息。
使用方式
命令格式: /rust-deps-visualizer [--depth N] [--features] 也可通过触发词 /deps-viz、dependency graph、show dependencies、visualize deps、依赖图、依赖可视化、显示依赖 触发。
实现步骤:
- 解析 Cargo.toml 获取直接依赖:cargo metadata --format-version=1 --no-deps 2>/dev/null
- 获取完整依赖树:cargo tree --depth=${DEPTH:-3} ${FEATURES:+--features} 2>/dev/null
- 使用框线字符将输出格式化为 ASCII 艺术树。
- 可选地按用途(runtime、dev、build)进行分类。
输出示例
简单树(默认): my-project v0.1.0 ├── tokio v1.49.0 │ ├── pin-project-lite v0.2.x │ └── bytes v1.x ├── serde v1.0.x │ └── serde_derive v1.0.x └── anyhow v1.x
带特性标志的树: my-project v0.1.0 ├── tokio v1.49.0 [rt, rt-multi-thread, macros, fs, io-util] │ ├── pin-project-lite v0.2.x │ └── bytes v1.x ├── serde v1.0.x [derive] │ └── serde_derive v1.0.x (proc-macro) └── anyhow v1.x [std]
适用场景
- 需要快速查看 Rust 项目依赖关系与层级结构。
- 需要评估依赖体积或识别冗余依赖。
- 需要按用途对依赖进行归类整理。
- 与 crate 选择建议、工作区管理、特性标志决策等相关任务配合使用(参见相关技能 m11-ecosystem)。
限制
资料中未提供关于平台兼容性、安装方式、收费与价格、性能限制等信息,暂未提供。