Treex - 高级命令行目录树可视化工具
🌳 Treex - 高级命令行目录树可视化工具
今天给读者推荐一个我最近开发的面向开发者的小工具——Treex。
🤔 为什么需要这个工具?
在开发与学习过程中,可能会遇到过这样的场景:
- 对于一个较为陌生的项目,看着复杂的项目结构,不知道怎么入手
- 想要快速告诉大模型自己一个项目的结构,让它辅助你理解
- 写项目文档时需要插入目录结构的可视化
传统的tree
命令虽然能用,但功能太基础了。楼主在使用过程中,常常会出现把不需要的文件同时绘制出来的情况(例如,node项目的node_modules
),导致包含太多不必要的信息,看上去更乱了。
于是我利用cursor,使用go语言开发了Treex,这是一个支持多种输出格式、带过滤功能的目录树工具。
项目地址:https://github.com/shiquda/treex
✨ 核心功能一览
🎨 多格式输出
- 🌲 树状格式(默认):经典的命令行树状结构
- 📑 缩进格式:简洁的层级缩进
- 📝 Markdown格式:直接粘贴到文档里
- 📊 Mermaid格式:生成可嵌入的流程图
🔍 智能过滤
- 🕵️ 隐藏
.git
等隐藏文件 - 📁 只显示目录结构
- 🚫 排除指定目录/文件类型
🛠️ 高度可定制
- 📏 控制目录深度
- 💾 输出到文件
- 🎯 自定义显示格式
🚀 快速上手
下载
方法1:下载预编译二进制文件
从Release页面下载后,加入PATH
方法2:用Go编译安装
如果你有go环境,可以使用下面的代码一键安装:
1 | go install github.com/shiquda/treex@latest |
基础使用
1 | # 查看当前目录结构 |
输出:
1 | └── . |
⚡ 高级使用示例
1. 生成项目文档
1 | # 排除隐藏文件,输出Markdown格式到指定文件 |
- ./
- 1.go
- 2.go
- README.md
- build/
- win/
- output.exe
- win/
- test/
- 3.go
- README_test.md
2. 技术分享配图
1 | # 只保留非隐藏的文件夹,生成Mermaid代码 |
1 | graph TD |
3. 排除指定文件
1 | # 排除不重要的文件夹和文件类型 |
1 | └── . |
🛠️ 完整参数说明
可以前往 https://github.com/shiquda/treex 查看。
参数 | 说明 |
---|---|
-d |
指定扫描目录(默认当前目录) |
-f |
输出格式(tree/indent/md/mermaid) |
-m |
最大目录深度(0表示无限制) |
-o |
输出文件路径 |
-e |
排除规则(逗号分隔) |
-H |
隐藏隐藏文件 |
-D |
仅显示目录 |
💖 期待你的参与
Treex目前还在早期开发阶段。笔者还没有多少开发经验,受限于个人水平,工具难免有不足之处。如果你:
- 发现了bug
- 有功能建议
- 想贡献代码
欢迎在GitHub给我提Issue或PR!当然,给个⭐星星鼓励也是极好的~