Skip to content

【开源工具自荐】Treex:一个支持高级过滤、多样输出格式的目录可视化命令行工具 #6591

New issue

Have a question about this project? No Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “No Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? No Sign in to your account

Open
shiquda opened this issue Apr 13, 2025 · 0 comments
Labels

Comments

@shiquda
Copy link

shiquda commented Apr 13, 2025

https://github.com/shiquda/treex

Image

这是一个基于Go编写的命令行工具。我开发Treex,是因为我在日常的学习中遇到了这些问题:

  • 对于一个陌生技术栈的项目,可能有着复杂的项目结构,不知道从何入手
  • 想要快速告诉大模型一个项目的结构,让它辅助你理解
  • 编写项目文档时,需要插入目录结构的可视化
  • ……

传统的tree工具针对小型目录还能工作,但是对于一些结构复杂的目录,就较为麻烦了。对于一些我们不关心的文件/目录,无法进行有效的排除(例如,node项目的node_modules),导致输出一长串树形图,根本无法起到可视化的效果。

Image

我曾经是自己写一个py脚本来解决这个问题,后来我将这个idea用go实现,做出了一个通用化的cli应用,希望能帮助到更多和我有类似需求的人。

对比传统的tree命令,TA的优势是:

  1. 自定义的过滤器,包括:
    1. 目录最大深度限制
    2. 根据指定目录的.gitignore规则排除文件
    3. 不显示隐藏文件
    4. 排除自定义文件夹/文件扩展名
  2. 多样的输出格式,包括:
    1. 树形输出(默认)
    2. 缩进格式
    3. Markdown格式
    4. Mermaid流程图

具体使用说明请见Github 项目

graph TD
    A[输入] --> B[目录遍历]
    B --> C[过滤规则]
    D --> E[格式转换]
    E --> F[输出]
    
    %% 过滤系统细节
    C --> C1[文件后缀过滤]
    C --> C2[目录名过滤]
    C --> C3[.gitignore规则]
    C --> C4[隐藏文件过滤]
    
    %% 格式转换细节
    F --> E1[树形格式]
    F --> E2[缩进格式]
    F --> E3[Markdown格式]
    F --> E4[Mermaid图表]
    
    C1 --> D[树结构构建]
    C2 --> D
    C3 --> D
    C4 --> D
    
    %% 附加特性
    B1[最大深度限制] --> B
    E5[文件类型图标] --> E
Loading

Treex还处于早期开发之中,希望更多人能够发现并体验这个工具,让Treex变得更好。谢谢!

@shiquda shiquda changed the title 【工具自荐】:Treex:一个支持高级过滤、多样输出格式的目录可视化命令行工具 【开源工具自荐】Treex:一个支持高级过滤、多样输出格式的目录可视化命令行工具 Apr 15, 2025
@ruanyf ruanyf added the weekly label Apr 15, 2025
No Sign up for free to join this conversation on GitHub. Already have an account? No Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants