directory tree 插件会无脑追加目录结构到 readme.md 末尾,覆盖原有内容且不识别标记位;解决方法是在 readme 中插入 注释并手动粘贴生成结果。

VSCode 里想快速生成项目目录结构,靠手动敲 ├─ └─ 是低效且易错的;真正靠谱的方式是用插件 + 命令组合,而不是拼凑 Emmet 或临时建 HTML 文件来“骗”编辑器。
Directory Tree 插件生成项目结构时,为什么 README.md 总是被覆盖?
Directory Tree 默认行为是:找到项目根目录下的 README.md,在文件末尾追加结构树。如果该文件不存在,它会新建一个——但不会检查已有内容是否含其他信息(比如已有介绍文字、安装步骤等)。
- 它不识别
[TOC]或其它标记位,只是无脑 append - 若你已在
README.md底部手写过结构,再次运行会重复叠加,形成两份树 - 插件不支持指定插入位置(比如光标处),也不支持导出到独立文件(如
STRUCTURE.md)
解决办法:先手动在 README.md 中留空一行并写上 <!-- directory-tree-start -->,再用插件生成后,自己剪切粘贴到该注释下方——这是目前最可控的折中方式。
微软正式发布 Visual Studio Code 1.118 版本 。本次更新重点强化了 AI 开发体验与企业管理能力,其中最引人注目的是新增 Copilot CLI 远程控制功能,允许开发者通过手机或网页远程监控和接管 AI 会话 。同时,为了提高 AI 的运行性价比,新版本优化了令牌缓存策略以降低成本 。此外,1.118 版还引入了 Chronicle 本地历史追踪、TypeScript 7.0 支持以及更严格的企业级访问管控 。
Markdown All in One 的 Create Table of Contents 和目录结构不是一回事
很多人混淆这两个功能:Create Table of Contents 只解析当前 Markdown 文件里的 # ~ ###### 标题,生成跳转链接列表;它完全不管项目文件夹层级。而你要的是类似 src/ 下有哪些 .vue、router/ 里有几个 .ts 这类物理结构。
- 前者用于文档内导航,后者用于项目概览或 README 说明
- 两者可共存,但不能互相替代:一个在
README.md顶部放 TOC,底部放 Directory Tree 输出的结构树 - 中文标题会被自动转成 URL 编码(如
#安装步骤→#%E5%AE%89%E8%A3%85%E6%AD%A5%E9%AA%A4),但结构树插件不涉及锚点,所以无此问题
多文件夹工作区下,Directory Tree 会扫哪个路径?
它只认 VSCode 当前打开的「文件夹」(Folder),不是「工作区」(.code-workspace)。如果你用 .code-workspace 打开了 frontend 和 backend 两个文件夹,Directory Tree 命令执行时,只会扫描当前活动标签页所属的那个文件夹根目录。
- 没有“跨文件夹聚合生成”的选项,也不会提示你选
- 想生成整个工作区结构,得分别进入每个文件夹,单独运行一次命令,再手动合并
- 若项目是 monorepo(如
packages/ui+packages/api),建议先用终端tree -I "node_modules|.git" -L 3输出到文本,再粘进 README ——比依赖插件更稳定
真正容易被忽略的一点:Directory Tree 插件生成的符号(?、?)在某些终端或旧版 Git 预览里可能显示为方块或乱码,如果 README 要发布到 GitHub,建议关掉 emoji 选项(插件设置里找 directoryTree.showEmoji 设为 false),改用纯 ASCII 字符。










