预览一滚动就卡顿是因为插件后台高频重渲染,应关闭autopreview、禁用冗余扩展、设置decorationfilesizelimit限值、停用toc.autoupdate,并优选katex公式引擎。

为什么预览一滚动就卡?先关掉 autoPreview
VSCode 本身不卡,卡的是插件在后台疯狂干活。比如 Markdown Preview Enhanced 默认开启 autoPreview,每次光标移动、文件保存甚至鼠标悬停都触发重渲染——对 2000 行的 README.md 来说,这就是定时卡顿器。
- 在
settings.json中设"markdown-preview-enhanced.autoPreview": false,改用手动触发Markdown Preview Enhanced: Open Preview to the Side - 别同时开多个预览标签页,每个都是独立 WebView,内存和 GPU 消耗叠加
- 执行
Developer: Reload with Extensions Disabled测试:只留Markdown All in One和Markdown Preview Enhanced,如果变流畅,说明其他扩展(如 GitLens、Code Spell Checker)正在高频扫描 Markdown 内容
大文件语法装饰太慢?设 decorationFileSizeLimit
VSCode 默认给所有 Markdown 文件加语法高亮、链接跳转、TOC 生成,但这些“装饰”在 >50KB 的文件里会拖垮响应。不是要禁用插件,而是让装饰自动退场。
- 在
settings.json加这一行:"markdown.extension.syntax.decorationFileSizeLimit": 100000(单位字节),超过即跳过装饰,但预览、导出、代码块高亮照常工作 - 顺手关掉
markdown.extension.toc.autoUpdate,它会在每次光标移动时重解析全文——大文件里这是最隐蔽的卡顿源 - 如果连预览都卡,重点查
markdown-preview-enhanced.mathRenderingOption:选KaTeX启动快、无网络依赖;选MathJax要下载 JS、首次加载慢,且高 DPI 下 SVG 公式可能模糊
SVG 不刷新?先确认是不是被其他程序锁住了
SVG Viewer(作者 cssho 版)支持 <style></style>、href 引用和保存自动刷新,但它只监听独立 .svg 文件,且依赖文件写权限。
- 最常见失败原因:
.svg正被 Sketch / Illustrator / 浏览器标签页打开,VSCode 无法获取写权限,自动刷新直接失效 - 你改的是 HTML 里的内联
<svg></svg>?那SVG Viewer压根不处理——它只管独立.svg文件 - 含
<script></script>或媒体查询的 SVG 必须走浏览器路线:用Live Server启一个 HTML 包裹页,否则 JS 不执行、@media不生效
Mermaid 图表渲染失败?调参比重装更有效
不是插件没装好,而是默认参数扛不住复杂图表。尤其当流程图节点超 100 个、边数破千时,mermaid.maxTextSize 和 mermaid.maxEdges 就成了瓶颈。
- 在
settings.json中加:"mermaid.maxTextSize": 10000、"mermaid.maxEdges": 2000,避免因超限直接 fallback 成原始代码 - 禁用动画:
"mermaid.animation": false,省掉每帧重绘开销,对静态文档毫无影响 - 中文乱码?不是字体问题,是 Mermaid 渲染器未正确加载中文字体——换用
theme: "base"或在 Mermaid 代码块顶部加%%{init: {'theme': 'base'}}%%强制基础主题











