VS Code 流程图报 Mermaid 解析错误,主因是语法版本不兼容:需为中文节点加双引号、删弃用语法(如 linkStyle)、修正 classDef 命名;PlantUML 失败多因 Java 未配置或 plantuml.jar 路径含中文/空格;Draw.io 导出模糊须启用高分辨率导出;Markdown 中 Mermaid 渲染失败需规范代码块格式并禁用冲突插件。

VS Code 里画流程图总报 mermaid parse error
Mermaid 插件(如 Mermaid Preview)默认只支持 Mermaid v10 语法,但很多网上抄来的旧图用的是 v9 写法,比如 graph TD 后跟中文节点不加引号,或用了已废弃的 linkStyle 语法。直接粘贴进去就红标、预览空白。
- 检查报错时右下角是否弹出
Mermaid syntax error—— 有就是语法兼容问题 - 把所有中文节点用双引号包起来:
"用户登录" --> "验证 Token",别写用户登录 --> 验证 Token - 删掉
linkStyle、classDef里带空格的 class 名(如classDef red-bg fill:#f00改成classDef red_bg fill:#f00) - 确认插件是最新版;旧版
Markdown Preview Mermaid Support已停更,建议换Mermaid Preview或Markdown Preview Enhanced
想画 UML 类图但 plantuml.jar 死活跑不起来
PlantUML 插件依赖 Java 和本地 plantuml.jar,但 VS Code 不自动配置 Java 环境变量,尤其 Windows 用户常卡在 java.io.IOException: Cannot run program "java"。
- 先终端运行
java -version,没输出说明 Java 没装或没加进PATH—— 别跳过这步 -
plantuml.jar路径里不能有中文或空格,例如C:\Users\张三\Downloads\plantuml.jar会失败,挪到C:\tools\plantuml.jar并在插件设置里填绝对路径 - 插件设置中
plantuml.jar和plantuml.server别同时启用,优先用本地 jar(离线可用,且类图渲染更稳) - 类图里避免用
+、-做可见性修饰符后紧跟空格,写成+name: String而不是+ name: String
用 Draw.io Integration 导出 PNG 总糊、缩放失真
Draw.io 插件默认导出为 SVG,但很多人右键选 “Export as PNG” 时没注意分辨率选项,导出图像是 96dpi 的位图,放大就锯齿。
- 导出前点画布右上角齿轮图标 →
Export→ 勾选Use higher resolution (2x),再选 PNG - 不要用插件内置的 “Copy as PNG”,它固定用 1x 分辨率;必须走完整 Export 流程
- 如果图里含代码块或等宽字体,导出前在 Draw.io 编辑器里手动调大画布缩放(比如 150%),再导出,能缓解字体发虚
- 插件版本低于 v1.5.0 有 DPI 计算 bug,升级到最新版
架构图要嵌入 Markdown 文档,但 Markdown Preview Enhanced 渲染 Mermaid 失败
这个插件对 Mermaid 的支持是“按需加载”,如果文档开头没声明 ```mermaid 块,或用了非标准语言标识(比如写成 ```md-mermaid),预览就跳过解析。
- 确保 Mermaid 代码块严格以
```mermaid开头,结尾是```,中间不能混 Markdown 标题或空行 - 禁用其他 Markdown 预览插件(特别是
Markdown All in One的预览功能),它们会抢夺渲染权 - 在插件设置里打开
markdown-preview-enhanced.mermaidConfig,把theme设为default,避免自定义主题引发 CSS 冲突 - 复杂架构图建议拆成多个小图,单个
graph LR节点超过 50 个时,VS Code 渲染会明显变慢甚至卡死
事情说清了就结束。真正麻烦的不是装哪个插件,而是每个插件背后都卡着一个隐性依赖:Java 版本、Mermaid 大版本、系统 DPI 设置、甚至你 Markdown 文件的编码格式。改一行语法、换一个 jar 包、多勾一个复选框,差一点,图就出不来。










