命令面板找不到“markdown: create table of contents”是因为文件未被识别为markdown模式,需确认右下角显示“markdown”、启用markdown all in one插件并重启vscode;中文标题跳转失效需将slugifymode设为vscode;updateonsave仅更新已有目录块,首次须手动执行命令;侧边栏outline需同时开启explorer.experimental.showoutline和outline.automaticcollapse为false且语言模式正确。

命令面板里找不到 Markdown: Create Table of Contents?
根本原因是 VSCode 没把当前文件识别为 Markdown,不是插件没装好。右下角状态栏必须显示 Markdown,而不是 Plain Text 或其他模式。
- 按
Ctrl+K M(Windows/Linux)或Cmd+K M(macOS),输入markdown回车强制切换语言模式 - 打开扩展面板(
Ctrl+Shift+X),搜Markdown All in One,确认已启用(右侧开关为蓝色) - 刚安装或更新插件后务必重启 VSCode——语言服务未加载完成时,命令不会注册到命令面板
中文标题点不了跳转?改 slugifyMode 就行
VSCode 内置预览把中文标题转成 %E9%85%8D%E7%BD%AE 这类 URL 编码,而插件默认用 github 模式生成原始文本锚点(如 #配置说明),两者不匹配导致点击失效。
- 打开设置(
Ctrl+,),搜索markdown.extension.toc.slugifyMode - 把值从默认的
github改成vscode - 删掉已有目录块,再手动执行一次
Markdown: Create Table of Contents——旧目录不会自动重写
updateOnSave: true 为什么没反应?
这个配置只做一件事:保存时,扫描文档中「已存在且由该插件生成」的目录块(即以 - [ 开头的列表),并就地更新链接和层级。它不会凭空生成新目录,也不监听标题增删后自动补全。
离线Markdown转PDF转换器,基于Pandoc与WeasyPrint,支持完整Unicode及本地表情缓存,可将Markdown转为专业级PDF...
- 首次必须手动运行命令生成初始目录,否则插件找不到目标块
- 后续修改标题后,只要没删掉整个目录块,保存就会刷新它
- 误删目录后想恢复自动更新,得再手动执行一次命令——改设置本身不会“唤醒”功能
- 配置路径必须是
"markdown.extension.toc.updateOnSave": true,注意前缀是markdown.extension,不是markdown.preview
侧边栏 Outline 面板空白?三个开关缺一不可
VSCode 自带的 Outline 面板比文档内 TOC 更轻量、更稳定,但它默认关闭,且依赖三处独立设置协同生效。
- 启用
explorer.experimental.showOutline(新版设置里叫Explorer > Show Outline) - 设
outline.automaticCollapse为false,否则大纲会自动折叠成一条 - 确保当前文件语言模式是
Markdown(同第一点),否则 Outline 不解析标题 -
markdown.preview.toc是控制预览窗口内是否显示目录的开关,不影响 Outline 面板
真正起作用的是 explorer.experimental.showOutline 和 outline.automaticCollapse 的组合,但很多人只开了前者就以为万事大吉;另外,slugifyMode 设错会导致中文锚点失效,这个问题在本地预览时最隐蔽——GitHub 上能跳,VSCode 里点不动,容易误判为编辑器 bug。










