ctrl+shift+[ 不生效主因是状态栏显示 plain text 或光标未停在折叠起始行;需确保右下角为 python 等真实语言名,且光标位于 def、{ 等语法起点行。

Ctrl+Shift+[ 按了没反应?不是快捷键没设,而是它根本没被触发——90% 的情况是右下角显示 Plain Text,或者光标没停在能折叠的行上。
为什么 Ctrl+Shift+[ 不生效?先看状态栏和光标位置
这个快捷键只对「当前行是折叠起点」且「语法已正确识别」时才起作用:
- 右下角必须显示
Python、JavaScript、JSON等真实语言名,Plain Text下所有折叠逻辑静默关闭 - 光标必须停在
def、class、function、{、<div> 这类起始行,停在函数体内部、空行、注释里都不响应 <li>不确定是否识别成功?按 <code>Ctrl+Shift+P→ 输入Developer: Show Scope Name,光标在def行时输出应含meta.function -
Ctrl+K, Ctrl+0是fold_all:一次性折叠所有已识别的结构(函数、类、顶层if、import),但要求右下角语言名正确,否则静默失败 -
Ctrl+K, Ctrl+1是fold_by_level:只折 scope depth = 1 的结构,比如 Python 中常是import区或if __name__ == "__main__":,不是“第一层缩进” - 输错数字不会报错,只是没反应;顺序必须是先按
Ctrl+K松开,再按数字键(别按成Ctrl+K+1三键连按) - 鼠标拖选任意连续多行(哪怕全是注释或空行)
- 按
Ctrl+Shift+Alt+[(Windows/Linux)或Cmd+Ctrl+Option+[(macOS) - 侧边栏出现独立小箭头,点击即可展开/收起
- 该折叠仅存于当前会话,关文件即消失,不影响其他自动折叠逻辑
- 打开
Preferences → Settings,右侧用户设置中必须有:"fold_buttons": true - 加一行提升可见性:
"fade_fold_buttons": false - 如果存在
"fold_enable": false,折叠会彻底失效——删掉这行或改成true - 某些插件(如旧版 Vue/YAML 插件)会悄悄写入
false,建议全局搜索整个设置文件确认
Ctrl+K, Ctrl+0 和 Ctrl+K, Ctrl+1 到底在折什么?
它们不看缩进空格数,只认语法定义中的作用域嵌套深度(scope level):
手动选中几行就折?用 fold_selection 命令
这是唯一不依赖语法、不改设置、100% 可控的方式,适合临时收起日志、JSON 配置、测试数据:
侧边栏没三角图标?检查两个关键设置
即使快捷键有效,UI 层可能被关了:
Ctrl+K, Ctrl+1 在 HTML 或自定义 DSL 中基本无效——它依赖语法文件里明确定义的 foldingStartMarker,不是所有语言都自带。











