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

📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨
📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】
📢:文章若有幸对你有帮助,可点赞 👍 收藏 ⭐不迷路🙉
📢:内容若有错误,敬请留言 📝指正!原创文,转载请注明出处

文章目录

  • 前言
  • 一、如何绘制状态机?
    • 1、安装插件plantuml和JAVA。
    • 2、编写伪编程语言
    • 3、预览生成的图表
  • 二、补充
    • 2.1 Puml 官网地址
    • 2.2 报错:“Error: Could not register serviceworkers: InvalidstateError: Failed to regist“
  • reference


前言

一开始接触状态机这一名词还不太理解,看了网上的介绍有点模棱两可、众说纷纭的感觉,其实对于程序员来说,状态机无非就是代码之间逻辑关系,实际上就是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
基本格式

@startumla 
伪代码
@enduml

示例:

@startumlstartif (Graphviz installed?) then (yes):process all\ndiagrams;
else (no):process only__sequence__ and __activity__ diagrams;
endifstop@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

参考博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/161676.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数学与她的

文章目录 定义域函数的定义域:一般地复合函数求解极值,单调性综合考题: 定义域 函数的定义域: 求定义域的原则性问题(通用)分母不为0 偶次根式的被开方式为非负( ≥ 0 ) 偶次根式的…

redis运维(十五) 集合

一 集合 ① 概念 集合的元素在redis里面的世界是member集合: setset集合当中不允许重复的元素,而且set集合当中元素是没有顺序的,不存在元素下标 ② sadd、smembers、srem ③ sismember、srandmember、spop、scard spop 命令用于移除集合中的指定 …

sql语法大全

