Command+M没反应是因为Graphviz的dot.exe路径未正确配置,Windows需设GRAPHVIZ_DOT环境变量并加入PATH,macOS需在插件设置中硬编码graphviz_dot路径;Sublime不读系统PATH,必须显式指定。

Sublime Text里按Command+M没反应?先检查GRAPHVIZ_DOT环境变量
插件不触发渲染,90% 是 dot.exe(Graphviz 的核心可执行文件)找不到。Sublime 插件本身不自带 Graphviz,必须手动安装并显式告知路径。
Windows 用户需在系统环境变量中新增:
-
GRAPHVIZ_DOT=C:\Program Files\Graphviz2.44\bin\dot.exe(路径以你实际安装为准) - 同时把
C:\Program Files\Graphviz2.44\bin加进PATH
macOS 用户用 brew install graphviz 后,dot 默认在 /usr/local/bin/dot,但 Sublime 插件仍可能读不到——此时必须在插件的 Settings - User 里硬编码指定:
{
"graphviz_dot": "/usr/local/bin/dot"
}别信“装了就自动识别”这种说法,sublime_diagram_plugin 不读系统 PATH,只认 GRAPHVIZ_DOT 或配置项。
画架构图时节点堆叠、连线错乱?用left to right direction或top to bottom direction
PlantUML 默认布局是自上而下、左对齐,但架构图常需横向展开(比如微服务拓扑),直接写 [ServiceA] --> [ServiceB] 容易挤成一团。
加方向声明能立刻改善可读性:
@startuml left to right direction [API Gateway] --> [Auth Service] [API Gateway] --> [Order Service] [Order Service] --> [Inventory DB] @enduml
注意:left to right direction 必须写在 @startuml 后第一行,否则无效;top to bottom direction 是默认值,一般不用显式写。
另外,避免用中文节点名直接参与连接(如 [用户服务] --> [订单服务]),某些版本 PlantUML 会解析失败——改用英文别名 + 中文标签:
[user-svc] as "用户服务" [order-svc] as "订单服务" [user-svc] --> [order-svc]
序列图里生命线不显示激活条?补上activate和deactivate
只写 A -> B: request,PlantUML 会画出箭头,但 A 和 B 的生命线默认是细竖线,没有“被调用时高亮”的激活条(activation bar),看起来像静态关系而非运行时交互。
必须显式控制生命周期:
-
activate让对象进入活跃状态(出现矩形激活条) -
deactivate结束该对象的当前激活 - 嵌套调用需配对,否则后续激活会错位
正确写法示例:
@startuml Alice -> Bob: auth request activate Bob Bob -> Carol: validate token activate Carol Carol --> Bob: ok deactivate Carol Bob --> Alice: success deactivate Bob @enduml
漏掉 deactivate 是常见错误,会导致 Bob 的激活条一直延伸到图末,掩盖后续消息。
plantuml.jar 版本太旧导致架构图语法报错?优先用插件内置 jar 或指定新版路径
老版本 plantuml.jar(比如 1.2020.x)不支持 skinparam rectangleCornerRadius 10、rectangle 块内嵌样式等现代架构图特性,一用就报 Unknown pragma 或直接静默失败。
解决方式只有两个:
- 确认插件是否自带 jar:打开
Preferences → Browse Packages → sublime_diagram_plugin → diagram/,看是否有plantuml-*.jar;若有,删掉旧版,下载最新plantuml.jar(官网https://github.com/plantuml/plantuml/releases)替换进去 - 若用自定义 jar,在插件
Settings - User中强制指定路径:
{
"jar_file": "/Users/you/lib/plantuml-1.2026.3.jar",
"charset": "UTF-8"
}别指望在线服务(plantuml_server)能绕过这个问题——插件默认走本地 jar 渲染,除非你明确关掉本地模式并设好 server 地址,否则 server 配置只是摆设。
真正容易被忽略的是:Sublime 插件加载配置后不会热重载,改完 Settings - User 必须重启 Sublime,否则新 jar 路径不生效。


















