idea插件:PlantUML画图工具
如果你平时用 IDEA 写代码,只需安装一个 PlantUML 插件,就能用「代码」快速生成各类 UML 图,修改时只需改代码,图自动同步,堪称画图神器 。
一、为什么用 PlantUML?
-
高效快捷:用简单的文本语法替代拖拽,不用调整元素位置,写代码就像写笔记,几分钟就能画出规范的图;
-
无缝集成 IDEA:不用切换工具,在 IDEA 里就能完成画图、编辑、导出,和代码、文档完美联动;
-
易于维护:图和代码一样支持版本控制(Git),修改时只需改文本,无需重新绘制,团队协作更高效;
-
功能强大:支持时序图、类图、流程图、用例图等几乎所有 UML 图表,还能画架构图、思维导图,满足日常所有画图需求;
-
免费开源:无版权限制,插件免费安装,无需付费就能使用全部功能。
二、IDEA 安装 PlantUML 插件
PlantUML 本身是一个开源工具,我们在 IDEA 中使用,只需安装对应的插件,分「在线安装」和「离线安装」两种方式,优先推荐在线安装,一步到位。
方式1:在线安装(推荐,需联网)
-
打开 IDEA,进入设置界面:Windows/Linux 点击顶部菜单栏「文件」→「设置」;Mac 点击「IntelliJ IDEA」→「偏好设置」;
-
在左侧菜单找到「插件」,在搜索框中输入PlantUML,找到对应插件,插件全名称为:plantuml4idea

3. 点击「安装」按钮,等待插件下载完成,然后重启 IDEA 生效(重启后插件才会正常加载);
4. 在「设置」中搜索plantuml,可对其进行配置修改

方式2:离线安装(无网络环境适用)
-
前往 JetBrains 插件官网(https://plugins.jetbrains.com),搜索「PlantUML integration」,下载对应 IDEA 版本的插件压缩包(.zip 格式);
-
打开 IDEA 插件设置界面,点击右上角齿轮图标,选择「从磁盘安装插件」;
-
选中下载的压缩包,点击「确定」,安装完成后重启 IDEA 即可。
三、用 PlantUML 画第一幅图(时序图为例)
插件安装完成后,我们就可以开始画图了。所有 PlantUML 图表都遵循「文本语法+自动渲染」的逻辑,核心结构非常简单,先从最常用的「时序图」入手。
步骤1:创建 PlantUML 文件
-
打开 IDEA 中的项目(空项目或已有项目均可),在项目目录上右键 →「新建」→「文件」;
-
文件名后缀必须为
.puml或.plantuml(比如demo.puml),后缀错误会导致无法渲染图表; -
双击打开创建的
demo.puml文件,进入编辑界面。
步骤2:编写 PlantUML 基础语法
所有 PlantUML 图表都有固定的开头和结尾:@startuml(图表开始)和 @enduml(图表结束),中间填写具体的图表语法。
我们以「用户登录接口交互流程」为例,编写时序图代码,直接复制到编辑区:
@startuml
' 这是单行注释(用单引号开头)
actor 用户
participant 前端页面 as Frontend
participant 后端API as Backend
database 数据库 as DB
' 交互流程:用 -> 表示实线(请求),--> 表示虚线(响应)
用户 -> Frontend: 输入用户名和密码,点击登录
Frontend -> Backend: POST /api/login(携带账号密码)
Backend -> DB: 查询用户信息(根据用户名)
DB --> Backend: 返回用户数据(存在/不存在)
Backend --> Frontend: 返回登录结果(成功/失败)
Frontend --> 用户: 显示登录状态(跳转首页/提示错误)
@enduml
步骤3:生成并查看图表
-
在代码编辑区右键,选择「Diagrams」→「Show Diagram」(快捷键:Ctrl+Shift+U);
-
弹出图表预览窗口,就能看到自动生成的时序图,支持缩放、拖动、导出等操作;
-
如果想实时预览,可以安装「PlantUML Preview」插件,安装后编辑区右侧会自动显示预览窗口,无需手动触发。

四、实战案例
案例1:类图
类图用于展示类的属性、方法,以及类与类之间的继承、关联关系,适合设计实体类、接口时使用。
@startuml
' 类的定义:- 表示私有属性/方法,+ 表示公有属性/方法
class User {
- String name ' 私有属性
- int age
+ User(String name, int age) ' 公有构造方法
+ String getName() ' 公有方法
+ void setName(String name)
}
class Student extends User {
- String studentNo ' 子类特有属性
+ void study() ' 子类特有方法
}
class Teacher extends User {
- String teacherNo
+ void teach()
}
@enduml

⚠️ 技巧:如果已有 Java 类,无需手动写代码!在 Java 类编辑区右键 →「Diagrams」→「Show PlantUML Diagram」,IDEA 会自动生成对应的类图代码,直接复用即可。
案例2:流程图
流程图适合梳理线性业务逻辑(比如订单支付流程、接口校验流程),核心是用不同的符号表示流程节点。
@startuml
' 流程节点:start 开始,end 结束,if 判断,operation 操作
start
:用户提交订单;
:校验订单信息(金额、商品状态);
if (信息校验通过?) then (是)
:扣减商品库存;
:生成支付订单;
:跳转支付页面;
else (否)
:提示错误信息;
:返回订单页面;
endif
:流程结束;
end
@enduml

案例3:用例图
用例图用于展示系统中不同角色(用户、管理员)与系统功能的对应关系,适合需求分析时使用。
@startuml
left to right direction
' 角色定义
actor 普通用户 as User
actor 管理员 as Admin
' 系统功能(用例)
usecase "登录系统" as uc1
usecase "查看个人信息" as uc2
usecase "管理用户" as uc3
usecase "发布内容" as uc4
' 角色与用例的关系
User --> uc1
User --> uc2
User --> uc4
Admin --> uc1
Admin --> uc3
@enduml

五、进阶技巧
1. 样式定制
可以通过 skinparam 命令修改图表样式,比如背景色、字体、箭头颜色,解决中文显示方框的问题:
@startuml
' 解决中文显示方框,设置默认字体
skinparam defaultFontName Microsoft YaHei
' 修改背景色
skinparam backgroundColor #D5F5F5
' 修改时序图箭头颜色
skinparam sequenceArrowColor #2196F3
' 修改类图边框颜色
skinparam classBorderColor #2CAF50
' 后续图表代码...
actor 用户
participant 系统
用户 -> 系统: 发送请求
@enduml

2. 图表导出(适配文档、汇报)
生成图表后,可导出为 PNG、SVG、PDF 等格式,插入到文档、PPT 中:
-
在图表预览窗口右键,选择「Export Diagram」;

-
选择需要的导出格式(推荐 PNG 用于文档,SVG 用于高清汇报),设置保存路径,点击「OK」即可。
3. 常用语法速记
-
注释:
' 单行注释,/' 多行注释 '/; -
箭头:
->实线(请求),-->虚线(响应),->>实线双箭头; -
参与者:
actor(人形),participant(普通),database(数据库); -
类关系:
extends(继承),implements(实现); -
流程图节点:
start(开始),end(结束),if(判断),:(操作)。
4. 常见问题
-
图表无法渲染:检查文件后缀是否为
.puml,网络是否畅通(在线模式),插件是否重启生效; -
中文显示方框:添加
skinparam defaultFontName Microsoft YaHei配置字体; -
图表太大/太小:用
scale 0.8(缩小)或scale 1.2(放大)调整尺寸。
夜雨聆风
