安装插件后命令不出现,因文件未识别为Markdown模式或插件未启用;中文锚点乱码是VSCode预览与GitHub规则差异所致;updateOnSave仅更新已有目录块;默认只显示H1-H3标题,需手动配置levels扩展层级。

安装 Markdown All in One 插件后,Markdown: Create Table of Contents 命令不出现?
常见原因是插件未正确激活,或当前文件没被识别为 Markdown 模式。VSCode 只有在打开 .md 文件、且语言模式设为 markdown(右下角状态栏显示“Markdown”)时,才会加载该插件的命令。
- 手动切换语言模式:按
Ctrl+K M,输入markdown并回车 - 检查插件是否启用:打开扩展面板(
Ctrl+Shift+X),搜索Markdown All in One,确认右侧开关为开启状态 - 重启 VSCode 后再试——插件有时需重载语言服务才能注册全部命令
生成的目录链接点不跳转,或中文标题锚点乱码?
这是 VSCode 预览模式与 GitHub 渲染规则差异导致的典型现象。VSCode 内置预览(Ctrl+Shift+V)对中文标题的锚点生成逻辑和实际发布平台不一致,比如:# 项目配置说明 在 VSCode 中可能生成 #%E9%A1%B9%E7%9B%AE%E9%85%8D%E7%BD%AE%E8%AF%B4%E6%98%8E,但点击后可能因编码解析失败而失效。
- 确保已启用
markdown.preview.toc设置(在设置中搜该字段,勾选) - 不要依赖预览窗口跳转验证——改用 VSCode 侧边栏的「大纲」面板(Outline),它直接解析语法树,跳转 100% 可靠
- 若需兼容 GitHub,避免在标题中使用 emoji、全角标点、空格;推荐用短横线分隔词,如
## api-响应格式
updateOnSave 设为 true 后目录还是不自动更新?
这个配置项只对「已有目录块」起作用,不是“监听所有标题并重写整个 TOC”。它的工作机制是:当保存文件时,插件会查找文档中已存在的、由它之前生成的目录(即以 - [ 开头的列表),然后就地刷新其中的链接和层级,而不是重新插入新目录。
将PDF文件(含扫描件、图片)转换为Markdown格式。接入MinerU和PaddleOCR双引擎,支持扫描件OCR识别、公式表格解析、多语言识别。兼容本地OCR识别。
- 首次必须手动运行
Markdown: Create Table of Contents生成初始目录 - 后续增删改标题后,只要不手动删掉整个目录块,保存即触发更新
- 如果删过目录又想恢复自动更新,得重新执行命令生成——否则插件找不到可更新的目标
- 配置路径在
settings.json中应为:"markdown.extension.toc.updateOnSave": true(注意前缀是markdown.extension,不是markdown.preview)
为什么多级标题(######)没出现在目录里?
默认情况下,Markdown All in One 只包含 H1 到 H3(即 # 至 ###)。更深层级会被忽略,这不是 bug,是防止目录过深影响可读性。
- 如需包含
####或#####,在settings.json中添加:"markdown.extension.toc.levels": "1..6" - 该值支持范围写法(如
"2..4")或逗号分隔(如"1,2,4") - 修改后无需重启,但已有目录需重新生成或保存一次才生效
- 注意:GitHub 的 TOC 渲染通常也只支持到
H3,过度展开反而降低跨平台兼容性
目录能自动生成,但真正难的是让它“一直准”——关键不在怎么生成,而在理解它什么时候不更新、为什么跳不了、以及哪些改动会悄悄让目录失效。这些边界行为,比命令本身更值得盯住。










