【計算機基礎】通過插件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.pswp.cn/news/161676.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/161676.shtml
英文地址,請注明出處:http://en.pswp.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;無法自定義硬件以及配置信息 選擇…