idea插件之自动生成时序图(Sequence Diagram)

news2024/11/18 19:59:52

前言

        小伙们,你们有没有发现,身边经常有这样一些人,看着平时没怎么干活,到关键时候需要展示工作成果,会发现这些人也有工作成果,甚至比辛苦在干的人可能还要多一些。按常理推测,这绝对不是一件科学的事,但是有没有一种可能?是因为这些看似没怎么干的人掌握了比你更高效的工具或方法。其实俗话说的“磨刀不误砍柴工”就是这个道理。今天就要向大家安利一款这样的插件(Sequence Diagram),可以生成源代码的时序图。

关于时序图

        时序图又名序列图、循序图,是一种UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。换句话说,一图胜千言,当代码逻辑比较复杂的时候,画个时序图把思路捋一下,更能够清晰直白的看清楚,各个类的方法之间是如何相互作用的,这就是时序图最根本的意义所在。

        当然,如果自己画图能力比较高超,也可以不借助工具自己画。那么有没有一种可能:我比较懒,画图技术又比较菜,又有要画时序图这种诉求,有没有一种工具可以帮我呢?答案是肯定的,有买卖就有伤害...,哦,不好意思,拿错剧本了,有需要肯定会有对应的实现,这就是idea中的Sequence Diagram插件。

下面和大家分享一下具体的安装、配置和使用方法。

Sequence Diagram

安装

        idea的插件安装,主要有两种方法:一种是在线安装,适合在可以连接到外网的时候用;另外一种是离线安装,如果工作环境不能连接外网,可以使用这种方法。

离线安装

1、先从官网下载插件,官网下载地址:JetBrains Marketplace

        我的idea版本是2018.2,所以我下载了1.4.1版本的Sequence diagram,你使用的idea版本是多少呢?如果和我的idea版本一致,可以从这里下载https://download.csdn.net/download/fox9916/87337869,如果不一样,也可以从官网直接下载。

2、使用install plugin from disk,选择下载的插件包,进行安装;

3、安装成功后,重启idea就可以使用了。

在线安装

点击browse repositories,搜索Sequence diagram,找到后install,直到安装完成即可。

配置

安装完成后,在idea的下方,可以看到sequence diagram的tab功能页

点击小扳手的图标,开始进行主要配置:

  • call depth用于配置调用深度,默认是5层;
  • display only project classes ,勾选中表示仅展示本工程内的源码调用关系,不包含依赖包里的;
  • skip getters/setters,勾选中表示时序图中会跳过get方法和set方法的调用关系;
  • skip private methods,勾选中表示时序图中会跳过私有方法之间的调用关系;
  • skip constructors,勾选中表示时序图中会跳过构造方法的调用关系;
  • smart interface(experimental),好像是带有实验性质的智能接口,暂时没弄明白有啥用,想勾就勾上,不勾也没事;

配置就这么几项,还是很简单的。

使用

使用也是很简单,下面是我写了一些伪代码来演示一下怎么使用这个插件,伪代码可以从这个地址获取:https://download.csdn.net/download/fox9916/87337856;

生成的时序图的效果:

从效果来看,还是很漂亮的。

使用方法超级简单:在类里的方法上右键弹窗中选中Sequence Diagram就可以了。

其他功能特性:

  • 点击生成的时序图上的方法名或类名可以导航到源代码上;
  • 可以从时序图中删除非关键类,但不影响实际代码,可以更加清晰突出关键类之间的调用关系;
  • 可以将时序图导出为图像或 PlantUML 文件;

更加详细的使用技巧,还是自己上手慢慢发现吧。

关注加收藏,关键时候不迷路。

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

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

相关文章

【小程序】案例 - 本地生活(首页)

1. 首页效果以及实现步骤 新建项目并梳理项目结构 配置导航栏效果 配置 tabBar 效果 实现轮播图效果 实现九宫格效果 实现图片布局 2. 接口地址 获取轮播图数据列表的接口 【GET】 https://www.escook.cn/slides 获取九宫格数据列表的接口 【GET】 https://www.esco…

XXE工具——XXEinjection安装与使用

今天继续给大家介绍渗透测试相关知识,本文主要内容是XXE工具——XXEinjection安装与使用。 免责声明: 本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负! 再次强调&#xff1…

直播推流神器 Kplayer 手把手教你在B站7*24h全天直播

开始前的准备工作 Linux服务器 (1)KPlayer目前仅支持Linux环境并需要满足x86_64(amd64)与aarch64(arm64)CPU架构的硬件环境上运行,我们已经将相关依赖库静态链接至主程序中,这意味着你不需要额外的安装任何的第三方库来支持KPlayer的运行。 在后续的迭代…

【数据预处理】基于Pandas的数据预处理技术【前七个任务】

文章目录一.需求分析二.需求解决2.1 本次实验以california_housing加州房价数据集为例,下载数据集2.2 查看数据集的描述、特征及目标数据名称、数据条数、特征数量2.3 将数据读入pandas的DataFrame并转存到csv文件2.4 查看数据集各个特征的类型以及是否有空值2.5 对…

五年经验的前端社招被问:CPU 和 GPU 有什么区别?

CPU 和 GPU 的设计目标和整体架构的区别分析,并在全文最后使用通俗的例子做比喻帮助理解。 首先来看 CPU 和 GPU 的百科解释: CPU(Central ProcessingUnit,中央处理器):功能主要是解释计算机指令以及处理计…

