project tree 插件默认将目录结构追加至 readme.md 末尾而非覆盖,需滚动查看;仅支持工作区根目录,显示隐藏文件,中文路径无锚点跳转;directory-tree 更适配中文与图标;file-tree-generator 支持右键子目录生成独立文件。

Project Tree 插件生成目录结构的默认行为
Project Tree 插件不会自动创建或覆盖整个 README.md,而是将树形结构追加到文件末尾。如果你已有内容(比如项目介绍、安装说明),它不会清空重写,这点容易误以为“没生效”——实际只是滚到底部才能看到新生成的部分。
常见错误现象:Your README.md has been modified 提示出现,但打开 README.md 没找到结构?大概率是光标还在顶部,或者文件被其他插件/编辑器缓存未刷新。
- 执行前确保目标项目已用 VS Code **以文件夹方式打开**(不是单个文件),否则插件无法识别根路径
- 插件默认只处理当前工作区根目录,不支持右键某子目录单独生成(这点和
file-tree-generator不同) - 生成结果中,隐藏文件(如
.git、.vscode)默认显示,但可手动在插件设置里关闭showHiddenFiles
directory-tree 插件对中文路径和图标的支持更友好
如果你的项目路径含中文(比如 src/用户管理),Project Tree 会原样输出,但链接锚点可能失效;而 directory-tree 默认启用 emoji 图标(??)+ 中文路径保真,且生成的 Markdown 链接能正确跳转(前提是预览插件支持中文锚点)。
使用场景:技术博客配图、内部文档分享、LLM 输入结构时,需要路径可读性高、无乱码、图标直观——directory-tree 更稳妥。
- 安装后快捷键仍是
Ctrl+Shift+P→ 输入Directory Tree,回车即可 - 若项目无
README.md,它会自动创建;已有则追加,行为与Project Tree一致 - 图标开关在设置里搜
directoryTree.showIcons,关掉后回归纯文本,适合某些 CI 渲染环境
file-tree-generator 支持按需生成子目录结构
当你要导出某个模块而非整个项目(比如只导出 src/components 的结构用于 PR 描述),file-tree-generator 是唯一支持右键菜单直接触发的插件。
它不依赖工作区根目录,也不修改 README.md,而是弹出新编辑器标签页,内容可复制粘贴或另存为 COMPONENTS_TREE.md 等独立文件。
- 右键目标文件夹 →
Generate to Tree,生成结果带缩进空格(非列表符号),兼容性更好 - 不渲染 emoji,避免某些 Markdown 解析器报错;但也不支持自定义图标或过滤规则
- 大目录(>500 个文件)下可能卡顿,建议先
cd进子目录再打开 VS Code,缩小扫描范围
生成结果里的路径层级和缩进逻辑
所有插件都基于文件系统真实嵌套关系生成缩进,但「缩进单位」不统一:Project Tree 用 ├─/└─ + 2 空格,directory-tree 用 emoji + 4 空格,file-tree-generator 用纯空格(默认 2 层/级)。这会影响粘贴到 GitHub 或 Notion 后的对齐效果。
最容易被忽略的是:**VS Code 内置大纲视图(Ctrl+Shift+O)只解析 Markdown 标题,不解析目录结构字符串**。你粘进去的树形文本不会出现在大纲里——它只是普通段落,别指望能用大纲跳转。
- 如果要让目录具备点击跳转能力,必须用
Markdown All in One的Create Table of Contents命令,而不是目录结构插件 - 导出给 LLM 用时,建议删掉 emoji 和特殊符号,保留纯路径+缩进,例如:
src/→components/→Button.vue - CI 自动化场景慎用这些插件——它们是 GUI 工具,没有 CLI 接口;真要脚本化,请用
tree命令(macOS/Linux)或Get-ChildItem(PowerShell)











