sublime需通过diagram插件+plantuml.jar+graphviz三者协同生成uml图,关键在于java路径、graphviz引擎、jar包位置三者必须准确匹配,任一错误将导致插件加载失败或“no working processors found!”报错。

Sublime 本身不内置绘图能力,但通过 sublime_diagram_plugin(常被简称为 Diagram 插件) + plantuml.jar + Graphviz 三者配合,就能在写代码时直接用文本生成 UML 图。关键不是“能不能”,而是 Java 路径、Graphviz 引擎、jar 包位置这三项必须对得上——错一个,Unable to load diagram plugin 或 No working processors found! 就立刻报给你看。
为什么装了插件还提示“No working processors found!”
这是 macOS / Windows 上最典型的失败信号,本质是插件找不到 Graphviz 的 dot 渲染器。PlantUML 画流程图、类图、组件图等依赖 Graphviz;只有纯时序图(@startuml ... @enduml)可绕过它,但其他图型一律失败。
- macOS 用户执行
brew install graphviz后,还需运行brew link --overwrite graphviz确保dot命令全局可用 - Windows 用户必须手动设置系统环境变量:
GRAPHVIZ_DOT指向dot.exe全路径(如E:\graphviz\bin\dot.exe),且把该目录加进PATH - 验证是否生效:终端/命令行运行
dot -V,有输出版本号才算成功
render_command 和 Build System 两种配置方式怎么选
二者功能重叠但机制不同:sublime_diagram_plugin 默认走 render_command(在 Preferences → Package Settings → Diagram → Settings 里配),而 Build System 是 Sublime 原生编译系统,需手动新建 .sublime-build 文件。实际中优先用前者,除非你明确需要自定义输出路径或编码参数。
-
render_command示例(注意$file是占位符,会被替换成当前文件路径):["java", "-jar", "/path/to/plantuml.jar", "-tpng", "-charset", "UTF-8", "$file"] - Build System 配置里必须显式声明
"path"(Java 可执行路径)和"env"(如{"GRAPHVIZ_DOT": "/usr/local/bin/dot"}),否则即使系统 PATH 里有,Sublime GUI 启动时也读不到 - Mac 上若用 zsh,
which java返回的路径可能和 GUI 启动时的不一致,建议用/usr/bin/java这种绝对路径更稳
中文乱码、@startuml 不识别、快捷键没反应
这三个现象往往同源:插件没加载或配置文件格式错误。插件名、文件后缀、语法包裹缺一不可。
- 确保文件后缀是
.puml或.plantuml,否则插件不会激活语法高亮和右键菜单 - 所有 PlantUML 代码必须严格包裹在
@startuml和@enduml之间,漏写或拼错(如@start uml)会导致渲染空白或报错 - 中文乱码大概率是
-charset UTF-8缺失,加到render_command参数里;如果仍不行,检查Diagram.sublime-settings第三行是否为"default_encoding": "UTF-8"(不是null) - 快捷键
super+m(Mac)或ctrl+alt+u(部分插件)失效,先打开 Sublime 控制台(Ctrl+`),看是否有ImportError或IOError: [Errno 2] No such file—— 这说明 jar 路径写错了
真正卡住人的从来不是语法,而是 plantuml.jar 路径里多了一个空格、dot 命令在终端能跑但在 Sublime 里找不到、或者配置文件末尾少了个逗号导致 JSON 解析失败。这些细节不报错,只静默失效。











