“折叠所有区域”仅影响显式定义的折叠结构:①函数/类等语言内置块;②#region/#endregion自定义区域;③多行注释块;④扩展提供的折叠(如Markdown标题)。不作用于缩进或大括号自动折叠。

VSCode 中的“折叠所有区域”和“展开所有区域”是代码组织的快捷操作,但它们的作用范围容易被误解——它们只影响 已定义的折叠区域(如函数、类、注释块、#region 等),而不是简单按缩进或大括号自动折叠的代码块。
哪些内容会被“折叠所有区域”影响?
只有以下几类显式可折叠结构才会响应这两个命令:
- 函数、类、方法等语言内置的代码块(取决于语言支持,如 JavaScript 的 function、Python 的 def)
- 以
#region/#endregion包裹的自定义区域(C#、TypeScript 等支持) - 多行注释块(如
/* ... */或"""...""",部分语言启用后) - VSCode 扩展添加的自定义折叠提供者(如 Markdown 的标题、JSON 的对象)
怎么触发这两个操作?
默认快捷键因系统而异,但通用方式一致:
-
折叠所有区域:
Ctrl+K Ctrl+0(Windows/Linux)或Cmd+K Cmd+0(macOS) -
展开所有区域:
Ctrl+K Ctrl+J(Windows/Linux)或Cmd+K Cmd+J(macOS) - 也可通过命令面板(
Ctrl+Shift+P)输入 “Fold All” 或 “Unfold All” 选择执行
为什么有时没反应?
常见原因包括:
- 当前文件类型未启用折叠支持(检查右下角语言模式,如显示为 “Plain Text” 就不支持)
- 没有可折叠的区域(比如纯配置 JSON 文件里没有嵌套对象,或单行脚本无函数)
- 折叠功能被禁用:检查设置中
"editor.folding": true是否开启 - 某些扩展干扰了折叠逻辑(可尝试禁用扩展后测试)
想折叠/展开全部(含缩进级)怎么办?
VSCode 默认不按缩进折叠,但你可以:
- 启用基于缩进的折叠(实验性):在设置中搜索
foldingStrategy,改为indentation - 手动折叠:选中某段代码 → 右键 → “折叠选中内容”,或用
Ctrl+Shift+[ - 安装扩展如 Indent Rainbow 或 Fold Plus 增强控制能力
基本上就这些。关键记住:“折叠所有区域”不是“折叠所有代码”,它依赖语言服务提供的折叠范围,不是视觉上的层级。










