Ctrl+Shift+O(Windows/Linux)或Cmd+Shift+O(macOS)是打开并聚焦大纲视图的必备快捷键,后续筛选、跳转等操作均以此为前提;需确保文件语言模式为markdown,且标题符合ATX格式(#开头、无前置空格或HTML),否则大纲为空。

Ctrl+Shift+O 打开/聚焦大纲视图是核心入口
这个快捷键不是“可选”,而是所有后续操作的前提。它会直接唤出 Outline 面板并把焦点移入其中,之后才能用键盘上下导航、输入筛选。Windows/Linux 是 Ctrl+Shift+O,macOS 是 Cmd+Shift+O。如果按了没反应,先确认当前文件语言模式是否为 markdown(右下角状态栏点击检查),否则 Outline 不会加载。
在大纲视图中用键盘快速筛选和跳转
焦点进入 Outline 后,直接开始打字就能触发实时过滤——不需要先点筛选框。比如输入 setup,所有含该字符串的标题都会高亮;按 Enter 跳转到第一个匹配项,↑/↓ 可在匹配结果间切换。
- 按
Esc清空当前筛选,恢复完整列表 - 连续按两次
Enter:第一次跳转,第二次在编辑器中选中该标题行(方便重命名或修改) - 不支持正则或模糊匹配,只做子串匹配,所以
api会命中API和setupApi
配合方向键和折叠操作控制大纲层级
Outline 默认展开全部标题,但大型文档里真正需要的是“看局部、收全局”。光标选中某条目后:
通过 jina.ai 将网页抓取为精简的 markdown,用于在需要获取 URL 并获取压缩的 markdown 内容以节省 token。触发词 l...
-
←折叠其子标题(如果存在) -
→展开其子标题 -
Home跳到大纲顶部,End跳到底部 - 折叠后的父标题仍保留在视图中,不会影响筛选逻辑
注意:折叠状态不跨文件保存,每次打开新 .md 文件都需重新调整。
为什么有时大纲为空?优先排查这三处
大纲视图对 Markdown 的解析很严格,常见失效原因不是插件没装,而是格式踩坑:
- 标题行开头有空格或制表符 →
# 标题可以,# 标题或\t# 标题不行 - 用了 Setext 式标题(如
Chapter 1\n===)→ Outline 完全不识别,只认 ATX(#开头) - 标题含未转义 HTML,例如
# <div>配置说明</div>→ 解析会在处中断,后续标题全部丢失
最省事的验证方式:打开开发者工具(Ctrl+Shift+I),在 Console 里执行 vscode.workspace.textDocuments.find(d => d.fileName.endsWith('.md'))?.languageId,确认返回 'markdown';再把光标移到一个合法标题上,看 Outline 是否同步高亮。

















