explorer.compactfolders 是 vscode 1.84+ 默认启用的设置,当文件夹仅含一个子项时将其压缩为单行(如 src/components),导致中间层不可点击、展开或右键;关闭该选项即可恢复完整树形结构。

explorer.compactFolders 是什么,为什么点不开中间层文件夹
VSCode 1.84+ 默认开启 explorer.compactFolders,它的行为是:当一个文件夹下**只有一个子项**(比如 src 里只有 components),就把它俩压成一行显示为 src/components。这不是 bug,但你点不了 src 这个节点——它根本没被渲染为可折叠项,自然无法展开、右键或拖拽。
怎么关掉 compactFolders 让层级真正可操作
直接禁用即可,改完立刻生效,不用重启:
- 按
Ctrl+,(Windows/Linux)或Cmd+,(macOS)打开设置 - 搜索
compactFolders - 取消勾选
Explorer: Compact Folders
或者手动编辑 settings.json,加这一行:
"explorer.compactFolders": false
注意:settings.json 位置决定作用域:用户级(全局生效)、工作区级(.vscode/settings.json,仅当前项目)
关了之后还是看不到某些文件夹?检查 files.exclude
关掉 explorer.compactFolders 后仍有文件夹“消失”,大概率不是折叠问题,而是被隐藏了:
-
files.exclude控制资源管理器中哪些路径不显示(如默认含"**/node_modules": true) -
search.exclude只影响搜索,不影响树形视图 - Mac 用户还需确认系统磁盘权限是否允许 VSCode 访问该目录
排查方法:在设置里搜 files.exclude,临时清空或逐条注释测试;也可在命令面板运行 Developer: Inspect Editor Tokens and Scopes 查看实际加载路径
想一键展开所有已加载文件夹,别手动点几十下
刚打开大项目时,默认只展开最外层。用这个命令秒开:
- 按
Ctrl+Shift+P或Cmd+Shift+P呼出命令面板 - 输入
Expand All,选择Files: Expand All
它只展开当前已加载的分支,不预加载未展开路径下的内容,所以响应快。如果嫌麻烦,可在 keybindings.json 里绑定快捷键,例如:
{"key": "alt+e", "command": "workbench.files.action.expandAll"}
注意:这个命令不会触发自动滚动(explorer.autoReveal 是另一回事),只是展开结构本身。











