fastruct

轻量级项目结构查看 CLI 工具
C++ 开发 · 语法高亮 · 深度控制 · 路径显示
已上架 AUR · 单文件二进制
C++ CLI AUR ncurses POSIX
终端输出预览

看结构,不用打开编辑器

fastruct 是极简的 CLI 项目结构查看器。一条命令,项目目录树立刻呈现在终端。内置语法高亮,一眼区分目录、文件、符号链接与隐藏项。

🌸 tree 即视

类似 `tree` 命令的输出,但更聚焦项目结构。默认隐藏 node_modules、.git 等噪音目录,干净呈现你的源码布局。

🎨 语法高亮

目录、普通文件、隐藏文件、可执行文件、符号链接分别着色。一眼扫过去就知道项目里有什么类型的文件。

📅 深度控制

`--depth` 参数控制展开层级。深层项目也能看清根目录结构,再逐层深入。无限深度默认只推荐在小项目上使用。

🔗 路径显示

每个节点旁显示相对路径。复制文件路径时无需手动拼接,对脚本编写和 CI 配置特别有用。

⚡ C++ 原汁原味

纯 C++ 编写,无运行时依赖。单文件二进制,启动即出结果,零延迟。性能与系统 `tree` 命令相当。

🌐 AUR 上架

Arch Linux 用户可直接从 AUR 安装。brew / Linuxbrew 公式也在路线图中,逐步覆盖主流包管理器。

智能着色

终端 256 色支持。目录亮蓝、普通文件默认色、隐藏文件灰显、可执行文件亮绿、符号链接亮青。忽略文件(.gitignore 规则)可根据 `--show-ignored` 决定是否显示。不支持 256 色的终端自动降级为 ANSI 16 色。

高亮输出截图

灵活深度

`-d 1` 只看根目录,`-d 2` 扩展到一级子目录,`-d 0` 或不传则显示完整树。配合 `--dirs-only` 只显示目录,`--files-only` 只显示文件,自由组合满足不同需求。

深度对比示意图

即打即出

十万文件的项目,fastruct 的输出延迟在毫秒级。C++ 的 dirent 遍历 + 内存中的树构建,不做任何磁盘之外的 I/O。相比 Node.js 或 Python 实现的全目录读取,fastruct 几乎没有预热成本。

性能对比图

使用示例

# 查看当前目录结构 $ fastruct # 指定路径 + 深度 2 $ fastruct /path/to/project -d 2 # 只看目录 $ fastruct --dirs-only # 包含隐藏文件 $ fastruct --all # 输出到文件 $ fastruct -o structure.txt

界面预览

输出模式

不同参数组合,适应不同场景。

标准模式

fastruct

完整目录树,语法高亮,自动排除 node_modules、.git。适合日常快速浏览。

限定深度

fastruct -d 2

只看前两层。大项目快速捕捉顶层结构,不会被深层细节淹没。

仅目录

fastruct --dirs-only

只输出目录节点,隐藏所有文件。适合汇报架构设计时使用。

包含隐藏

fastruct --all

显示 .gitignore 忽略文件和隐藏文件。调试 CI 配置或 dotfile 管理场景。

技术规格

Language C++17
Dependencies None (POSIX only)
Output 终端 256色 / ANSI
Depth --depth N (0 = ∞)
Filters --dirs-only · --files-only · --all
Export -o FILE
Packages AUR (Arch Linux)
Platforms Linux · macOS · WSL
License MIT

开始使用 fastruct

C++17 · 无依赖 · AUR 一行安装 · MIT License

GitHub 仓库

所有版本  ·  AUR