sublime 不支持打开即折叠注释块,因其折叠机制不将注释视为独立折叠单元;需手动配置语法专属设置或安装插件,并依赖正确语法识别,且自动折叠无法实现纯注释隔离。

Sublime 默认不支持“打开即折叠注释块”
这不是配置漏了,而是 Sublime 的折叠机制压根不把注释当独立折叠单元处理——fold_comments 只在部分语言中启用行内注释(如 #、//)的自动折叠,且仅限语法定义明确标记为可折叠的场景;#region 这类自定义标记更不在原生支持范围内。你改了用户设置里的 "fold_comments": true 却没反应,大概率是因为当前文件语法未加载、或所用插件(如 Babel、Vue Syntax)覆盖了原生规则。
让注释块可折叠的两种实操路径
必须动手改东西,没有一键开关:
- 对标准注释(
//、/* */、#、'''):在当前文件语法专属设置里(Preferences → Settings – Syntax Specific)加一行"fold_comments": true;但注意 Python 的"""多行字符串会被误判为注释,导致代码被意外折叠 - 对
#region/#endregion这类标记:得装插件(如CodeFolding)或手动编辑.sublime-syntax文件,在fold规则里补正则匹配(例如^\s*#\s*region.*$),并确保启用dotall模式,否则跨行内容无法捕获
二者都依赖右下角状态栏显示正确语法(比如 Python 而非 Plain Text),否则设置不生效。
真正“只折注释、不碰代码”的稳解法是手动选中 + 折叠
自动机制做不到纯注释隔离,但你可以精准控制:
- 按
Ctrl+F搜索^[s]*//.*$(匹配整行单行注释),勾选Regex和Whole Word - 点
Find All高亮所有匹配行,再按Ctrl+Shift+L为每行生成独立光标 - 微调选区(比如删掉空行或混入的代码行),最后按
Ctrl+Shift+[折叠选中区域
这样折叠后的区块不会被 fold_all 或 unfold_all 影响,只能点击左侧折叠标记或运行 unfold_selection 展开——适合临时清理阅读视图。
别指望“打开文件时自动折叠所有注释块”能一劳永逸
即使你写了插件监听 on_load_async 并执行 fold_by_level 或 fold_all,它也只作用于语法定义认可的结构,注释块仍不会被纳入。真要实现“每次打开就收起注释”,唯一可行的是:先用正则批量选中注释 → 折叠 → 保存会话(File → Save Session),但 session 不跨 Sublime 重启保留,且重载后注释块仍会展开。本质上,Sublime 的折叠是视图态操作,不是文件态标记——这点比 VS Code 或 Vim 的注释折叠限制更硬。











