目录树生成器
把缩进文本列表转成带 ├── └── │ 连接线的目录树,支持空格/制表符缩进、2 或 4 空格、显示图标与文件统计,也能把目录树反向还原成缩进列表。
浏览器本地运行所有计算都在你的浏览器里完成,数据不会离开本机。
结果
这个工具能做什么
- 在 README、issue 或技术文档里贴项目结构:把随手写的缩进列表转成带 ├── └── │ 连接线的目录树,格式和 tree 命令输出一致。
- 反过来用:把同事贴来的目录树还原成缩进列表,方便继续增删条目或喂给脚本处理。
- 给 .gitignore、CI 配置做参考时先看清层级:工具会统计目录数、文件数与最大层数。
- 多语言项目里加 📁 / 📄 图标,让纯文本目录树在聊天工具或 Markdown 里也能一眼区分目录和文件。
示例
输入
src
tools
base64.ts
hash.ts
index.ts
README.md输出
├── src │ ├── tools │ │ ├── base64.ts │ │ └── hash.ts │ └── index.ts └── README.md
默认缩进宽度 2 空格、显示连接线;统计结果是目录 2、文件 4、共 6、层数 3。反向转换会把这个目录树还原成最初的缩进列表。
常见问题
缩进用几个空格都行吗?
不行,必须是同一单位的整数倍。工具取所有非零缩进里最小的那个当单位,2 空格与 3 空格混用会报「缩进不一致」;制表符会先按设定宽度展开(2 或 4 空格)。
层级跳级(比如 0 → 2 层)会怎样?
会直接报「缩进不一致」。每一行只能比上一行多缩进一级,因为目录树里父节点必须紧邻在子节点之前,跳级就无法确定中间那层是什么。
目录和文件是怎么区分的?
按结构而不是名字判断:有子节点的算目录,叶子节点算文件。所以列表里最后一行如果是 src 而没有下级,它会被统计成文件,图标也会显示 📄。
为什么目录树转回列表后少了图标和连接线?
反向转换会把 ├── └── │、多余空格以及 📁 / 📄 都清掉,只保留每行 2 或 4 个空格的层级缩进,这样结果可以直接被脚本或其它工具读取。
输入会被上传吗?
不会。转换完全在浏览器里完成,页面不发送任何请求,项目结构这种敏感信息也不会离开你的设备。
关键词:目录树文件夹树folder treetree 命令缩进列表项目结构directory treeascii tree