1,创建数据库 create database 数据库名字; 2,查看所有的数据库名称 show databases; MySQL服务器已有4个数据库,这些数据库都是MySQL安装时自动创建的。 information_schema 和 performance_schema 数据库分别是 MySQL 服务器的数据字典(…

CSS 渐变

linear-gradient() 线性渐变 /* 渐变轴为 45 度,从蓝色渐变到红色 */ linear-gradient(45deg, blue, red);/* 从右下到左上、从蓝色渐变到红色 */ linear-gradient(to left top, blue, red); /* to [left/right] [top/bottom] *//* 色标:从下到上&#…

算法——滑动窗口(Sliding Window)

一、背景知识 滑动窗口算法(Sliding Window): 在给定数组 / 字符串上维护一个固定长度或不定长度的窗口。可以对窗口进行滑动操作、缩放操作,以及维护最优解操作。题型一:固定长度题型二:不固定长度 二、例…

TypeScript 学习笔记 第二部分 webpack 创建typescript项目

【视频链接】尚硅谷TypeScript教程(李立超老师TS新课) 创建webpack 项目 IDE:webstorm 新建一个空的项目运行npm init初始化项目目录结构 1. 安装 webpack:构建工具webpack-cli: webpack的命令行工具typescript&am…

PCIE链路训练-状态机描述1

状态机描述 Config.linkwidth.start: 1. (1)Linkup 0 状态机没有执行链路宽度的升级(upconfiguration of the Link width):那么tx会在所有active的dsp上发送TS1,其中link num为具体内容&a…

git stash 用法总结

目录 1,介绍场景1:场景2: 2,常用命令2.1,基础2.2,进阶1,存储时指定备注2,通过索引来操作指定的存储3,修改存储规则 2.3,查看 stash 修改的具体内容 1&#xf…

Element UI之Dialog 对话框

Dialog 对话框 用于弹出窗口 按需引入方式 如果是完整引入可跳过此步骤 import Vue from vue import { Dialog } from element-ui import element-ui/lib/theme-chalk/base.css import element-ui/lib/theme-chalk/dialog.cssVue.use(Dialog)基础使用 <template><…

摩尔定律,梅特卡夫定律,吉尔德定律

信息系统的三大定律(摩尔定律&#xff0c;梅特卡夫定律&#xff0c;吉尔德定律)有一个清晰的视角&#xff1a; 信息系统不是左边的生产消费系统&#xff0c;而是右边的交易系统&#xff0c;交易系统与生产消费典型的区别在于信息交易过程会产生新的信息&#xff0c;就像钱一样…

c语言——俄罗斯方块

一、游戏效果 俄罗斯方块 二. 游戏背景 俄罗斯方块是久负盛名的游戏&#xff0c;它也和贪吃蛇&#xff0c;扫雷等游戏位列经典游戏的⾏列。 《俄罗斯方块》&#xff08;Tetris&#xff0c;俄文&#xff1a;Тетрис&#xff09;是一款由俄罗斯人阿列克谢帕基特诺夫于1984…

java http

超文本传输协议 超文本/html 工作方式 get / url 请求获取相应报文 http://xxxxxxxxxxxx.com/user?xxx xxx 协议类型 - 服务器地址 -路径 path 请求格式: head / body path路径进行处理资源 等同于报文请求: GET: /users HTTP/1.1 Host:api.github.com 响应报文 请求方式…

京东数据分析平台(京东运营数据采集):2023年10月京东白酒品牌销售排行榜

鲸参谋监测的京东平台10月份白酒市场销售数据已出炉&#xff01; 鲸参谋数据显示&#xff0c;10月份&#xff0c;京东平台上白酒的销量为340万&#xff0c;环比增长约16%&#xff0c;同比增长约37%&#xff1b;销售额为28亿&#xff0c;环比增长约20%&#xff0c;同比增长约122…

educoder中Hive综合应用案例 — 学生成绩查询

第1关:计算每个班的语文总成绩和数学总成绩 ---------- 禁止修改 ----------drop database if exists mydb cascade;set hive.auto.convert.join = false; set hive.ignore.mapjoin.hint=false; ---------- 禁止修改 ---------- ---------- begin ---------- ---创建mydb数据…

如何在Ubuntu的Linux系统中安装MySQL5.7数据库

前往MySQL数据库官网链接地址下载5.7数据库。 MySQL :: Download MySQL Community Server (Archived Versions)使用ssh的可视化工具将下载的mysql-5.7.40-linux-glibc2.12-x86_64.tar.gz文件上传到Linux服务器&#xff0c;并解压文件 tar -zxvf mysql-5.7.40-linux-glibc2.12-x…

总结vue框架中的钩子函数

vue2.x生命周期钩子函数 组件的生命周期分为3个阶段: 挂载阶段:beforeCreate、created、beforeMount、mounted,更新阶段:beforeUpdate、updated,销毁阶段:beforeDestroy、destroyed beforeCreate beforeCreate() {// 初始化数据&#xff0c;并通过Object.defineProperty()和…

基于蛇优化算法优化概率神经网络PNN的分类预测 - 附代码

基于蛇优化算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于蛇优化算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于蛇优化优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要&#xff1a;针对PNN神经网络…

大数据预处理技术

文章目录 前言 大数据技术成为前沿专业 也是现在甚至未来的朝阳产业&#xff0c;大数据有分别是 数据预处理 数据存储 大数据处理和分析 数据可视化 部分组成 &#xff0c;大数据行业有数据则称王&#xff0c;大数据的核心是数据本身 怎么获取有价值的数据呢&#xff1f;本章讲…

android 9 adb安装过程学习(二)

一、PackageInstalllerService流程分析 下面来分析下 PackageInstallerService 中的逻辑&#xff0c;我们先来看看 PackageInstallerService 的创建&#xff0c;当然&#xff0c;这部分的逻辑是在开机的时候&#xff0c;这里我们再回顾下&#xff1a; 位置&#xff1a;./frame…

Cent OS 8.2 安装 自定义硬盘 固定IP VMware

时间&#xff1a;20231122 环境&#xff1a;win11 、VMware 16 pro、Cent OS 8.2 说明&#xff1a;自定义安装方法、自定义硬盘分区、固定IP且能联网 1、使用自定义的方式安装虚拟机 此处选择典型&#xff0c;则会自动安装系统&#xff0c;无法自定义硬件以及配置信息 选择…