PlantUML 与 IDE 集成:VS Code / JetBrains / Vim 三端实战
写图代码最怕的不是写代码——是「写完之后看不到结果」。本文整理 PlantUML 在 VS Code / JetBrains / Vim 三大 IDE 的开箱即用方案。
选哪个 IDE?取决于场景
- VS Code:前端 / TS / Python 同学主力,markdown + puml 一边写文档一边画图
- JetBrains 全家桶(IDEA / PyCharm / GoLand):Java / JVM 同学,PlantUML 是 built-in 一等公民
- Vim / Neovim:server / 嵌入式 / 极致代码党,PlantUML 看代码、看 diff 极舒服
下面分别讲。
VS Code:jebbs.plantuml 插件
安装
打开扩展,搜 PlantUML,安装 PlantUML (作者 jebbs)。
依赖:
- Java(必需,PlantUML 自己吃 JVM)
- Graphviz dot(可选,复杂图才需要)
- 或者用 PlantUML Server 模式(避开本地 Java)
配置 preview
settings.json:
1 | { |
关键功能
- 侧边预览:
Ctrl+Shift+D(Mac:Cmd+Shift+D) 打开 PlantUML 预览 - 导出:
Alt+Shift+E(Mac:Option+Shift+E) 导出当前图为 SVG/PNG/PDF - 包含子图:
!include支持,但 requireplantuml.includepaths配搜索路径
1 | "plantuml.includepaths": [ |
踩坑
!include子图里的中文乱码:puml 顶部加skinparam defaultFontName "Noto Sans CJK SC"- 预览停滞不刷新:Java 进程死锁——重启 VS Code 或 Pkill plantuml 进程
http-server模式慢:自建 plantuml server 比默认快 5-10 倍(dockerplantuml/plantuml-server跑在本地)
LaTeX 数学公式
VS Code PlantUML 插件支持 !include + jlatexmath,但需要单独安装 jlatexmath-minimal 包。常用写法:
1 | Bob -> Alice: $\\alpha + \\beta = \\gamma$ |
JetBrains IntelliJ:内置 PlantUML 支持
IDEA / PyCharm / WebStorm 全系列官方支持 PlantUML,不需要额外插件。
关键能力
.puml文件高亮:像普通代码一样写- 实时预览:
Cmd+Shift+P打开 PlantUML Tool Window,双面板编辑器——左边代码右边渲染 - Java 集成:可以从 Java 类自动生成 PlantUML class 图(右键 → “Diagrams” → “Show Diagram”)
- 导出:右键 → “Save Diagram As…”
加速渲染
Help → Find Action → PlantUML,找到 “PlantUML server URL”。改成本地 server:
1 | http://localhost:8080 |
然后跑:
1 | docker run -d -p 8080:8080 plantuml/plantuml-server |
加速 10 倍以上。
项目级配置
.idea/plantuml.xml:
1 | <application> |
或全局 ~/Library/Application Support/JetBrains/<version>/options/plantuml.xml。
配合 UML 类的反向工程
IDEA Ultimate 可以从 Java 代码反向画 class 图(”Show Diagram”),但只画当前模块的内部依赖。如果想手工维护的源码图,推荐用 PlantUML 单独 .puml 文件,IDEA 也能 import PlantUML 图 → UML 类视图(双向)。
Vim / Neovim:纯键盘党
Vim 没有开箱即用的 PlantUML 插件,社区方案是 gardenapple/plantuml-syntax + 自定义预览命令。
必备:语法高亮
1 | " ~/.vimrc |
实时预览(异步,无需离开编辑器)
1 | " 调用 plantuml.jar 渲染当前 buffer 到 /tmp,然后 :!open |
<leader>p 按下后渲染并用系统默认应用打开 SVG(macOS 预览 / Linux xdg-open / Windows start)。
Telescope + live_preview
Neovim 的 image.nvim 可以在 terminal 里 inline 显示 SVG(在 kitty / wezterm 这种支持 Sixel/iTerm 协议的终端里)。
1 | -- init.lua |
好用 workflow
vim foo.puml编辑<leader>p渲染 + 浏览器打开<leader>d跳到下一个participant- 关闭,回到
vim
三个 IDE 的对比
| 维度 | VS Code | JetBrains | Vim/Neovim |
|---|---|---|---|
| 安装难度 | 一键装插件 | 内置,无需插件 | 手写 .vimrc |
| 实时预览 | Alt+D 侧边面板 | 双面板编辑器 | 调用外部命令 |
| 中文支持 | 需配 font family | 需配 font family | 需配 font family |
| Server 提速 | 改 server URL | 改 server URL | 完全取决于 shell |
| 适合人群 | 通用开发者 | JVM 开发者 | 极致党 / sysadmin |
| 反向工程 | 需第三方插件 | 内置(UML 类图) | 不可 |
一份统一的 PlantUML 「工位配置」
适用所有 IDE。~/.plantuml-config/:
1 | skinparam defaultFontName "Noto Sans CJK SC" |
IDE 启动时 -Dplantuml.config=~/.plantuml-config 加载全局默认皮肤。
小结
- VS Code:用 jebbs PlantUML,本地 Java + 自建 server 最快
- JetBrains:内置 + 切本地 server + Java 反向工程自动 class 图
- Vim:语法高亮 +
system('plantuml -tsvg')一键渲染 - 共同点:中文
defaultFontName、自建 server、避免被 plantuml.com 跨境卡
下一步
- PlantUML 数据驱动 — 从数据库 / API 实时生成图
- 在 Hexo 博客里嵌入 PlantUML 图(服务端 / 客户端两套方案)(注:已发布的 URL slug 是
plantuml-render-from-hexo,内容主题相同)
- 标题: PlantUML 与 IDE 集成:VS Code / JetBrains / Vim 三端实战
- 作者: puml.online
- 创建于 : 2026-07-30 10:05:00
- 更新于 : 2026-08-14 21:34:29
- 链接: https://puml.online/blog/plantuml-ide-integration/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。