VSCode 文件树默认将单文件夹压成一行是因 1.84+ 版本启用的 explorer.compactFolders 设置所致,关闭该选项即可恢复传统树形结构。

VSCode 文件树为什么默认把单文件夹压成一行
这是 VSCode 1.84+ 版本引入的「自动折叠单子节点」行为,不是 bug,是默认开启的 explorer.compactFolders 设置在起作用。它会让只含一个子项(比如一个子文件夹或一个文件)的父文件夹被“压缩”显示为单行,视觉上像合并了——实际结构没变,但你点不开、拖不动、甚至找不到右键菜单。
怎么关掉这个紧凑显示(还原传统树形)
直接改配置就行,不需要插件或重启编辑器:
- 按
Ctrl+,(Windows/Linux)或Cmd+,(macOS)打开设置 - 搜索
explorer.compactFolders - 把勾去掉,或者在
settings.json里加这一行:"explorer.compactFolders": false
改完立刻生效,文件树马上恢复为每层独立缩进、可展开/折叠的清晰结构。
compactFolders 关闭后要注意什么
关闭后不会影响性能,但有几个真实场景要留意:
- 大量空目录(比如
node_modules里成百上千个只含一个子目录的包)会让树变“胖”,但这是你主动选择的可读性代价 - 某些扩展(如
Project Manager)依赖 compact 模式做快捷切换,关掉后它们的侧边栏按钮可能失效或显示异常 - 如果你用的是 Remote-SSH 或 WSL 连接,
settings.json要确认改的是远程工作区设置,而不是本地用户设置
不想全局关?试试 workspace 局部控制
有些项目(比如前端 monorepo)确实需要紧凑模式省空间,而日常小项目又想要展开视图——这时别动全局设置:
- 打开项目根目录,在
.vscode/settings.json里单独加:"explorer.compactFolders": false
- 这个值会覆盖用户级设置,且只对当前文件夹生效
- 注意:如果项目里已有同名配置(比如通过 Prettier 或 EditorConfig 插件注入),优先级以 VSCode 设置面板显示的「来源」为准,鼠标悬停就能看到
真正麻烦的是嵌套 workspace + 多根文件夹 + 自定义 explorer 排序,那种情况 compactFolders 只是表象,底层其实是 explorer.sortOrder 和 files.exclude 在搅局。


















