<p>VSCode无原生“折叠所有注释”功能,因默认不将//或/ /识别为折叠单元;可改foldingStrategy为indentation临时应对,但不稳定;推荐用#region/#endregion标记精准折叠,或正则批量添加标记。</p>

VSCode 里没有原生“折叠所有注释”的快捷键
VSCode 默认不识别 // 或 /* */ 注释为可折叠区域,所以按 Ctrl+Shift+[(Windows/Linux)或 Cmd+Shift+[(macOS)只会折叠代码块(如函数、if、class),对纯注释无效。这不是你配置错了,是编辑器根本没把注释当折叠单元。
用 editor.foldingStrategy 切到 indentation 可临时“骗过”折叠逻辑
VSCode 的折叠策略默认是 auto(依赖语言服务),但改成基于缩进的策略后,只要注释行缩进一致,就可能被当成同级区块折叠——尤其适合文档式注释(比如 JSDoc 前的多行 // 或缩进对齐的 /* ... */)。
- 打开设置(
Ctrl+,),搜foldingStrategy - 把
Editor > Folding Strategy改成indentation - 重启当前文件或重载窗口(
Ctrl+Shift+P→Developer: Reload Window) - 手动选中一段连续缩进相同的注释行,按
Ctrl+Shift+[尝试折叠
⚠️ 注意:这招不稳。如果注释里混了空行、缩进不一致、或紧挨着代码,大概率折不了;且会同时影响函数/块的折叠行为,可能让原本清晰的结构变乱。
真正可靠的方式:用正则 + 折叠区域标记(#region)
VSCode 明确支持 #region / #endregion(TypeScript/JavaScript/Python/C# 等都认)。把想折叠的注释包进去,就能稳稳收起来。
- 在注释前加
// #region docs,注释后加// #endregion - 或者用多行注释:
/* #region config */ ... /* #endregion */ - 保存后,左侧折叠控件就会出现小三角,快捷键也生效
示例:
// #region API说明 // 这里是一大段接口用途、参数含义、返回值解释 // 每行都以 // 开头,但被 region 包裹 // #endregion
✅ 优点:精准、跨语言通用、不依赖缩进;❌ 缺点:要手动加标记,不适合已有大量无标记注释的旧文件。
批量处理老文件?别用插件,用 VSCode 自带的“查找替换 + 正则”
想给一批已有的注释块自动套上 #region?别装“Fold All Comments”这类小众插件(多数已停更、权限可疑、折叠逻辑不可控),直接用编辑器内置能力更安全。
- 打开替换面板(
Ctrl+H),开启正则模式(.*按钮) - 查找:
(/\*\*[\s\S]*?\*/)|((//.*\n)+)(粗略匹配 JSDoc 或连续单行注释) - 替换为:
// #region comment\n$0// #endregion - ⚠️ 先
Alt+Enter预览匹配项,确认没误伤代码行再全部替换
这个正则只是起点——实际得根据你的注释风格调,比如是否允许空行、是否排除 // TODO 类短注释。一上来就全量替换,很容易把 // 开头的调试语句也包进去。
真正麻烦的不是怎么折,而是注释本身有没有结构。一堆零散、无缩进、无分组的 // 行,无论用什么法子,都很难干净地合在一起。这时候该想的不是快捷键,是是不是该重写那部分注释了。


















