利器 之 PlantUML
正人生非异也,善假于物也。
我的刚需
最近把背光调节的源码梳理了一遍,到了要画个时序图,Visio 是个不错的挑选,拖拖挺便利,但我不想用了,修正起来比较麻烦,我需求一了百了,就像 Markdown 这样的利器,文本书写,写完一篇文章,全渠道通用。
Mermaid
我自身知道 Markdoa k A N e I pwn 是支持时序图的,那( a S $就是 Mermaid,Mermaid 可用于画流程图、状态图U : [ J Y X m、时序图、甘特图,运用 JS 进行本地烘托,广泛集成于许多 Markdown 编辑器中。
sequenceDiagram
title: 序列图sequence(} . ] } & e P示例)
participant A
participant B
participant C
note left of A: A左边阐明
noY / H j f [ 9 I ste over B: 掩盖B的阐明
noy F F C s p kte right of C: C右侧阐明
A-&d d u E n rgt;>A:自己到自己
A--X 2 c Z C 6 s G %>A:自己到自R 3 R己
A->&g# w y 6t;X g t ~B:实线带箭头
A->C:实线不带箭头
C-->>B:+ L r : B V y 虚线带箭头
B-->A:虚线不带箭头
A-, t # X 2 6 CxB:实线箭头带叉
B--xC:虚线箭头带叉

在了解 Mermaidi ~ ; = A S d 时序图语法,跟着示例画出了个时序图后,惊叹牛逼,我认为有了大利器,当我实际去画图,涉及类许多,Mermaid 暴露了缺陷,显示出的时序图是模糊的,因此本篇不计划花大篇幅介绍 Mermaid 了,大家知道 Mermaid 能够画简略的时序图t 7 u n D :这点就够了。
PlantUML
我的刚需还没有解决,需求继续寻觅利器,就不得不试试 PlantUML,我自身也是知道 PlantUML,由于 PlantUML 装备复杂以及其语法看起来也比p : & Y z 0较复杂,因此一向没有去学习 PlantUML,好吧,遇到困难真的不能挑选回避,它一定会在某个时候再找回来的。
装置
下载 VSCode
code.visualstudio.com/Download
下载 Graphviz
可选的,主张装置,假如想制作除时序图和活动图以外的图,就需求装置 Graphviz 软件。
- Ubuntu
sR c H u Wudo apt-get install graphviz
-
Windows
www.graphviz.org/download/
-
Mac
mac.filehorse.comM i X u m [ a/downl B m 3 0 N 9 Iload-gr…
VSCode 装置插件
-
PlantUML
-
Markdown Preview Enhanced
时序图预览
@startuml
title: 序= N U列图sequence(示例)
participant A
participant B
participao 5 M 2 % o C 3 }nt C
participant D
participant E
note left of A: A左边阐明
note over D: 掩盖D的阐明
note right of F: F右侧阐明
A ->x B: 丢_ $ g p ?失的音讯
B -> C: 实线箭头
C ->> D: 实线细箭头
D - E: 实线Z | N # e半箭头
E -\ F: 实线半箭头c L 3 ^ 3 _
F --/ E: 虚线半箭头
E -->o D: 虚V X u o线箭头加圈
D --o C: 虚线半箭头加圈
C <-->H @ C U 3 B: 实线双向箭头
A --G g - e ~> A: 自己到自己
@enduml

是不是语法和 Merm; S b 0 ( said 有点像啊,所以说 PlantUML 语法} ^ C x 4也没那么难。
PlantUML 官网:_ I P b B Qplantuml.com ,有具体的语法文档,先都过一遍,用届时能够去查下。
最终
其实 Android Studio 也能够装置 PlantUML,当我装了,准备 Markdown 写文章时,发现 Android Studio 只能画图,没有满足我的刚需,最终才采用 Vs w ] 6 c U T NSCode + Graphviz + PlantUML + Markdown Preview Enhanced,效果也是杠杠的。
PlantUML 除了能画时序图,还能画用例图、类图、活动图 s O C X F、组件图、状态图、目标图、布置图等,功能实在太强大了[ v G $ 5,后面有需求,再一一介绍。
更多文章请关注公号:吴小龙同学。
