简述
PlantUML 是一个开源项目,通过简单直观的语言来定义 UML 示意图,支持快速绘制多种 UML 图表。图表信息可以保存为 PNG、 SVG以及 LaTeX格式。比起之前使用StartUML等IDE显得更加灵活,方便。
运行环境
PlantUML 支持在线编辑运行,并提供多种插件集成方式,包括:IntelliJ(Android Studio 也适用)、Eclipse、Sublime 以及 Visual Studio Code 等。
1. 在线编辑
PlantUML 官网提供了一种在线编辑的方式,该服务集成了 PlantUML,可以直接输出图表信息。
注意:在线编辑完成后,需要手动点击 Submit按钮才会更新图表。
2. 本地运行
本地运行环境需要 Java环境支持,此外,还需要安装 Graphviz(目前发现只有用例图需要安装,画时序图不需要安装)。
3. 插件集成(以 Android Studio 为例)
. 安装 PlantUML 插件
。Settings > Plugins > Browse Repositories > PlantUMLintegration> restart Android Studio
. 新建 UML 文件
。File > New > UML*,如: UMLSequence
. 编写图表信息
。Android Studio 右侧 PlantUML窗口会实时更新图表信息
4. 插件集成遇到的坑
![]()
当安装好插件,新建UML use case时报错。这里需要配置安装Graphviz,具体点击下载地址,由于我的开发环境是windows,所以我主要以windows为例,下载时候发现会有graphviz-2.38.msi和graphviz-2.38.zip前面那种是安装文件,点击安装,后者则是绿化安装,使用前者一定要记得自己的安装路径,因为后面会使用他来配置安装路径(dot.exe)所在目录,由于我使用的是后者所以我需要配置环境变量为。理论上这里应该就没问题了,如果你们还有问题记得重启下AS,更顽固的重启下电脑来解决没生效问题。
使用
这里我以建立时序图为例,具体语法请参考官方语法文档
@startuml
Alice -> Bob: Authentication 同步消息
Bob --> Alice: Authentication 返回消息
Alice ->> Bob: Another authentication 异步消息
Alice <-- Bob: another authentication Response
@enduml
具体效果图如下: