Outline插件是Sublime Text中开箱即用的侧边树形大纲视图首选,支持Python/JS/Java/C++等主流语言,安装后默认启用,按Ctrl+Alt+O或右键“Toggle Outline”即可呼出,不依赖ctags、纯正则解析当前文件,启动快且适配ST4新API。

Ctrl+R 是 Sublime Text 原生最快能用的大纲入口,但不常驻、不树形、不支持跨文件跳转——真要稳定显示代码结构大纲视图,得靠插件,且必须分清「轻量符号列表」和「侧边树形大纲」两类需求。
用 Package Control 安装 Outline 插件(推荐首选)
Outline 是目前最活跃维护、开箱即用的树形大纲插件,支持 Python/JS/Java/C++ 等主流语言,安装后自动在侧边栏显示类、函数、方法的缩进结构。- 安装前确保已装
Package Control:按Ctrl+`打开控制台,粘贴对应版本的安装代码(2026 年最新版 hash 为6f4c264a24d23ca7df454c82994c8f2d开头),执行后重启 - 按
Ctrl+Shift+P输入Install Package→ 回车 → 输入Outline→ 选中安装 - 安装完无需配置,默认启用;按
Ctrl+Alt+O或右键文件 →Toggle Outline即可呼出侧边树形面板 - 注意:Outline 不依赖
ctags,不生成外部tags文件,纯正则解析当前文件,所以打开速度快,但对嵌套过深或动态定义(如 JS 的eval、Python 的exec)识别有限
手动安装 FunctionGraph(适合需要自定义语法的语言)
FunctionGraph 更灵活,支持通过正则规则扩展识别逻辑,适合写 DSL、配置文件或小众语言,但它不进 Package Control,必须手动放包。- 进入
Preferences → Browse Packages…,新建文件夹FunctionGraph - 到 GitHub 搜索
sublime-functiongraph,下载最新版function_graph.py和FunctionGraph.sublime-settings,放入该文件夹 - 重启 Sublime,按
Ctrl+Alt+O调出面板(若无效,检查快捷键是否被其他插件占用) - 默认只识别 Python 函数和类,想加 JS 支持?编辑
FunctionGraph.sublime-settings,在rules里补一条:{ "selector": "source.js", "function": "^\s*(async\s+)?function\s+([\w$]+)\s*\(", "class": "^\s*class\s+([\w$]+)\s*(?:extends|{)" } - 容易踩的坑:
function_graph.py里的正则若写错,整个插件会静默失效,无报错提示;建议先用在线 regex 测试器验证匹配逻辑
别碰 CTags(除非你真有跨文件跳转刚需)
CTags 能生成项目级符号索引,支持Ctrl+T 全局跳转,但它不是“大纲视图”,而是符号搜索工具。
- 安装后必须在终端运行
ctags -R .生成tags文件,否则Ctrl+T列表为空 -
tags文件不会自动更新:改了函数名或新增文件后,得重新跑命令,否则跳转失效 - Windows 下常见问题:
ctags命令未识别 → 需单独安装 Universal Ctags,并把 bin 路径加进系统PATH - 性能影响明显:大型项目生成
tags可能卡顿几十秒,且 Sublime 不缓存解析结果,每次打开都重读文件
为什么 Outline 比 FunctionGraph 更适合日常?
Outline 启动快、UI 整洁、支持折叠/双击跳转/右键菜单,而 FunctionGraph 的面板是弹窗式、不记忆展开状态、无法拖拽调整宽度。更关键的是:Outline 已适配 Sublime Text 4 的新 API,FunctionGraph 最后一次提交停留在 2024 年底,部分新语法(如 Python 3.12 的type 语句)可能漏识别。
真正需要关注的细节,其实是语言语法的边界情况——比如 Python 中装饰器跨行、JS 中箭头函数无 function 关键字、TypeScript 接口定义——这些地方 Outline 和 FunctionGraph 都依赖正则,没有 AST 解析,识别不准是常态,别指望它 100% 对齐 IDE。


















