Ctrl+K Ctrl+0(Windows/Linux)或 Cmd+K Cmd+0(macOS)可一键递归折叠所有可折叠区域,包括函数、类、if块等;需确保文件已保存且语言模式正确,Python用户还需设置"editor.foldingStrategy": "language-defined"。
Ctrl+K Ctrl+0 折叠所有区域(含函数体)
VSCode 默认不自动折叠函数,但内置了层级折叠命令。
(Windows/Linux)或
(macOS)是真正“一键收起全部”的快捷键,它会递归折叠所有可折叠区域:函数、类、if 块、注释块等。
注意这不是“只折函数”,而是按当前语言的折叠规则全量折叠——对 JavaScript/TypeScript/Python/Java 等主流语言,函数定义天然构成一个折叠单元,所以效果上就是所有函数体被收起。
必须先确保文件已保存(未保存的临时文件可能不触发语法折叠)
如果按了没反应,大概率是当前语言模式没识别对:检查右下角状态栏,确认显示的是
、
而不是
部分语言(如 JSON)默认无折叠逻辑,
无效是正常的
为什么 Ctrl+Shift+[ 不起作用?
是“折叠当前光标所在区域”的快捷键,不是全局操作。它只影响光标所在的最内层可折叠块(比如你正停在某个
语句里,它就只折这个
;停在函数名上,才可能折整个函数体)。
常见误操作:把光标放在函数第一行末尾或空行,此时 VSCode 可能无法准确定位到函数范围,导致折叠失败。
安全做法:把光标放在函数关键字上(如
、
、
所在行)再按
想批量操作?别用这个,直接上
该快捷键在某些键盘布局(如部分 Mac 外接键盘)可能被系统拦截,需在系统设置中放行
Python 函数折叠失效?检查 "editor.foldingStrategy"
Python 用户常遇到函数不折叠,即使用了
也只折注释和 import。根本原因通常是 VSCode 没启用基于语法的折叠策略。
VSCode 1.118
微软正式发布 Visual Studio Code 1.118 版本 。本次更新重点强化了 AI 开发体验与企业管理能力,其中最引人注目的是新增 Copilot CLI 远程控制功能,允许开发者通过手机或网页远程监控和接管 AI 会话 。同时,为了提高 AI 的运行性价比,新版本优化了令牌缓存策略以降低成本 。此外,1.118 版还引入了 Chronicle 本地历史追踪、TypeScript 7.0 支持以及更严格的企业级访问管控 。
下载
默认情况下,Python 使用
策略,但某些旧版本或插件冲突会导致回退到
(仅按缩进折叠),而缩进折叠无法识别
函数边界。
打开设置(
),搜
找到
,设为
或者直接在
中加:
改完重启编辑器或重载窗口(
→
)
自定义折叠区域:用 //#region 注释标记任意代码块
不是所有逻辑都天然可折叠。比如一段长配置对象、一大段初始化代码,或者你想手动组织的业务模块,VSCode 支持用注释指令定义折叠区。
在支持的语言(JS/TS/Python/Java/C# 等)中,写:
即可将其折叠。
和
必须独占一行,且前面只能有空白或
(JS/TS)或
(Python)
VSCode 不校验配对,写漏
会导致后续所有折叠错乱
该功能依赖语言服务器,某些轻量级 Python 解释器(如 Pylance 关闭时)可能不响应
折叠本身不改变代码行为,但过度依赖区域标记会让别人读代码时多一层心智负担。真要整理大文件,优先考虑拆模块,而不是堆
。
Ctrl+K Ctrl+0Cmd+K Cmd+0JavaScriptPythonPlain TextCtrl+K Ctrl+0Ctrl+Shift+[ififfunctiondefpublic voidCtrl+Shift+[Ctrl+K Ctrl+0Ctrl+K Ctrl+0autoindentationdefCtrl+,foldingStrategyEditor > Folding Strategylanguage-definedsettings.json"editor.foldingStrategy": "language-defined"Ctrl+Shift+PDeveloper: Reload Window// #region 初始化配置
const config = { ... };
// #endregion#region#endregion//##endregion#region