VSCode Markdown预览中文模糊、标点错位、行距塌陷,根本原因是Electron渲染器未加载中文字体且不继承编辑器字体设置;须手动配置预览的fontFamily(如Noto Sans CJK SC)、fontSize(15–16)、lineHeight(1.7–1.75),并用UTF-8无BOM的CSS文件覆盖样式。

VSCode Markdown预览中文显示模糊、标点错位、行距塌陷,不是文件编码或字体没装的问题,而是 Electron 渲染器压根没加载中文字体,且不继承编辑器的 editor.fontFamily 设置——必须手动补全三要素:字体族、字号、行高。
为什么预览里中文看起来“发虚”或“挤成一团”
打开预览页按 Ctrl+Shift+I 进开发者工具,在 Console 里执行:getComputedStyle(document.body).fontFamily
大概率返回 "-apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif" ——里面根本没有中文字体。Electron 不会自动 fallback 到系统已安装的「微软雅黑」「思源黑体」等,而是退到极简 sans-serif,导致中文用等宽字体(如 Courier New)渲染,字形失真、标点缩放异常、代码块内尤为明显。
必须改的三项设置(不改就别想正常看)
在 VSCode 设置 UI(Ctrl+,)中直接搜索并填入:
-
Markdown: Preview Font Family:填"Noto Sans CJK SC", "Microsoft YaHei", "PingFang SC", sans-serif(推荐Noto Sans CJK SC,开源免费,覆盖全 Unicode 中日韩汉字) -
Markdown: Preview Font Size:设为15或16(1080p 屏用 15,4K 屏建议 16) -
Markdown: Preview Line Height:设为1.7或1.75(默认1.6对中文段落太紧凑,易读性差)
改完不用重启,新打开的预览窗口立即生效。注意:这些只影响预览,不影响编辑器本身字体。
将PDF文件(含扫描件、图片)转换为Markdown格式。接入MinerU和PaddleOCR双引擎,支持扫描件OCR识别、公式表格解析、多语言识别。兼容本地OCR识别。
导出 PDF 时中文变方块?别碰插件内置 CSS
很多人去改 yzane.markdown-pdf 插件目录下的 styles/default.css,结果插件一升级就被覆盖,还容易因路径错误导致预览白屏。正确做法是:
- 在工作区根目录新建
.vscode/markdown-pdf.css - 在设置里配
markdown-pdf.styles指向它,值为:["./.vscode/markdown-pdf.css"] - CSS 文件里必须显式声明中文字体,例如:
body { font-family: "Noto Sans CJK SC", "Microsoft YaHei", sans-serif; }
关键点:PDF 导出走的是独立渲染链,和预览的 markdown.styles 无关,必须单独配 CSS;且路径必须是相对路径(以 ./ 开头),不能用 file:// 协议。
最容易被忽略的是:这些配置对「未保存的临时文件」无效——文件必须已保存为 .md 后缀,且右下角状态栏语言模式明确显示为 Markdown,否则所有字体设置都不加载。

















