VSCode资源管理器默认启用“Compact Folders”导致文件夹层级被压缩显示;需在设置中关闭Explorer: Compact Folders并配合workbench.tree.expandMode为singleClick,再手动预选目录,才能实现启动时自动展开目标层级。

VSCode 没有所谓“树状标签”——它不支持将编辑器顶部的文件标签页(Tab)按目录层级分组或嵌套显示。你真正想设的,是资源管理器(Explorer)里的**文件夹树形结构**,或是源代码管理(Source Control)面板的**树形视图模式**。
为什么点开文件夹还是平铺、没有缩进?
这是 Explorer:compact folders 开启导致的默认行为:VSCode 会把同级同名文件夹(比如多个 src)合并成一行显示,掩盖真实层级。它不是“扁平列表”,而是“压缩折叠”——看起来像平铺,实则是视觉欺骗。
- 打开设置(
Ctrl+,或左下角齿轮图标) - 搜索
compact folders - 取消勾选
Explorer: Compact Folders - 刷新资源管理器(或重启 VSCode),文件夹立刻恢复真实树状缩进
源代码管理面板怎么变树形?
Git 提交前看改动,默认是列表模式,所有修改文件挤在一行,看不出归属关系。切换为树形后,src/api/index.ts 和 src/api/utils.ts 会自动归到 src/api/ 下,package.json 和 package-lock.json 也会并列显示。
- 点击左侧源代码管理图标(分支形状)
- 右上角 “⋯” → 选择
Toggle View Mode→Tree View - 或用命令面板(
Ctrl+Shift+P)运行Source Control: Switch to Tree View
该设置**不持久化**:每次重启 VSCode 后需重新切一次,除非你固定使用命令面板快捷键。
如何让常用子目录启动就展开?
VSCode 不保存文件树展开状态,这是官方设计。但你可以利用 workbench.tree.expandMode 配合手动预热,让最常工作的目录层“几乎每次都自动展开”:
- 在项目根目录下建
.vscode/settings.json - 写入:
{"workbench.tree.expandMode": "singleClick"} - 关 VSCode 前,务必用鼠标**单击选中**你最常进的文件夹(如
src或components),不要只打开文件 - 下次启动时,VSCode 会自动展开到该层级(但不会递归展开其子级)
- 需要全展开?先选中目标文件夹,再按住
Ctrl(Win/Linux)或Cmd(Mac)单击它
真正容易被忽略的是:资源管理器的“树形”和“展开状态”是两回事——关掉 compact folders 只解决层级显示,不解决记忆展开;而 expandMode + 预热只解决“哪一层展开”,不解决“展开多深”。两者必须配合,缺一不可。











