折叠不生效首先检查fold_enable是否为false;fold_by_level启用语法层级折叠;fold_selection可手动折叠任意选区;// region需语法包支持且顶格书写;光标位置决定折叠是否触发。

折叠不生效?先确认 fold_enable 没被设为 false
很多人改完设置发现折叠全没了,翻来覆去调 fold_buttons 或 fold_by_level 都没用——其实是 fold_enable 被插件或旧配置悄悄关掉了。这个键是总开关,设为 false 时,所有折叠命令(包括快捷键和侧边按钮)全部静默失效。
打开 Preferences → Settings,在右侧用户设置里搜 "fold_enable":
- 如果存在且值为 false,直接删掉这行或改成 true
- 如果没出现,说明没被覆盖,默认就是 true,不用动
- 某些插件(如老版 BracketHighlighter)会在启动时强制写入 "fold_enable": false,临时禁用插件再验证一次更可靠
fold_by_level 是启用语法层级折叠的唯一开关
默认情况下,Sublime 只对 {}、[]、() 这类括号结构做基础折叠;def、class、if、HTML 标签这些“语义块”不会自动折叠,除非你明确打开 fold_by_level。
它必须加在设置里才起作用,而且有作用域限制:
- 全局启用(影响所有文件):"fold_by_level": true 加到 Preferences → Settings
- 仅对某语言生效(推荐):Preferences → Settings – Syntax Specific,然后加同一行
- 它只在当前语法正确识别的前提下生效(右下角不能是 Plain Text)
- 值为 true 即可,不是数字,也不是 1 或 "on"
手动折叠任意代码段:用 fold_selection 命令
当语法包不支持、或者你想临时收起一段 JSON/日志/配置,又不想改语法文件时,fold_selection 是最干净的解法。它完全绕过作用域识别和 .sublime-syntax 规则,纯靠选区。
使用ydata-profiling(前身为pandas-profiling)生成全面的数据质量报告,包含相关性分析、缺失值模式和基数检测。导出交互式HTML仪表板和JSON摘要。
操作方式(任选其一):
- 鼠标拖选多行 → 右键 → Code Folding → Fold Selection
- 鼠标拖选 → 按 Ctrl+Shift+P → 输入 Fold Selection → 回车
- 选中后按快捷键 Ctrl+Shift+Alt+[(Linux/Windows)或 Cmd+Ctrl+Option+[(macOS)
- 折叠后左侧 gutter 出现独立小箭头,点击即可展开,关闭文件即消失,不污染语法定义
想让 // region 生效?别指望默认支持
Sublime 原生不解析 // region 或 # region 注释。这类标记要起作用,得满足两个硬条件:当前语法定义里启用了 fold_comment 规则,且注释格式严格匹配正则(比如顶格写、配对完整)。
实际中几乎没人手动去改 .sublime-syntax 文件加 foldingStartMarker,因为:
- Python 和 JS 默认包虽支持,但要求 // region 必须顶格,前面不能有空格或 Tab
- // region utils 可以,// region: utils 或 // region utils // 就会失效
- 折叠后只显示整行注释内容,不会提取 utils 作为标签名
- 更稳妥的做法是直接用 fold_selection,或者装轻量插件如 CodeFolding,而不是碰语法文件
真正容易被忽略的是:折叠行为是否生效,80% 取决于光标是否落在可折叠结构的起始行(比如 def 行、function 行、{ 所在行),而不是你按了什么键或选了什么范围。

















