Sublime注释折叠需依赖语法定义和插件支持;默认仅部分语言有效,Plain Text等无折叠功能;手动选中注释行用fold_selection最可靠,fold_all等命令对注释无效。

注释块折叠不生效,先确认语法和折叠规则是否加载
Sublime 默认对 /* */、//、'''、""" 等注释结构的折叠支持,依赖当前文件的 syntax definition(语法定义)是否声明了 foldingStartMarker 和 foldingStopMarker。很多语言(如 Python、JavaScript)自带语法包已内置,但部分场景下仍会失效:
- 右下角状态栏显示为
Plain Text或空值 → 折叠完全不可用,必须手动设置语法(Ctrl+Shift+P→Set Syntax: Python) - Vue/JSX/TypeScript 单文件组件中,
<!-- -->或//注释可能不被识别 → 需安装Vue Syntax Highlight或Babel插件并重启 - 自定义注释标记(如
#region/#endregion)默认不支持 → 要启用需在用户配置中添加"fold_regions": ["#region", "#endregion"],或装插件CodeFolding
想只折叠注释、不碰代码?用 fold_selection 最稳
自动折叠机制无法区分“纯注释块”和“带代码的函数”,但你可以精准选中所有注释行再折叠——它不依赖语法,只认选区:
- 按
Ctrl+F搜索//或/*,勾选Whole Word和Regex(如用^[\s]*//.*$匹配整行注释),点Find All→ 全部高亮 - 再按
Ctrl+Shift+L将每个匹配转为独立光标,然后Ctrl+↑/↓微调选区(避免误含空行或代码) - 最后按
Ctrl+Shift+[→ 所有选中行立刻收为一个折叠块,左侧出现...提示 - 注意:该方式折叠后,
Unfold All(Ctrl+K, Ctrl+J)不会展开它,得手动点击折叠标记或用unfold_selection命令
fold_all 和 fold_level 对注释无效,别白按
fold_all(Ctrl+K, Ctrl+0)和 fold_level 命令只作用于语法定义中明确标记为可折叠的结构(如 function、class、{、def),注释块不在其识别范围内。即使你看到注释被高亮,它们也不会被纳入层级计算。
- 执行
fold_level 1只会折类/函数顶层,注释原样不动 - 反复按
Ctrl+K, Ctrl+0是在逐级加深代码结构折叠,和注释毫无关系 - 若文件里注释占比高,建议优先用
fold_selection+ 正则批量选中,比调参数更直接
JSON/YAML/Markdown 文件里的注释根本折不了
Sublime 自带的 JSON、YAML、Markdown 语法包压根没定义注释折叠规则——因为这些格式标准本身不支持注释(JSON 官方无注释,YAML 注释是单行 #,Markdown 注释是 HTML 风格 <!-- -->),所以连 foldingStartMarker 都没写。
- 强行想折 JSON 中的
//行?装插件JSON Folding或改用JSON with Comments语法 - Markdown 里想折
<!-- ... -->?换MarkdownEditing插件,它重写了语法定义并启用了折叠 - 临时方案:把注释块用
/* ... */包裹(即使文件是 .md),再设语法为JavaScript→ 可触发折叠(仅调试用,勿提交)
真正难的不是怎么折,而是判断哪些注释能被自动识别、哪些必须手动干预。语法定义是否完整、插件是否冲突、正则是否漏行——这些细节一错,快捷键就成摆设。

















