按Ctrl+Shift+[(Win/Linux)或Cmd+Shift+[(macOS)可一键折叠资源管理器中所有已展开的文件夹,仅影响当前层级,不改变未展开目录及编辑器状态。

VSCode 资源管理器里怎么一键折叠全部文件夹
直接按 Ctrl+Shift+[(Windows/Linux)或 Cmd+Shift+[(macOS),就能收起资源管理器中所有已展开的文件夹。这个快捷键不是“刷新”或“重载”,而是真实触发折叠动作,对当前视图即时生效。
它只影响「当前打开的文件夹层级」,不会动你没点开过的父目录,也不会影响编辑器标签页或已打开的文件。如果你刚打开 VSCode,资源管理器是空的或全是收起状态,按了也没反应——这正常,不是失效。
为什么 Alt+Click 折叠图标不管用了
旧版 VSCode 支持用 Alt+Click 在文件夹箭头上折叠整个子树,但 1.80 版本后默认禁用了这个行为。不是 bug,是官方移除了该交互逻辑,避免和多光标、触控板手势冲突。
如果你依赖这个操作,可以手动开启:
- 打开设置(
Ctrl+,),搜explorer.autoReveal - 往下翻,找到
Explorer: Alt Click To Collapse(注意名称可能随语言包略有差异) - 勾选它,或者在
settings.json里加一行:"explorer.altClickToCollapse": true
但要注意:开启后,Alt+Click 会优先折叠,不再触发“定位到文件”的默认行为;而且它只对单个文件夹生效,不能一次折掉所有层级。
workbench.explorer.autoReveal 和折叠有关系吗
没关系。workbench.explorer.autoReveal 控制的是“打开文件时,资源管理器是否自动滚动并高亮对应路径”,属于导航行为,不影响折叠/展开状态。设成 false 只会让资源管理器“不跳转”,但你之前手动展开的文件夹依然保持展开。
真正影响折叠记忆的是另一个配置:explorer.decorations.colors 或 explorer.compactFolders 都不相关;VSCode 本身不持久化折叠状态——关掉窗口再打开,所有文件夹默认恢复为初始展开态(通常是根目录展开,子目录收起)。没有配置项能“记住上次折叠了哪些”。
折叠太多找不到文件?试试这个替代思路
全折叠后想快速定位某个文件,别靠肉眼扫,用更可靠的方式:
- 按
Ctrl+P(快速打开),直接输文件名,支持模糊匹配和路径缩写(比如输utl/http可能命中src/utils/http.ts) - 按
Ctrl+Shift+E确保资源管理器聚焦,再按/进入搜索模式,输入关键词过滤显示的文件/文件夹 - 右键某个文件夹 → “在资源管理器中显示” 可临时展开它的上级链路,比一层层点快得多
过度依赖视觉折叠容易掩盖结构问题。如果项目里总要靠“全折叠→再找”,大概率是目录划分太深或命名不够直白,这时候调快捷键不如花两分钟理清模块边界。











