在Emacs中使用plantuml画UML图
在Emacs中使用plantuml画UML图#
Table of Contents#
plantuml是一款基于文字生成UML图形的组件。之所以在已经有Visio以及其他图形化的UML画图软件的情况下,我们还需要使用plantuml这种基于文字的画图软件,是因为它可以自动排版,只需要写出核心逻辑,便可以自动的生成图形。所以,当熟悉之后,它的作图效率会更高。
2 配置:#
1: ;; active Org-babel languages 2: (org-babel-do-load-languages 3: 'org-babel-load-languages 4: '(;; other Babel languages 5: (plantuml . t))) 6: 7: (setq org-plantuml-jar-path 8: (expand-file-name "/path/to/plantuml.jar"))
4 例子及语法#
4.1 时序图#
4.2 用例图#
4.3 流程图#
start :"步骤1处理"; :"步骤2处理"; if ("条件1判断") then (true) :条件1成立时执行的动作; if ("分支条件2判断") then (no) :"条件2不成立时执行的动作"; else if ("条件3判断") then (yes) :"条件3成立时的动作"; else (no) :"条件3不成立时的动作"; endif endif :"顺序步骤3处理"; endif if ("条件4判断") then (yes) :"条件4成立的动作"; else if ("条件5判断") then (yes) :"条件5成立时的动作"; else (no) :"条件5不成立时的动作"; endif endif stop
4.4 组件图#
package "组件1" { ["组件1.1"] - ["组件1.2"] ["组件1.2"] -> ["组件2.1"] } node "组件2" { ["组件2.1"] - ["组件2.2"] ["组件2.2"] --> [负载均衡服务器] } cloud { [负载均衡服务器] -> [逻辑服务器1] [负载均衡服务器] -> [逻辑服务器2] [负载均衡服务器] -> [逻辑服务器3] } database "MySql" { folder "This is my folder" { [Folder 3] } frame "Foo" { [Frame 4] } } [逻辑服务器1] --> [Folder 3] [逻辑服务器2] --> [Frame 4] [逻辑服务器3] --> [Frame 4]
4.5 状态图#
scale 640 width [*] --> NotShooting state NotShooting { [*] --> Idle Idle --> Processing: SignalEvent Processing --> Idle: Finish Idle --> Configuring : EvConfig Configuring --> Idle : EvConfig } state Configuring { [*] --> NewValueSelection NewValueSelection --> NewValuePreview : EvNewValue NewValuePreview --> NewValueSelection : EvNewValueRejected NewValuePreview --> NewValueSelection : EvNewValueSaved state NewValuePreview { State1 -> State2 } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!