rust-deps-visualizer
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseRust Dependencies Visualizer
Rust依赖项可视化工具
Generate ASCII art visualizations of your Rust project's dependency tree.
生成你的Rust项目依赖树的ASCII艺术可视化图。
Usage
使用方法
/rust-deps-visualizer [--depth N] [--features]Options:
- : Limit tree depth (default: 3)
--depth N - : Show feature flags
--features
/rust-deps-visualizer [--depth N] [--features]选项:
- :限制树的深度(默认值:3)
--depth N - :显示功能标志
--features
Output Format
输出格式
Simple Tree (Default)
简单树形图(默认)
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.xmy-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.xFeature-Aware Tree
支持功能标志的树形图
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]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]Implementation
实现步骤
Step 1: Parse Cargo.toml for direct dependencies
bash
cargo metadata --format-version=1 --no-deps 2>/dev/nullStep 2: Get full dependency tree
bash
cargo tree --depth=${DEPTH:-3} ${FEATURES:+--features} 2>/dev/nullStep 3: Format as ASCII art tree
Use these box-drawing characters:
- for middle items
├── - for last items
└── - for continuation lines
│
步骤1: 解析Cargo.toml以获取直接依赖项
bash
cargo metadata --format-version=1 --no-deps 2>/dev/null步骤2: 获取完整的依赖树
bash
cargo tree --depth=${DEPTH:-3} ${FEATURES:+--features} 2>/dev/null步骤3: 格式化为ASCII艺术树形图
使用以下方框绘制字符:
- 用于中间项
├── - 用于最后一项
└── - 用于延续行
│
Visual Enhancements
可视化增强
Dependency Categories
依赖项分类
my-project v0.1.0
│
├─[Runtime]─────────────────────
│ ├── tokio v1.49.0
│ └── async-trait v0.1.x
│
├─[Serialization]───────────────
│ ├── serde v1.0.x
│ └── serde_json v1.x
│
└─[Development]─────────────────
├── criterion v0.5.x
└── proptest v1.xmy-project v0.1.0
│
├─[Runtime]─────────────────────
│ ├── tokio v1.49.0
│ └── async-trait v0.1.x
│
├─[Serialization]───────────────
│ ├── serde v1.0.x
│ └── serde_json v1.x
│
└─[Development]─────────────────
├── criterion v0.5.x
└── proptest v1.xSize Visualization (Optional)
大小可视化(可选)
my-project v0.1.0
├── tokio v1.49.0 ████████████ 2.1 MB
├── serde v1.0.x ███████ 1.2 MB
├── regex v1.x █████ 890 KB
└── anyhow v1.x ██ 120 KB
─────────────────
Total: 4.3 MBmy-project v0.1.0
├── tokio v1.49.0 ████████████ 2.1 MB
├── serde v1.0.x ███████ 1.2 MB
├── regex v1.x █████ 890 KB
└── anyhow v1.x ██ 120 KB
─────────────────
Total: 4.3 MBWorkflow
工作流程
- Check for Cargo.toml in current directory
- Run with specified options
cargo tree - Parse output and generate ASCII visualization
- Optionally categorize by purpose (runtime, dev, build)
- 检查当前目录下是否存在Cargo.toml
- 使用指定选项运行
cargo tree - 解析输出并生成ASCII可视化图
- 可根据用途(运行时、开发、构建)进行分类
Related Skills
相关技能
| When | See |
|---|---|
| Crate selection advice | m11-ecosystem |
| Workspace management | m11-ecosystem |
| Feature flag decisions | m11-ecosystem |
| 场景 | 查看 |
|---|---|
| Crate选择建议 | m11-ecosystem |
| 工作区管理 | m11-ecosystem |
| 功能标志决策 | m11-ecosystem |