PlantUML 概述

PlantUML 是一个很 Geek 的图形表达语言,它的优势包括:

  • 类似于 Markdown 那样可以让你自然的画图,绝大部分情况下,你不需要太关注语法和布局,很自然的画即可,心智体验非常舒服。
  • 可多人协作,可版本跟踪,可以直接写在 Markdown 中,避免文档维护的割裂。
  • 它是一种「绘图语言」而不是「绘图工具」,生态不错,受到广泛支持,各大 IDE 和语雀等知识系统都支持。

其他常见的文本绘图语言还有Mermaid、Flowchart、Graphviz 等。

如下图,一个简单的示例,一句 User -> Browser 就能表达一个时序,多么直观简洁啊。

  1. @startuml
  2. autonumber
  3. actor "用户" as User
  4. participant "浏览器" as Browser
  5. participant "服务端" as Server #orange
  6. activate User
  7. User -> Browser: 输入 URL
  8. activate Browser
  9. Browser -> Server: 请求服务器
  10. activate Server
  11. Server -> Server: 模板渲染
  12. note right of Server: 这是一个注释
  13. Server -> Browser: 返回 HTML
  14. deactivate Server
  15. Browser --> User
  16. @enduml

PlantUML 环境准备 - 图1

环境准备

Mac 环境准备

Step1:安装 Java 环境
Step2:安装 graphviz-dot

  1. brew install graphviz

Step3:下载 plantuml.jar 包

  1. wget http://sourceforge.net/projects/plantuml/files/plantuml.jar/download -O plantuml.jar

此时,plantuml 环境就已经安装完成了。
我们可以来试验一下,编写一个 sequenceDiagram.txt 文件:

  1. @startuml
  2. Alice -> Bob: test
  3. @enduml

然后执行如下命令即可:

  1. java -jar plantuml.jar sequenceDiagram.txt

此时,可以得到 sequenceDiagram.png 的文件中,其实正是得到的 PlantUML 图。

PyCharm IDE 集成

在 PyCharm 中,Markdown 插件即可支持 PlantUML 的相关显示,只是需要做一些简单的配置即可。
配置方式如下:
image.png
此时,在 PyCharm 中编辑 markdown 文件时,只需要编写 plantuml 的代码,即可按照 UML 进行预览:
image.png
至此,你就可以便捷的在 PyCharm IDE 中编写的编写 UML 图啦!