推荐!高效灵活的、可集成的、文本化绘图工具 —— PlantUML

背景

最近有绘制流程图需求,之前一直用的是 mermaid.live/ 免费额度用完之后,又又又要充值!

且不说这穷病,每次 .live 编辑完,再 down 下来,挪到平台上面,很是繁琐。

于是乎,还得回顾初心:有没有免费的、可集成的 UML 工具,那 GPT 首推的就是 ------ PlantUML

传送门:plantuml.com/zh/

先来看本瓜结合大模型,分分钟输出的:"上身"效果:

在线运行:plantuml.com/running ,效果还是非常 nice 的!

首推 PlantUML,基于它 3 大优势:

  • 优势1:版本控制友好

使用纯文本语法描述图形,无需依赖复杂的图形界面。借助文本文件的方式,可以轻松地将图形描述纳入版本管理系统(如 Git),便于团队协作与代码审查。------ 文本化描述降低了格式混乱和二进制文件版本合并冲突的风险。

  • 优势2:自动化集成

支持在持续集成(CI)流水线中自动生成最新的设计图。可以在编写代码的同时,通过脚本自动渲染生成 SVG 或 PNG 格式的图像,极大提升文档与开发过程的一致性。

  • 优势3:多种图形表达

不仅支持 UML 类图、时序图、活动图等常见图形,还能生成架构图、流程图、状态图等。通过灵活的语法和样式自定义,可以绘制出清晰、专业的图表。

PlantUML 还提供了丰富的皮肤参数,让你可以根据企业 CI/CD 标准或个人喜好自定义颜色、边框和布局。

接下来,来看看它的使用!👍

使用

1、基础语法结构

PlantUML 图表总是以 @startuml 开始,以 @enduml 结束。

中间的部分就是图形描述语法。下面以一个简单的时序图为例:

less 复制代码
@startuml
actor 用户
participant "系统前端" as Frontend
participant "业务服务器" as Backend

用户 -> Frontend: 发起请求
Frontend -> Backend: 转发请求
Backend --> Frontend: 返回数据
Frontend --> 用户: 展示结果
@enduml

2、图形类型

常用类型有,比如:UML 类图 描述类、接口、继承、关联关系;流程图和活动图

利用 startstopif 等关键字构建流程;状态图 描述对象状态的转换,适合展示系统内部状态变化 等等

scala 复制代码
@startuml
class Animal {
    +String name
    +eat()
}

class Dog extends Animal {
    +bark()
}

Animal <|-- Dog
@enduml
scss 复制代码
@startuml
start
:初始化系统;
if (是否登录?) then (是)
  :显示首页;
else (否)
  :显示登录页;
endif
stop
@enduml
less 复制代码
@startuml
[*] --> Idle
Idle --> Processing : 触发请求
Processing --> Idle : 完成请求
Processing --> Error : 出现错误
Error --> Idle : 重试
@enduml

PlantUML 支持 skinparam 进行全局样式配置。例如,设置字体、颜色和边框样式可以让图表风格统一

4、 集成

许多现代代码编辑器都支持 PlantUML 插件,例如 VSCode、IntelliJ IDEA 和 Sublime Text。通过插件,你可以在编辑器内实时预览 UML 图,不必频繁切换到外部工具。

利用 CI 工具(如 Jenkins、GitLab CI),你可以在代码更新时自动生成最新的 PlantUML 图,并嵌入项目文档。

PlantUML 图还可以嵌入 Markdown 文件或 Wiki 系统中。许多平台(如 GitHub、Confluence)支持通过扩展插件渲染 PlantUML 代码,从而实现文档与图表的完美融合。

小结

综上,基于纯文本的描述方式,开发者、架构师和团队的首选绘图工具 ------ PlantUML

赶紧的,部署来尝尝咸蛋 ------ # 快速入门指南

相关推荐
anyeyongzhou1 分钟前
img标签请求浏览器资源携带请求头
前端·vue.js
AI云极4 分钟前
小白也能上手的大模型训练神器!MiniMind真把AI“平民化”了!
github
Captaincc10 分钟前
腾讯云 EdgeOne Pages「MCP Server」正式发布
前端·腾讯·mcp
最新资讯动态30 分钟前
想让鸿蒙应用快的“飞起”,来HarmonyOS开发者官网“最佳实践-性能专区”
前端
雾岛LYC听风37 分钟前
3. 轴指令(omron 机器自动化控制器)——>MC_GearInPos
前端·数据库·自动化
weixin_4435669837 分钟前
39-Ajax工作原理
前端·ajax
WebInfra44 分钟前
Rspack 1.3 发布:内存大幅优化,生态加速发展
前端·javascript·github
ak啊1 小时前
Webpack 构建阶段:模块解析流程
前端·webpack·源码
学习OK呀1 小时前
后端上手学习react基础知识
前端
星火飞码iFlyCode1 小时前
大模型提效之服务端日常开发
前端