ctrl+r 是最稳的起点,90% 日常代码浏览无需插件;失效主因是文件未识别为对应语言,需右键设语法;对非编程语言如 markdown 无效;outline 适合常驻侧边大纲;ctags 用于跨文件跳转但需手动更新索引;functiongraph 灵活但需手动安装且依赖正则配置。

Ctrl+R 是最稳的起点,别绕路装插件
90% 的日常代码浏览,Ctrl+R(Windows/Linux)或 Cmd+R(macOS)就能解决。它不依赖插件、不生成额外文件、不卡顿,开箱即用。
常见失效不是功能坏了,而是文件没识别成对应语言:右下角显示 Plain text 时,Ctrl+R 几乎不出符号。右键 → Set Syntax → 选对语言(如 Python、JavaScript)即可恢复。
- 支持语言取决于当前语法包是否定义了
symbolList规则,主流语言基本都覆盖 - 输入关键词实时过滤,回车跳转;上下键导航,
Esc退出,无副作用 - 对 Markdown、JSON、YAML 等非编程语言无效——它们本身没有“函数/类”结构概念
Outline 插件适合要常驻侧边树形结构的人
如果你真需要一个可折叠、带缩进层级、一直挂在侧边栏的大纲,Outline 是目前最活跃、最轻量的选择,比已停更的 CodeMap 可靠得多。
安装后默认快捷键是 ctrl+alt+o(Windows/Linux)或 cmd+alt+o(macOS),触发后只作用于当前活动文件,不会跨文件聚合。
- 它不自动刷新:文件改了之后,得再按一次快捷键重新生成
- 语言支持不均等——Python/JS/TS 识别准,Bash/Shell 脚本可能只抓到函数名,漏掉
if或for块 - 不解析注释、不识别自定义 DSL,纯靠语法高亮规则或 LSP 提供的 symbol list
CTags 适合大型项目跨文件跳转,但维护成本高
CTags 不是“大纲视图”,而是符号索引系统。它生成 tags 文件后,让你用 Ctrl+T 在整个项目里搜函数、类、变量——本质是全局 Goto Definition 的轻量替代。
运行 ctags -R . 生成索引后,Ctrl+T 才有效。但这个文件不会自动更新,加了新函数就得手动重跑命令。
- 对 C/C++/Go/Java 支持成熟;Python 需配合
ctags --fields=+nia才能识别方法 - 不兼容 Windows 默认终端(CMD/PowerShell),推荐用 Git Bash 或 WSL 运行
ctags - 和
Outline冲突风险低,但和 LSP 插件(如SublimeLSP)可能重复提供跳转能力
FunctionGraph 适合想手动控制识别逻辑的人
FunctionGraph 是个冷门但灵活的选项:它不用外部工具,纯靠正则扫描源码,支持 Python/JS/PHP/C++ 等,且允许你直接编辑配置文件补全识别规则。
但它不在 Package Control 官方仓库,得手动下载源码放进 Packages/FunctionGraph 目录,重启生效。快捷键也是 Ctrl+Alt+O。
- 正则写错会导致整个面板空白——调试时建议先复制官方 Python 规则验证基础路径
- 不处理嵌套作用域(比如类内方法的缩进层级),只做扁平化提取
- 对空格/制表符混用敏感,缩进不一致的旧代码可能漏识别
Ctrl+R;不行再按需装 Outline 或 CTags。复杂点不在操作步骤,而在语言支持的“灰度地带”——同一个插件在不同文件里表现可能天差地别,得一个个验证,而不是指望“装了就全好”。











