讲师中心 微信公众号
AI工具推荐 视频效率加速

Sublime怎么折叠所有函数定义 Sublime快速查看代码逻辑层级【层级】

夏杰同学_2786

夏杰同学_2786

发布时间:2026-04-27 12:49:26

|

453人浏览过

|

来源于php中文网

原创

Sublime无一键折叠所有函数的原生命令,Ctrl+K,Ctrl+1按缩进层级或语法块顶层折叠,并非语义函数;需用fold_by_level配合show_scope_name实测函数作用域层级数字。

sublime怎么折叠所有函数定义 sublime快速查看代码逻辑层级【层级】

Sublime 没有“一键折叠所有函数定义”的原生命令,所谓“折叠所有函数”必须靠作用域识别 + 手动验证层级数字,不能直接按 Ctrl+K, Ctrl+1 或 Fold All。

为什么 Ctrl+K, Ctrl+1 折的不是函数?

这个快捷键折叠的是「缩进层级」或「语法块顶层结构」,不是语义上的函数。在 Python 中它可能收起 def、class、if __name__ == '__main__';但在 JavaScript 中,const fn = () => {} 这类赋值式函数不会被识别为可折叠单元——因为它的作用域是 source.js meta.assignment.js,而非 meta.function.js。

  • Ctrl+K, Ctrl+0 是按缩进折叠全部(会把注释、if 块全收进去)
  • Ctrl+K, Ctrl+1 不等于“所有函数”,它只对当前语法定义中标记为 level 1 的折叠单元生效
  • 右下角显示 Plain Text / Unknown Syntax 时,该快捷键完全无效

怎么确认函数是否被正确识别为可折叠单元?

光标停在 def my_func(): 或 function foo() { 行,按 Ctrl+Shift+P(macOS 是 Cmd+Shift+P),输入 show_scope_name 回车。状态栏显示内容决定一切:

  • ✅ 显示类似 source.python meta.function.python → 函数作用域已识别,可折叠
  • ❌ 只显示 source.python 或 source.python meta.block.python → 语法高亮失效、插件冲突或缩进混用(比如某行用了 tab)
  • ⚠️ 显示 source.python comment.line.number-sign.python → 光标实际停在注释行,不是 def 行

真正能批量折叠所有函数的实操路径

必须用 fold_by_level 命令,并手动试出当前语言下 meta.function 对应的折叠层级数字。这个数字不是固定值,取决于你当前加载的语法文件中 meta.function 的嵌套深度。

  • 先手动按 Ctrl+Shift+[ 折一个函数,确保它真被识别了
  • 打开命令面板:Ctrl+Shift+P → 输入 fold_by_level → 回车
  • 依次尝试输入 1、2、3、4(Python 通常是 2,JS 常是 3,但必须实测)
  • 输错不会报错,只是没反应;一旦输对,所有被标记为 meta.function 的块会同时收起
  • 若部分函数没被折(比如嵌套函数),说明它们属于更深层级(如 level 3),需单独再执行一次 fold_by_level 3

绕不开的三个硬限制

即使操作全对,也会遇到这些 Sublime 原生机制决定的边界:

  • 折叠最多支持 10 层嵌套,深层嵌套函数或模板字符串内联函数会自动截断
  • .vue 或 .md 文件中的代码块,若

相关专题

更多
Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

0

2026.10.22

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

0

2026.10.22

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

0

2026.10.22

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

0

2026.10.22

PHP时间戳漏洞修复教程
PHP时间戳漏洞修复教程

本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。

0

2026.10.22

Golangci-lint配置文件与规则设置
Golangci-lint配置文件与规则设置

本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。

0

2026.10.22

Golangci-lint安装与入门教程
Golangci-lint安装与入门教程

本专题讲解Golangci-lint的安装、初始化、基础命令和首次代码检查,覆盖本地环境、Docker及多平台用法,帮助Go开发者快速上手。

0

2026.10.22

PHP2Shell高危漏洞修复教程
PHP2Shell高危漏洞修复教程

PHP2Shell漏洞是什么,哪些PHP版本和运行环境会受到影响,服务器应该如何检测与修复?本专题提供版本自查脚本、Linux与Docker升级命令、PHP-FPM和Apache排查步骤,以及修复验证、临时缓解和应急响应方案。

40

2026.10.22

剧云人物设定与关系管理教程
剧云人物设定与关系管理教程

本专题介绍剧云人物设定与关系管理,讲解角色小传、性格职业、人物目标、背景资料和关系网络的创建及维护方法。

0

2026.10.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn