插件冲突是卡顿第一嫌疑,先用code --disable-extensions验证:该命令跳过所有第三方插件加载但保留内置语言支持,若启动后卡顿消失则100%确认为插件问题;否则需排查settings.json或vscode自身异常。

插件冲突是卡顿第一嫌疑,先用 code --disable-extensions 验证
VSCode 卡顿 90% 源自插件,不是编辑器本身。直接终端执行 code --disable-extensions 启动 VSCode,不加载任何第三方扩展——只保留内置语言支持(如 JSON、TypeScript)。如果此时预览滚动顺滑、光标响应正常,就坐实了插件问题。
注意:这个命令不修改任何配置,也不影响已安装扩展,只是临时绕过它们。别跳过这步,否则后续所有排查都是在雾里看花。
- 若仍卡顿,再查
settings.json是否误配了files.watcherExclude或启用了实验性文件监听器 - 若恢复流畅,下一步必须用
Developer: Start Extension Bisect二分定位,而不是手动禁用——69 个插件挨个试要半天 - 特别警惕 GitLens、ESLint、Prettier 这类默认全项目扫描的插件,它们常在后台持续触发解析和格式化
markdown-preview-enhanced 的 MathJax 同步加载会锁死主线程
公式渲染卡顿最典型的表现是:Ctrl+K V 打开预览后,敲字延迟、滚动掉帧、退格键卡 2 秒以上。根本原因不是 KaTeX 或 MathJax 本身慢,而是 markdown-preview-enhanced 默认启用 MathJax v3 同步脚本加载 + 全文档扫描,每次内容变更都调用 MathJax.typeset(),浏览器主线程直接被占满。
将 Markdown 标题大纲转换为 KMind 主题思维导图,支持主题预设、布局、连线方式、深色模式及彩虹分支,并可导出 PNG 或 SVG 图像。
- 打开开发者工具(Ctrl+Shift+I),Performance 面板录一段输入,看是否堆叠大量
MathJax.typeset()调用 - 必须改设置:
"markdown-preview-enhanced.mathRenderingOption": "KaTeX"+"markdown-preview-enhanced.katexAutoRender": true - 显式清空
markdown-preview-enhanced.mathjaxV3ScriptSrc,否则插件仍会偷偷拉取 MathJax 脚本 - KaTeX 不支持
\label/\ref和\newcommand,论文级公式慎用
多个 Markdown 预览插件共存会互相劫持事件监听
装了 Markdown All in One 又装 markdown-preview-enhanced,或同时启用 VSCode 内置预览,会导致文件变更事件被重复捕获、多次触发渲染。现象是:保存一次,预览闪两次;或修改后预览完全不动。
- 检查已启用扩展:
Ctrl+Shift+P→Extensions: Show Enabled Extensions,只留一个预览主力插件 - 禁用
Markdown All in One的数学功能:"markdown.extension.math.enabled": false,避免和markdown-preview-enhanced冲突 - 确认
"markdown.preview.useWebview": true(默认值),禁用旧版 iframe 渲染模式,否则无法接收实时消息通道 - 外部工具(如 rsync、Obsidian 同步器)直接覆写 .md 文件时,VSCode 可能漏掉 fs 事件,需确保
files.autosave为on或手动保存触发监听
大型文件未节流 + 无虚拟滚动,DOM 堆积拖垮渲染
超过 5000 行的 Markdown 文件,若插件不做内容差异比对、不启用防抖、不切片渲染,就会生成巨量 DOM 节点,浏览器重排压力飙升。典型表现是:预览窗口越拉越卡,内存占用持续上涨,最终崩溃。
- 强制启用防抖:
"markdown-preview-enhanced.mathTypesetDelay": 300(单位毫秒) - 限制语法装饰范围:
"markdown.extension.syntax.decorationFileSizeLimit": 100000,超限文件不渲染高亮装饰 - 禁用脚本执行:
"markdown-preview-enhanced.enableScriptExecution": false,防止任意 JS 干扰主线程 - 不要依赖“自动滚动到编辑位置”这类功能,它会频繁触发 IntersectionObserver,加重 CPU 负担
真正难搞的不是报错的插件,而是那个 Activation Time 超过 1000ms 却 Status 显示空白的插件——它没崩溃,但一直卡在初始化阶段,把整个扩展主机拖进泥潭。这种必须靠 Developer: Show Running Extensions 和 Extension Bisect 双验证,单看控制台日志根本看不到。










