VS Code 需配置扩展与设置才能高效写 Markdown。必须安装 Markdown All in One 和 Markdown Preview Enhanced,禁用内置预览器;确保文件后缀为 .md、语言模式正确;导出 PDF 需手动安装 pandoc 及 TeX 环境并配置路径。

VS Code 本身不自带“写好 Markdown”的魔法,但配对正确的扩展、设置和操作习惯,它比多数专用 Markdown 编辑器更高效、更可控。关键不在“怎么写语法”,而在“怎么让 VS Code 真正理解你正在写的不是纯文本,而是结构化文档”。
装对扩展:别只装 Markdown Preview
仅启用 VS Code 自带的 Markdown All in One(官方推荐)还不够。真实协作或长文档场景下,必须叠加以下组合:
-
Markdown Preview Enhanced:支持数学公式(LaTeX)、流程图(Mermaid)、导出 PDF/HTML,且预览页可右键「Open in Browser」避免热更新卡顿 -
Markdownlint:实时检查语法风格(比如是否空行分隔段落、列表缩进是否统一),规则可自定义在.markdownlint.json中 - 禁用自带的
Markdown Preview(在扩展面板里搜 “Built-in Markdown Preview”,点击齿轮 → Disable Workspace)——否则两个预览器会冲突,导致 Ctrl+Shift+V 忽然失效或样式错乱
Ctrl+Shift+V 预览失灵?先查这三处
这不是 Bug,而是 VS Code 对「当前文件是否被识别为 Markdown」的判定逻辑太严格。常见失效原因:
- 文件没保存,或后缀不是
.md或.markdown(哪怕内容全是 # 标题也不行) - 工作区根目录下存在
.vscode/settings.json,里面写了"files.associations": {"*.txt": "markdown"}这类错误映射——它会把所有 .txt 当 Markdown,反而让真实 .md 文件掉出默认语言模式 - 光标不在编辑器主区域(比如停在搜索框、终端、或侧边栏),快捷键就无响应;此时按
Ctrl+K M手动切换语言模式到Markdown再试
表格、代码块、引用嵌套:语法没问题,但渲染不对?
VS Code 自带预览器对某些语法支持滞后,尤其是嵌套结构。例如:
- 表格内含换行或
>引用符,需用反斜杠转义:>\,否则会被误解析为块级引用 - 代码块语言标识写成
```python3不生效,必须是 VS Code 识别的语言 ID,如```python;不确定时,按Ctrl+Shift+P输入 “Change Language Mode”,看下拉列表里显示的 ID - Mermaid 流程图默认不启用,需在
settings.json加配置:"markdown-preview-enhanced.mermaidEnabled": true
导出 PDF 时字体/中文/页眉丢失?不是插件问题,是 Pandoc 缺失
Markdown Preview Enhanced 的导出功能依赖本地 pandoc 命令行工具。Windows/macOS/Linux 全平台都必须手动安装:
- macOS:用 Homebrew 安装
pandoc和texlive(PDF 排版引擎),命令:brew install pandoc && brew install --cask mactex - Windows:下载
pandoc官方安装包(非 Chocolatey 版),并确保安装路径加入系统PATH;texlive可选,但缺它会导致中文乱码或编译失败 - 导出前务必在 VS Code 设置中指定 pandoc 路径:
"markdown-preview-enhanced.pandocPath": "/usr/local/bin/pandoc"(macOS 示例)
没装 pandoc 时点击「Export to PDF」,控制台只会静默失败,不会报错提示——这是最常被忽略的一环。










