在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. Git简介、安装与配置

    老规矩QAQ,先来简单介绍一下Git: Git是一个分布式版本控制系统,可以理解为是一个用于管理代码,控制版本,方便多人合作开发的一款工具. Git:分布式版本控制系统. SVN.CVS:集中式版本控 ...

  2. layui-table渲染不出来

    通过方法渲染 页面代码: <table id="tableList" lay-filter="clublist"></table> js ...

  3. path-to-regexp快速拆分 url 路径中的参数信息

    介绍一个小工具 path-to-regexp 用于快速拆解url path中的部分,贴别适合restful接口中快速获取对应的实体参数 git地址可以参考 https://github.com/pil ...

  4. Android8.0适配那点事(二)

    小伙伴们,咱们今天咱继续对Android8.0的适配进行分解,今天将针对启动页,版本适配和系统限制等进行“啃食” 猛戳这里查看Android8.0适配那点事(一): 1.启动页适配 近日,我无意中发现 ...

  5. MessageFormat使用记录

    1.日志里面需要记录入参,之前一般使用StringUtils.formt()方法,但是如果入参含有空值,就会报错.这个时候可以使用MessageFormat方法.用法 format(String pa ...

  6. 微信小程序一个页面多个按钮分享怎么处理

    首先呢,第一步先看api文档: 组件:button https://developers.weixin.qq.com/miniprogram/dev/component/button.html 框架- ...

  7. [翻译] TLTagsControl

    TLTagsControl https://github.com/ali312/TLTagsControl#tltagscontrol A nice and simple tags input con ...

  8. Android studio ocr初级app开发问题汇总(含工程代码)

    博客第一篇文章,稍作修改,增加文字介绍 开发目的 最近由于某些需求,需要在Android手机端实现OCR功能,大致为通过手机照相,识别出相片中的中文信息字段.但是由于新手光环+流程不熟悉,遇到了各种各 ...

  9. LNMP-day2-进阶

    部署LNMP环境 http://www.cnblogs.com/wazy/p/8386493.html 安装部署wordpress #下载wordpress [root@locahost downlo ...

  10. Java 字符流与基本IO

    字符流基类 java.io包中专门用于字符流处理的类,是以 Reader 和 Writer 为基础派生的一系列类.字符流以字符为单位,根据码表映射字符,一次可能读多个字节,只能处理字符类型的数据.Re ...