Ctrl+Shift+[ 折叠光标所在区域,需将光标置于 function/if/def/{ 等语法起始行才生效;Ctrl+K Ctrl+0 可折叠全部可识别结构,但依赖语言模式正确及 foldingStrategy 设置;#region 折叠需对应语言扩展支持且格式规范。
Ctrl+Shift+[ 折叠当前光标所在代码块,但光标位置很关键
这个快捷键不是“随便按一下就折”,它会从光标所在行向上查找最近的可折叠节点(比如
、
、
、
开头行),然后折叠整个结构体。如果光标落在空行、单行注释、字符串内部或缩进不一致的 Python 行上,大概率没反应。
常见错误现象:
这行明明有函数声明,按了
却只折了一行——其实是光标没落在该行,而是卡在下一行空行或注释里。
必须把光标放在有语法意义的起始行:如
、
、
、
、
所在行,或 Python 中
/
的缩进首行
JSX 或 Vue SFC 中的
内联表达式默认不被识别,需装对应语言插件并确认其提供了
鼠标悬停在行号左侧出现 ▶ 时再按快捷键,成功率更高;没图标基本说明 VSCode 没识别出可折叠结构
Ctrl+K Ctrl+0 折叠全部,但不是所有代码都会被收起来
这个操作只作用于语言扩展明确标记为“可折叠”的结构,比如函数体、类定义、带
的语句块、HTML 标签对。它不会折叠纯文本、空行、单行注释,也不会强制按缩进收起 Python 的 if 分支——除非你手动设过
。
常见错误现象:Python 文件里按了
,结果只有
被折,
函数体还在展开状态——这通常是因为 Python 扩展的
默认只识别
和模块级
,而普通函数需依赖缩进策略。
检查右下角语言模式是否正确(例如显示
而非
)
在设置中搜
,Python 推荐设为
;JS/TS 等建议保持
是两步:先按住
松开,再立刻按
(数字零,不是字母 O);Mac 用户注意是
松开后再按
某些插件(如 Prettier、Ember CLI)会劫持
前缀,可在
中搜索
确认绑定是否被覆盖
#region 注释折叠需要语言扩展支持,不能随便写
VSCode 不是看到
就自动折叠,它依赖当前语言扩展是否实现了对这种标记的解析。JS/TS 默认支持
和
;Python 官方扩展也支持,但必须用
开头、且不能混用
这类多行变体。
VSCode 1.118
微软正式发布 Visual Studio Code 1.118 版本 。本次更新重点强化了 AI 开发体验与企业管理能力,其中最引人注目的是新增 Copilot CLI 远程控制功能,允许开发者通过手机或网页远程监控和接管 AI 会话 。同时,为了提高 AI 的运行性价比,新版本优化了令牌缓存策略以降低成本 。此外,1.118 版还引入了 Chronicle 本地历史追踪、TypeScript 7.0 支持以及更严格的企业级访问管控 。
下载
常见错误现象:写了
却没出现折叠图标——大概率是文件没被识别为 JS/TS,或者扩展未加载(比如 .js 文件被误设为 Plain Text)。
确保右下角语言模式正确,例如 JavaScript、TypeScript、Python(不是 “JavaScript React” 或 “JSON with Comments”)
不要写
或
,VSCode 只识别单行注释开头的
嵌套最多支持 5 层,再深可能触发渲染异常或折叠失效
折叠状态默认不保存,关掉文件再打开就恢复展开;如需记住,得装扩展(如 “Auto Save Folding State”)或启用
Ctrl+K Ctrl+J 展开全部,但它不等于“还原原始状态”
这个命令只会把当前已折叠的层级展开,不会去碰那些本来就没被折叠的代码。比如你手动用
折了第 3 层 if 块,又用
折了第 1 层 class,此时
会同时展开 class 和 if,但如果你之前跳过某段没动过,它就永远保持原样。
没有内置的“一键回到最初打开时的折叠状态”功能。所谓“展开全部”,只是“展开所有已被折叠的部分”,不是“重置所有折叠”。
大型文件中频繁使用
可能导致光标跳到文件顶部,因为视图重排;建议配合
快速回位
HTML 文件里它能折叠/展开标签对,但若文档缺失
根节点,可能退化为纯文本处理,折叠失效
JSON 文件默认不支持语法级折叠,除非设
为
,否则
对
或
无响应
折叠逻辑高度依赖语言扩展实现和设置组合,同一份代码在不同配置下表现可能完全不同。最常被忽略的是
和语言模式识别——这两项不出问题,其他快捷键才真正可靠。
functionifclass{def my_func():Ctrl+Shift+[functionforif{classdefif{}foldingProvider{}"editor.foldingStrategy": "indentation"Ctrl+K Ctrl+0classdeffoldingProviderclassif __name__ == "__main__"PythonPlain TextfoldingStrategyindentationautoCtrl+K Ctrl+0Ctrl+KCtrl+0Cmd+KCmd+0Ctrl+Kkeybindings.jsoneditor.foldAll#region// #region// #endregion#/* #region */// #region utils/* #region *//* #region ... #endregion */#region"workbench.editor.restoreViewState": trueCtrl+Shift+[Ctrl+K Ctrl+0Ctrl+K Ctrl+JCtrl+K Ctrl+JCtrl+HomefoldingStrategyindentationCtrl+K Ctrl+J{}[]foldingStrategy