rust-deps-visualizer

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Rust Dependencies Visualizer

Rust依赖项可视化工具

Generate ASCII art visualizations of your Rust project's dependency tree.
生成你的Rust项目依赖树的ASCII艺术可视化图。

Usage

使用方法

/rust-deps-visualizer [--depth N] [--features]
Options:
  • --depth N
    : Limit tree depth (default: 3)
  • --features
    : Show feature flags
/rust-deps-visualizer [--depth N] [--features]
选项:
  • --depth N
    :限制树的深度(默认值:3)
  • --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.x
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

Feature-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/null
Step 2: Get full dependency tree
bash
cargo tree --depth=${DEPTH:-3} ${FEATURES:+--features} 2>/dev/null
Step 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.x
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.x

Size 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 MB
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 MB

Workflow

工作流程

  1. Check for Cargo.toml in current directory
  2. Run
    cargo tree
    with specified options
  3. Parse output and generate ASCII visualization
  4. Optionally categorize by purpose (runtime, dev, build)
  1. 检查当前目录下是否存在Cargo.toml
  2. 使用指定选项运行
    cargo tree
  3. 解析输出并生成ASCII可视化图
  4. 可根据用途(运行时、开发、构建)进行分类

Related Skills

相关技能

WhenSee
Crate selection advicem11-ecosystem
Workspace managementm11-ecosystem
Feature flag decisionsm11-ecosystem
场景查看
Crate选择建议m11-ecosystem
工作区管理m11-ecosystem
功能标志决策m11-ecosystem