在VSCode使用Markdown绘制UML图

需要插件

  • Markdown All in One
  • Markdown Preview Enhanced
  • PlantUML
  • markdownlint
  1. Markdown All in One,VSCode中支持Markdown(键盘快捷键、目录、自动预览等)
  2. Markdown Preview Enhanced可以对Markdown做增强预览,比如支持各种绘图等
  3. PlantUML,一款很强大的,并且可以绘制各种图形的脚本语言。需要安装java
  4. markdownlint是让VSCode对Markdown文档进行标记,检查。他可以提示你写的markdown是否标准

需要安装工具

  • VSCode
  • graphviz
  • java
  1. Visual Studio Code (简称 VS Code / VSC) 是一款免费开源的现代化轻量级代码编辑器,支持几乎所有主流的开发语言的语法高亮、智能代码补全、自定义热键、括号匹配、代码片段、代码对比 Diff、GIT 等特性,支持插件扩展,并针对网页开发和云端应用开发做了优化。软件跨平台支持 Win、Mac 以及 Linux。https://code.visualstudio.com/
  2. Graphviz是开源图形可视化软件。图形可视化是将结构信息表示为抽象图形和网络的图表的一种方式。它在网络,生物信息学,软件工程,数据库和网页设计,机器学习以及其他技术领域的可视化界面中有重要的应用。 http://graphviz.org/
  3. Java 运行时环境:http://java.org

使用PlantUML插件预览

  1. http://plantuml.com/下载plantuml.jar
  2. 在path配置plantuml.jar环境变量
  3. 在VSCode使用快捷键Alt+D预览PlantUML

命令

必须设置以下环境变量才能使扩展工作:原文链接


  • JAVA_HOME:Java SDK安装目录(必须有一个bin子目录)
  • Windows示例: C:\Program Files\Java\jdk1.8.0_101)
  • macOS例子: /Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home
  • PLANTUML_JAR:plantuml.jar文件的路径
  • Windows示例: C:\Users\UserName\bin\plantuml\plantuml.jar
  • macOS例子: /usr/local/Cellar/plantuml/8048/libexec/plantuml.jar

如果你想使用PlantUML的功能,需要GraphViz的,你需要设置GRAPHVIZ_DOT环境变量,解释在这里

  • GRAPHVIZ_DOT:dot可执行二进制文件的路径
  • Windows示例: C:\Program Files\Graphviz\bin\dot.exe
  • macOS例子: /usr/local/Cellar/graphviz/2.38.0_1/bin/dot

设置这些环境变量后,您需要重新启动VSCode才能使扩展工作。

注意:配置完成之后,大家最好在cmd命令测试以下是否可以访问

$> plantuml.jar
$> dot.exe
### 在Markdown使用PlantUML

'''plantuml  //代码块标记为plantuml便于书写
@startuml
interface ICollectBeganManagerFactory<T>{
..创建一个ICollectBegan..
IDisposableDependencyObjectWrapper<ICollectBegan> Create(CollectTypes collectClassify);
}
note right:采集开始管理工厂接口
interface IDisposableDependencyObjectWrapper{
Object Object{get;}
}
note left of IDisposableDependencyObjectWrapper:ABP内置接口:对象包装器
IDisposableDependencyObjectWrapper <.. ICollectBeganManagerFactory : 依赖
class CollectBeganManagerFactory<T>
ICollectBeganManagerFactory <|.. CollectBeganManagerFactory : 实现
@enduml
''' ### 其它Marckdown * test1
* test2
1. test1描述
2. test2描述

PlantUML官网:http://plantuml.com/

PlantUML之UML文档:http://plantuml.com/class-diagram


在MPE Preview预览


在Markdown使用PlantUML

其它Marckdown

  • test1
  • test2
  1. test1描述
  2. test2描述