【工作流Activiti7】2、Activiti7 与 Spring Boot 及 Spring Security 整合

1. 前言 其实,选择用Activiti7没别的原因,就是因为穷。但凡是有钱,谁还用开源版的啊,当然是用商业版啦。国外的工作流引擎没有考虑中国的实际情况,很多像回退、委派、撤销等等功能都没有,所以最省事的还是…

若依前后端分离框架去掉首页 登录后跳转至动态路由的第一个路由

若依前后端分离框架去掉首页 登录后跳转至动态路由的第一个路由若依框架VUE前端界面,登录后默认跳转至动态路由第一路由(第一个子菜单)一、登录后跳转第一路由界面二、设置路由的首页路径,方便后续的获取三、点击若依的logo跳转的…

字符串函数(4)--strtok函数和strerror函数

1.strtok函数 — 分割字符串函数 2.strerror函数 — 错误报告函数 1.strstok函数的用法 char* strtok(char* str, const char* delimiters);直接看函数的声明: 参数1:要切割的地址,参数2:切割时的标记物 注意:strt…

单链表的python实现

首先说下线性表,线性表是一种最基本,最简单的数据结构,通俗点讲就是一维的存储数据的结构。 线性表分为顺序表和链接表: 顺序表示指的是用一组地址连续的存储单元依次存储线性表的数据元素,称为线性表的顺序存储结构或…

Nginx安装配置及vue项目部署【Centos7】

Background 网上好多都是源码安装,各种编译环境安装配置,感觉太麻烦了,这里直接下载一个rpm包就行了,离线安装也方便。 1、nginx rpm包下载 选择你要使用的版本下载。 nginx官方下载地址:http://nginx.org/packages/ce…

垃圾回收机制

1.什么场景下该使用什么垃圾回收策略? (1).对内存要求苛刻的场景 想办法提高对象的回收效率,尽可能的多回收一些对象,腾出更多内存 (2).在CPU使用率较高的情况下 降低高并发时垃圾回收频率,让CPU更多地去执行业务而不是垃圾回收 …

一文搞懂 Redis 架构演化之路

现如今 Redis 变得越来越流行,几乎在很多项目中都要被用到,不知道你在使用 Redis 时,有没有思考过,Redis 到底是如何稳定、高性能地提供服务的? 我使用 Redis 的场景很简单,只使用单机版 Redis 会有什么问…

vite + react +typescript 环境搭建,小白入门级教程

目录前言1. 使用 vite 创建 react 项目1. npm / yarn 命令初始化2. 输入项目名称3. 选择框架4. 选择 Js / Ts5. 项目创建完成6. 启动项目2. 规范项目目录3. 使用 react-router-dom 路由1. 使用 npm / yarn 命令下载2. 更改 react-router-dom 版本1. 通过 npm 命令降低版本2. 手…

rabbitmq基础5——集群节点类型、集群节点基础运维,集群管理命令,API接口工具

文章目录一、集群节点类型1.1 内存节点1.2 磁盘节点二、集群基础运维2.1 剔除单个节点2.1.1 集群正常踢出正常节点2.1.2 服务器异常宕机踢出节点2.1.3 集群正常重置并踢出节点2.2 集群节点版本升级2.3 集群某单节点故障恢复2.3.1 机器硬件故障2.3.2 机器掉电2.3.3 网络故障2.3.…

Android ShapeableImageView使用

ShapeableImageView使用使用 导包 implementation com.google.android.material:material:1.4.0属性 属性描述shapeAppearance样式shapeAppearanceOverlay样式,叠加层strokeWidth描边宽度strokeColor描边颜色 样式 名称属性值描述cornerFamilyrounded圆角cut裁剪…

学习记录-mybatis+vue+elementUi实现品牌查询

和以往不同的是,这一次使用了vue和axios来接收后端传过来的参数,并且新建了impl文件来继承service层的接口。该过程实现一共分为4步骤 步骤一 ①mapper mapper 写mapper接口 其实就是写SQL语句了,第一步就是写SQL。这里使用的是注解开发&…

程序员危机如何化解?

很多人认为程序员一定要干到管理层,才会有继续走下去的希望,而踏实做技术的程序员,只会面临淘汰。事实真是如此吗? △ 截图来源脉脉,如侵删 先不说结论,我们一起先看看网友们的看法: △ 截…

报表控件Stimulsoft v2023.1全新发布 | 附免费下载试用

Stimulsoft Ultimate 宣布发布新版本2023.1!在最新版本中添加了对Razor Pages的支持、新的数据监视器可视化工具、为PHP和Blazor平台更新了组件,欢迎下载试用! Stimulsoft Ultimate官方正版下载 Razor Pages 在 2023.1.1 版中,我们添加了对…

跨域问题以及解决跨域问题的vue-cli解决方案

跨域问题 写项目前要问后端,接口支持跨域吗? 支持就不会出现问题,不支持就需要解决跨域问题 1.如何判断一个浏览器的请求是否跨域? 在A地址(发起请求的页面地址)向B地址(要请求的目标页面地址)发起请求时&#xff…

【JavaEE】多线程(三)线程的状态

✨哈喽,进来的小伙伴们,你们好耶!✨ 🛰️🛰️系列专栏:【JavaEE】 ✈️✈️本篇内容:线程的状态,线程安全问题! 🚀🚀代码存放仓库gitee:JavaEE初阶代码存放&a…