VSCode代码折叠支持语法结构、缩进和手动区域三种策略,可通过快捷键或鼠标操作折叠/展开,提升代码浏览效率。

VSCode 的代码折叠功能可以帮助你快速收拢和展开代码块,提升阅读和编辑效率。它支持多种折叠策略,适应不同语言和结构需求。
基于语法结构的折叠(Syntax-Aware Folding)
这是默认的折叠方式,VSCode 会根据语言的语法解析出可折叠区域,比如函数、类、条件语句、循环等。
- 支持的语言包括 JavaScript、TypeScript、Python、Java、C++、HTML、CSS 等
- 例如在 Python 中,函数定义、类定义或 if 块会被自动识别为可折叠区域
- 在 HTML 中,标签嵌套层级也会形成自然的折叠点
基于缩进的折叠(Indent-Based Folding)
对于不支持语法解析或没有明确块结构的语言(如 YAML、Makefile),VSCode 可使用缩进来判断折叠范围。
- 通过设置 "editor.foldingStrategy": "indentation" 启用
- 按缩进层级折叠,适合无括号或关键字的语言
- 虽然不如语法感知精确,但在简单结构中很实用
手动折叠区域(Folding Regions)
你可以通过注释标记来自定义折叠范围,适用于想临时收拢某段逻辑的情况。
- 写法示例:#region 描述 和 #endregion(不同语言略有差异)
- JavaScript/TypeScript 中可用:// #region 和 // #endregion
- Python 中虽不原生支持,但部分扩展可实现类似功能
折叠级别与操作控制
VSCode 提供快捷键和命令来灵活控制折叠行为。
- 快捷键:Ctrl+Shift+[ 折叠,Ctrl+Shift+] 展开
- 鼠标操作:行号旁的小三角点击即可折叠
- 命令面板输入 “Fold All” 或 “Unfold All” 进行批量操作
- 可通过 "editor.foldingLevel" 设置初始折叠层级