在VSCode使用Markdown绘制UML图的更多相关文章

  1. Markdown 绘制 UML 图 -- PlantUML + Gravizo(转)

    原文地址:Markdown 绘制 UML 图 -- PlantUML + Gravizo

  2. 10分钟学会使用Markdown绘制UML时序图

    1.1 什么是Markdown? Markdown是一种语法特别少.特别简单的标记语言,用来编写文档.用Markdown编写的文档是纯文本格式,经过编辑器的渲染,就会形成排 版优美的文档,本文就是用M ...

  3. 如何绘制UML图?

    首先推荐在线绘制UML的网址:https://www.processon.com/,很好用. 在软件开发过程中,开发人员往往需要通过绘制类图来理清业务的实现思路,从而方便代码实现,也便于后期的代码维护 ...

  4. 绘制UML图的工具

    目前在用processOn网站进行绘制:https://www.processon.com/ 学习其简单的入门教程: https://www.processon.com/support https:/ ...

  5. Eclipse自动生成UML图(转载)

    *ModelGoon是什么? 它是一个Eclipse插件,用于基于UML图的模型设计,以及逆向工程(即从已有源代码生成类图等,以作为代码分析或者文档使用). *适用条件 ModelGoon目前最新的版 ...

  6. eclipse下生成Java类图和时序图,生成UML图

    1.安装和使用AmaterasUML 安装AmaterasUML前,需要先安装GEF采用eclipse在线安装方式安装就好.eclipse在线安装GEF的地址:http://download.ecli ...

  7. 【UML九种图系列】之如何利用三层来绘制类图、时序图?

    UML并发视图:实体之间行为的交互,是动态.分为:时序图.协作图.状态图.活动图 一.时序图简述: 时序图(Sequence Diagram):描述对象之间的交互行为,按照时间顺序排列. 元素: 角色 ...

  8. 使用mermain用Markdown的语法画流程图和UML图

    博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:使用mermain用Markdown的语法画流程图和UML图.

  9. CentO7-使用plantuml绘制UML类图

    准备工作 到PlantUml官网(http://plantuml.com/download)下载plantuml.jar.官网上还有一个在线的demof服务.plantuml的官网真的很挫! 到官网下 ...

随机推荐

  1. 【PyQt5 学习记录】002:添加部件及网格布局

    #!/usr/bin/python3 # -*- coding:utf-8 -*- import sys from PySide2.QtWidgets import (QApplication, QW ...

  2. Esri大数据分析引擎GeoAnalytics Server部署经历

    系统架构 Base WebGIS 4Cores 16GB Spatiotemporal Data Store 32GB SSD Disk 足够大的空间 GA Server 4Cores 16GB 足够 ...

  3. SpringBoot整合Slf4j+logback日志框架

    一.Slf4j简单介绍与优势 1.介绍 Slf4j的全称是Simple Loging Facade For Java(Java简单日志门面),它仅仅是一个为Java程序提供日志输出的统一接口,并不是一 ...

  4. Android碎笔录1——基本布局

    刚开始学Android开发的时候,没有H5的基础总是分不清android布局文件的用法,真正要学会android布局还是得实战一次,下面不多说,直接上代码. 这是一个登陆界面,LinerLayout嵌 ...

  5. Node.js 常用 API

    Node.js v6.11.2  Documentation(官方文档) Buffer Prior to the introduction of TypedArray in ECMAScript 20 ...

  6. Qt消息机制和事件、事件过滤

    一,事件 事件(event)是由系统或者 Qt 本身在不同的时刻发出的.当用户按下鼠标.敲下键盘,或者是窗口需要重新绘制的时候,都会发出一个相应的事件.一些事件在对用户操作做出响应时发出,如键盘事件等 ...

  7. 在AndroidStudio中数据存储第三方数据管理Bmob的使用

    ---恢复内容开始--- 在日常写代码的过程中我们比较痛苦的就是数据库的建立和使用,那么今天来介绍一下一个第三方的数据管理平台Bmonb. 一.我们首先进入Bmob的官网创建一个账号 Bome官网网址 ...

  8. 集合、深浅copy

    集合set: 集合也和列表数组一样有增加,但是集合是真正的没有顺序的  所以集合无法查找的,并且集合的外观你看着好像是字典和列表的组合,因为它是用字典的括号一样 ,但是又是里面并没有键值对  只是一个 ...

  9. SP2-0734: unknown command beginning "lsnrctl st..." - rest of line ignored.

    SP2-0734: unknown command beginning "lsnrctl st..." - rest of line ignored. Cause(原因):Comm ...

  10. C语言基础笔试题一

    1.下面的代码输出什么?为什么? void foo(void) { unsigned int a = 6; int b = -20; (a+b > 6)?puts(">6&quo ...