sublime text 无原生“代码地图”面板,但可通过ctrl+r/cmd+r调出符号列表实现轻量导航;要固定左侧函数树,需安装symbol list插件并设"show_in_sidebar": true。

Sublime Text 里没有原生“代码地图”面板,但可以靠 Symbols List + 插件模拟实现
Sublime Text 默认不提供类似 VS Code 的侧边大纲(Outline)视图,但内置的 Ctrl+R(Windows/Linux)或 Cmd+R(macOS)能快速唤出当前文件的函数/类/方法符号列表——这本质就是最轻量的“代码地图”。它只依赖语法高亮定义中的 scope 和 symbol_list 规则,无需额外插件。但默认行为有限:不持久显示、不支持折叠、不跨文件索引。
用 SideBarEnhancements 或 CTags 插件补全左侧导航能力
想让函数列表固定在左侧、可展开、带图标、支持跳转,得靠插件。主流选两个:
-
SideBarEnhancements:轻量,仅增强侧边栏右键功能,不提供函数树;它不是你要的“左侧函数列表”,别装错 -
CTags(配合ctags命令行工具):真正生成符号索引,支持跨文件跳转和左侧树状导航,但配置稍重 - 更推荐
Symbol List插件(Package Control 可搜到):纯 Python 实现,无外部依赖,启用后按Ctrl+Shift+P→ 输入Symbol List: Toggle即可呼出左侧悬浮面板,支持搜索、双击跳转、按作用域分组
Symbol List 插件的配置关键点:别漏掉 show_in_sidebar
安装后默认是弹窗模式,要让它常驻左侧必须改配置。打开 Preferences → Package Settings → Symbol List → Settings,确保有:
{
"show_in_sidebar": true,
"sidebar_width": 280,
"show_full_path": false,
"sort_order": "file_then_symbol"
}
注意:"show_in_sidebar": true 是核心开关;如果没生效,大概率是主题或 UI 插件(比如 Origami)占用了侧边栏区域,此时需关闭其他侧边栏插件或调小 sidebar_width。
为什么有些函数不显示?检查语言语法定义里的 meta.function
Symbol List 和原生 Ctrl+R 都依赖 Sublime 的语法定义(.sublime-syntax 文件)是否正确定义了函数 scope。比如 Python 中,若某函数被写成 def func(): 但缩进异常,或用了装饰器未被语法识别,就可能漏掉。常见问题:
- 自定义语法文件没声明
meta.function或entity.name.function - JS/TS 文件用的是社区语法包(如
Babel),但Symbol List默认只认官方JavaScript语法,需在插件设置里加"javascript": ["Babel"] - PHP 中匿名函数、箭头函数在老版本语法里不被识别,升级
PHP语法包即可
验证方式:把光标放在函数名上,按 Ctrl+Shift+P → Developer: Show Scope Name,看输出里是否含 entity.name.function。
左侧函数列表不是开箱即用的功能,它高度依赖语法定义质量与插件配置精度。最容易卡住的地方,往往不是插件装没装,而是 scope 没匹配上,或者 show_in_sidebar 没设为 true。











