发布于2026-07-05 阅读(0)
扫一扫,手机访问
Sublime Text 无原生一键生成目录树功能,需通过自定义构建系统调用系统 tree 命令实现;适用于 README 文档,不支持语言符号识别或 Markdown 锚点;推荐 macOS/Linux 下用 brew/apt 安装 tree 并配置 Tree.sublime-build,注意 $file_path 指当前文件所在目录,需在项目根目录下打开文件后按 Ctrl-B/Cmd-B 运行;Windows 建议安装 Git for Windows 获取完整 tree;插件易受 files.exclude 干扰且对 symlink/monorepo 支持差,tree 输出更可靠;结构树需随项目更新手动重生成,CI 中可加时间戳注释。

Sublime Text 本身不提供“一键生成代码结构目录树”的原生功能,所谓“一键”,本质上就是调用命令行里的 tree 命令,再配合自定义构建系统实现的快捷封装。它适合写文档、README 或架构说明,但别指望它能自动识别语言符号或生成 Markdown 锚点目录——那是另一类插件干的事。
tree 构建系统导出项目结构(macOS/Linux 推荐)这是最轻量、最可控的方式:不用装插件、不会卡顿、输出干净整洁,直接贴进 README 就能用。
tree:macOS 运行 brew install tree,Linux 一般自带或运行 sudo apt install treeTree.sublime-build:{ "cmd": ["tree", "-I", "node_modules|.git|.DS_Store|__pycache__|dist|build", "-L", "4", "$file_path"], "working_dir": "$file_path", "target": "exec"}
-I 后面填写要排除的目录,用竖线 | 分隔,注意它不支持正则-L 4 控制层级深度,避免输出过于庞大;--dirsfirst 可以加在 cmd 数组里,让目录排在最前面$file_path 指的是当前打开文件所在的目录,而不是项目根目录——所以你必须先在项目根目录下的某个文件中打开 Sublime(比如 package.json 或 README.md),再按 Cmd+B(macOS)或 Ctrl+B(Windows/Linux)才能正确生成tree 的实际门槛Win10 1809 以上的系统自带 tree,但默认只输出 ASCII 风格的树形图,不带 /F 参数时不会列出文件名;旧系统则经常报 'tree' is not recognized。
tree 命令),或者用 Chocolatey 运行 choco install treecmd /c "tree /F /A",但这样不支持 -I 排除,需要靠 PowerShell 脚本做后处理Get-ChildItem -Recurse | Group-Object PSParentPath 来模拟,但格式松散、难以阅读,不如直接上 treePATH 环境变量,建议在终端里先手动执行 tree --version 确认可用像 Project Tree Generator 这类插件,看似点一下就出结果,实际在复杂项目里经常翻车。
files.exclude 配置,但这个配置的本意是控制“是否在界面中显示”,而不是定义“项目结构”——你隐藏了 dist/,不代表它不该出现在部署文档里tree -L 3 的输出可以作为黄金标准进行人工比对index.js 自动转成 [index.js](./index.js),粘到飞书或 Notion 里反而多出跳转链接,纯文本结构反而更安全CTags 配合 Ctrl+T,这和“文件目录树”是两回事,混用只会增加调试成本很多人容易忽略的一点是:结构树不是一次性的。项目新增模块、删掉测试目录后,记得重新运行构建系统——别让 README 里的树形结构和真实磁盘对不上。另外,tree 输出不含时间戳或哈希值,如果用于 CI 文档生成,建议配合脚本自动追加生成时间注释。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8