ctrl+shift+k(win/linux)或cmd+shift+k(macos)可一键收起资源管理器中所有已展开的文件夹,前提是资源管理器获得焦点;该命令名为workbench.files.action.collapseallfolders,不影响编辑器标签页和文件状态。

VSCode里折叠所有子目录的快捷键是什么?
不是 Ctrl + Shift + [,也不是右键菜单里的“折叠全部”,那个只折叠代码块。真正能一键收起所有文件夹层级的,是 Ctrl + Shift + K(Windows/Linux)或 Cmd + Shift + K(macOS)。这个命令叫 workbench.files.action.collapseAllFolders,作用对象是资源管理器(Explorer)里的文件树,不是编辑区的代码。
为什么按了没反应?常见原因和解决办法
最常踩的坑是焦点不在资源管理器上——VSCode 的快捷键是上下文敏感的。如果你当前光标在编辑器里、终端中,或者调试面板里,Ctrl + Shift + K 就不会触发文件夹折叠。
- 先按
Ctrl + Shift + E(打开资源管理器)再按Ctrl + Shift + K - 或者用鼠标点一下左侧边栏的任意文件夹名/空白处,确保资源管理器获得焦点
- 检查是否被其他插件劫持了该快捷键:打开命令面板
Ctrl + Shift + P,输入Preferences: Open Keyboard Shortcuts (JSON),搜索collapseAllFolders确认绑定未被覆盖
折叠后怎么快速展开某个特定目录?
折叠是全局操作,但展开得手动逐级点开。VSCode 没提供“展开指定路径”的快捷键,不过有更实用的替代方案:
- 在资源管理器顶部的地址栏里直接粘贴路径片段(比如
src/components),回车后自动定位并展开到该层 - 用
Ctrl + P打开快速文件搜索,输入文件名,打开时会自动展开对应路径 - 右键某个折叠后的父文件夹 → 选
Reveal in Explorer,它会临时展开到该文件夹并高亮
注意:Ctrl + Shift + K 不会影响已打开的编辑器标签页,也不会改变文件状态(如保存/修改标记)。
折叠行为受哪些设置影响?
VSCode 默认行为是“折叠空文件夹”和“保持已展开的非空文件夹”,但实际表现取决于两个关键配置项:
-
explorer.compactFolders:设为false时,即使文件夹下只有一个子项,也会显示为可折叠节点;设为true(默认)则自动合并单子项,看起来像没折叠——这不是快捷键失效,是 UI 优化 -
explorer.autoReveal:如果为true,你在编辑器里切换文件时,资源管理器会自动滚动并展开对应路径,可能抵消你刚按下的Ctrl + Shift + K效果
这些设置改完要重启资源管理器(点右上角三个点 → Refresh Explorer)才生效,不是热更新。











