VSCode中文文档大纲视图依赖Markdown结构解析而非界面语言,需确保语言模式为Markdown、标题符合ATX规范(#顶格+单空格)、启用explorer.experimental.showOutline和outline.automaticCollapse为false,并统一slugifyMode为vscode以解决中文锚点跳转失效。

VSCode 的中文文档大纲视图不是“设置中文”就能出来的,它本质是 Markdown 文件的结构解析功能,和界面语言无关。只要标题写对、语言模式设对、配置开对,中文标题天然支持显示和跳转——但跳转失效、大纲空白、点击无反应,几乎全是配置或语法细节没踩准。
确认文件被识别为 Markdown 语言模式
这是最常被忽略的第一步。右下角状态栏必须显示 Markdown,而不是 Plain Text、Text 或 GitHub Markdown。如果显示错误:
- 点击状态栏语言名,手动选择
Markdown - 确保文件后缀是
.md或.markdown(仅靠内容无法触发识别) - 文件必须已保存(未保存的空文件可能被识别为 Plain Text)
- 编码必须是 UTF-8(全角符号、中文乱码常源于编码不匹配)
检查中文标题语法是否符合 ATX 规范
VSCode 大纲只认标准 ATX 标题:以 ASCII # 开头、顶格或仅含一个 tab、# 后紧跟一个空格、行尾不能有空格。常见翻车点:
-
# 中文标题(末尾空格 → 解析失败或节点为空) -
## 二级标题(全角空格或全角#→ 完全不识别) -
### [带括号的标题](部分插件扩展语法,原生 Outline 不处理) - 标题写在
```代码块内或---frontmatter 区域中 → 直接跳过
启用并验证大纲视图关键配置项
即使语言和语法都对,大纲也可能因配置关闭而不可见。打开设置(Ctrl+,),搜索并确认以下三项均为 true:
-
explorer.experimental.showOutline(新版设置中叫Explorer > Show Outline) -
outline.automaticCollapse(设为false,否则展开后自动收成一行) -
markdown.preview.enableExtendedAutolinks(影响中文标题锚点生成,决定点击能否跳转)
改完配置后,需保存并重新打开文件,或执行 Developer: Reload Window 生效。
中文标题点击跳转仍失败?重点查锚点规则一致性
大纲里中文标题能显示,但点击没反应,大概率是锚点 ID 生成规则不统一。比如你装了 Markdown All in One 插件,默认用 github 模式生成目录,而 VSCode 原生预览用的是 vscode 模式,两者生成的 ID 不同(#%E4%B8%AD%E6%96%87 vs #中文):
- 在设置中搜
markdown.extension.toc.slugifyMode,改为vscode - 删掉文档里已有的
[TOC]或手动目录 - 执行
Markdown: Create Table of Contents重生成 - 确保没有其他大纲类插件(如
Markdown Outline)注册冲突符号提供器
真正卡住人的,往往不是“不会开”,而是改了配置没重启、换了插件没清旧目录、标题看着对其实末尾藏了空格——这些细节不逐条验证,就永远在“为什么还是不行”里打转。


















