【计算机基础】通过插件plantuml,实现在VScode里面绘制状态机

📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨

📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852

📢:文章若有幸对你有帮助,可点赞 👍 收藏 ⭐不迷路🙉

📢:内容若有错误,敬请留言 📝指正!原创文,转载请注明出处

文章目录


前言

一开始接触状态机这一名词还不太理解,看了网上的介绍有点模棱两可、众说纷纭的感觉,其实对于程序员来说,状态机无非就是代码之间逻辑关系,实际上就是UML中的状态机图,它有开始状态,也有结束的状态,放几张示例图:



活动图:

PlantUML简介

PlantUML是一个开源工具,允许用户使用纯文本描述来创建UML(统一建模语言)图形。这种基于文本的图形描述方法具有许多优点。首先,它可以直接与源代码一起存储在版本控制系统中,从而使得代码和图形的同步变得更加简单。其次,PlantUML可以支持多种输出格式,包括PNG、SVG和LaTeX,满足了不同的需求。此外,由于其文本基础的特性,PlantUML还可以与各种工具进行集成,如Wikis、论坛、文档生成工具等。

一、如何绘制状态机?

1、安装插件plantuml和JAVA。

首先,在vscode的扩展商城中输入Plantuml, 点击进行安装。

并且需要注意如果你的电脑上没有安装java需要进行安装。

为什么需要java?因为 PlantUML 是用 java 写的,执行PlantUML 的代码需要 java。java 的安装方法本文就不再阐述了。

2、编写伪编程语言

在Plantuml中我们使用伪编程语言来生成图表。代码的文件的扩展名可以如一下:*.wsd, *.pu, *.puml, *.plantuml, *.iuml
基本格式

bash 复制代码
@startumla 
伪代码
@enduml

示例:

bash 复制代码
@startuml

start

if (Graphviz installed?) then (yes)
  :process all\ndiagrams;
else (no)
  :process only
  __sequence__ and __activity__ diagrams;
endif

stop

@enduml

3、预览生成的图表

Alt+D 或者Option+D可预览生成的图表。其次,如果写好代码后发现VScode没有更新的话,也可以按上述快捷键进行手动更新。

二、补充

2.1 Puml 官网地址

🔎Puml 官网地址:https://plantuml.com/zh/

2.2 报错:"Error: Could not register serviceworkers: InvalidstateError: Failed to regist"

vscode加载web 视图,报错:"Error: Could not register serviceworkers: InvalidstateError: Failed to regist"
解决办法

1、关闭vscode

2、按WIN + R,输入cmd,打开终端,然后输入命令 code --no-sandbox

3、会重启vscode,就可以正常使用了。

reference

参考博客

相关推荐
陈言必行6 小时前
Unity 性能优化 之 编辑器创建资源优化( 工作流 | 场景 | 预制体)
unity·编辑器·游戏引擎
CAE虚拟与现实14 小时前
VSCode中的下载VSIX是指什么?
ide·vscode·编辑器
路边闲人216 小时前
vscode启用GEMINI CODE ASSIST插件
ide·vscode·gemini
小蕾Java16 小时前
Java 开发工具,最新2025 IDEA使用(附详细教程)
java·ide·intellij-idea
CAE虚拟与现实16 小时前
VSCode官方汉化包
ide·vscode·编辑器·vscode汉化
CAE虚拟与现实17 小时前
VSCode创建Python项目和运行py文件
ide·vscode·编辑器
资讯第一线17 小时前
《RAD Studio 13.0》 [DELPHI 13.0] [官方原版IOS] 下载
ide
过-眼-云-烟19 小时前
新版Android Studio能打包但无法run ‘app‘,编译通过后手机中没有安装,顶部一直转圈
android·ide·android studio
Stardep19 小时前
ssh远程连接服务器到vscode上“连接失败”
服务器·vscode·ssh
扯淡的闲人1 天前
多语言编码Agent解决方案(4)-Eclipse插件实现
java·ide·eclipse