首页 > 其他分享 >IntelliJ IDEA-Diagrams(图表)插件的使用

IntelliJ IDEA-Diagrams(图表)插件的使用

时间:2024-10-24 19:48:12浏览次数:1  
标签:插件 依赖 IntelliJ Show 类图 IDEA UML Diagrams

IntelliJ IDEA-Diagrams(图表)插件的使用

简介

Diagrams插件是IntelliJ IDEA内置的插件,它为基于IntelliJ IDE的所有本地图表类型提供API。此插件包含对以下从源代码中完全自动生成的图表的支持:
1.UML类图(当前使用于Java和Kotlin JVM)
2.IDEA模块依赖关系图
3.在Git Diff视图下的UML类图(当前仅适用于Java)

Diagrams插件的选项

在进入IDEA后,点击Settings->Plugins->Installed,搜索Diagrams便能找到对应插件(社区版IDEA没有该插件)。

点击Settings->Tools->Diagrams,进入Diagrams设置选项,可以设置展示图表时需要启用的类别,外观,布局。设置的启用范围。

UML类图自动生成

生成UML类图选项

在一个类上右键,选择Diagrams->show Diagram...(show Diagram Popup表示弹窗形式展示UML类图)选项后,可以展示对应类的UML类图。


UML类图中类不同形式连接的含义

这里以HashMap的UML类图为例

UML类图之间一共有三种形式的连接
1.绿色虚线: 接口-类,表示该类继承了此接口,该类是此接口的实现类。
2.蓝色实线: 类-类,表示一个类继承了另一个类,一个是父类(超类),一个是子类(派生类)。
3.红色实线: 类-类,表示一个类是另一个类的内部类。

UML类图的工具栏

工具栏大致可以分为四个部分,其中后面两个部分在模块依赖关系图的工具栏中也有。
第一部分:
Fields: 是否显示成员变量
Constructors: 是否显示构造器
Methods: 是否显示方法
Properties: 是否显示属性

第二部分:
Show Dependencies: 显示依赖关系
Change Item Ordering: 更改项目排序(默认根据声明命令排序)
Change Visibility Level: 更改可见级别(默认全部显示)
Change Scope: 更改显示范围(默认全部显示)
Edge Creation Mode: 边缘创建模式

第三部分:
Zoom in: 放大
Zoom Out: 缩小
Actual Size: 恢复实际大小
Fit Content: 自动适应当前窗口大小

第四部分:
Apply Current Layout: 应用当前布局(修改类图布局方式)
Auto Route Edges: 自动布线(连接线更分散)
Copy Diagram to Clipboard: 复制当前界面到剪切板(图片类型)
Copy Selection to Clipboard: 复制鼠标选中的区域到剪切板(图片类型)
Export Diagram: 导出图表
Refresh Data Model: 刷新当前界面
Open Diagrams Settings: 打开Diagrams设置页面
Help: 在浏览器中打开帮助文档(需联网)

右键常用选项

1.UML类图中添加新的类,如Object
选择Content->Add Class to Diagram,出现输入框,输入需要的类(勾选Include non-project items可以选择非项目中的类,如Object)。

2.进入对应类的源码中
选择Selected Element Actions->Jump to Source

3.显示类的子类或接口的实现类
选择Show Implementations

4.显示类的父类或接口的父类
选择Show Parents

5.删除选中的类,此类不出现在UML类图中
选择Delete

模块依赖关系图自动生成

生成模块依赖关系图选项

在一个pom.xml文件上右键,选择Diagrams->show Diagram...(show Diagram Popup表示弹窗形式展示模块依赖关系图)选项后,可以展示对应模块依赖关系图。
快捷键: ctrl+F可以输入相关包名,可以跳转到对应包名的位置

模块依赖关系图中依赖不同形式连接的含义

模块依赖关系图之间一共有两种形式的连接
1.蓝色实线: 正常的依赖关系
2.红色虚线: 异常的依赖关系,存在依赖冲突
注:如果要解决冲突更推荐使用Maven Helper插件。

模块依赖关系图的工具栏

工具栏大致可以分为三个部分,其中后面两个部分在UML类图的工具栏中也有。
第一部分:
Show 'groupId':'artifactId':'version': 以组ID:工件ID:版本号的形式展示,默认是只显示工件ID
Show Conflicts/Duplicates: 显示 冲突/重复
Show Paths: Root->Selection: 显示选择的依赖的根路径
Show Neighbours of Selected Nodes: 显示选择的依赖的相邻依赖
Show Borders: 显示边界
Change Visibility Level: 更改可见级别(默认全部展示)

第二部分:
Zoom in: 放大
Zoom Out: 缩小
Actual Size: 恢复实际大小
Fit Content: 自动适应当前窗口大小

第三部分:
Apply Current Layout: 应用当前布局(修改类图布局方式)
Auto Route Edges: 自动布线(连接线更分散)
Copy Diagram to Clipboard: 复制当前界面到剪切板(图片类型)
Copy Selection to Clipboard: 复制鼠标选中的区域到剪切板(图片类型)
Export Diagram: 导出图表
Refresh Data Model: 刷新当前界面
Open Diagrams Settings: 打开Diagrams设置页面
Help: 在浏览器中打开帮助文档(需联网)

右键常用选项

1.进入对应依赖的pom文件中
选择Selected Element Actions->Jump to Source

在Git Diff视图下生成UML类图(当前仅适用于Java)

生成UML类图选项

前提: 需要是版本控制使用Git的项目
修改本地代码后,选择Commit视图,右键选择Show Local Changes as UML

参考资料

https://www.jetbrains.com/help/idea/2023.2/class-diagram.html?Class_diagram#analyze_graph

标签:插件,依赖,IntelliJ,Show,类图,IDEA,UML,Diagrams
From: https://www.cnblogs.com/shenStudy/p/18500354

相关文章

  • IDEA配置
     IDE(IntelliJIDEA)-JAVA的集成开发环境(用来写代码的) 必做项:1.安装IntelliJIDEA2.打开项目1)进入刚刚下载的代码的文件夹中(比如我的是:D:\Codes\,即在D:\Codes\目录下,clone过一份代码)2)空白处右键,选择OpenFolderasIntelliJI......
  • Zotero高效秘籍:学术达人必备的7款插件
                  还在为海量文献管理头疼吗?还在为找不到合适的插件犯愁吗?别急,今天我就要带你解锁Zotero的终极武器-那些让你爱不释手的必备插件!作为一个从小白到文献管理达人的过来人,我可以负责任地说:没有这些插件,你的Zotero只能发挥一半功力!安装了这些......
  • IDEA必装插件
    IDEA必装插件1Codota——代码智能提示2AlibabaJavaCodeGuidelines——阿里巴巴Java代码规范,不符合阿里巴巴Java开发手册的都会显示出来3Translation——翻译插件4CodeGlance——缩略图5google-java-format——代码自动格式化6GrepCon......
  • 「效率集」聚合搜索,浏览器必备的资源与信息搜索插件
    简介「效率集」聚合搜索是当前浏览器上最强的查资源找信息插件。它内置了上百款搜索引擎,支持聚合搜索。一键全网搜索全网可用资源,真正让用户实现电影,电视剧,音乐,电子书,网盘,磁力等资源的自由,也可以用于购物比价,特惠信息,新闻,学术资料等信息搜索。插件内置几十款国内外知名AI大模型......
  • 【磐维数据库】支持postgis插件以提供空间数据支持
    背景说明 一、磐维部署postgis扩展功能描述PostGIS是在对象关系型数据库PostgreSQL上增加了存储管理空间数据的能力的开源GIS数据库,它在PostgreSQL的基础上增加了表达地理信息的空间数据类型和操作这些类型的函数。PanWeiDBV2.0-S2.0.2版本可使用PostGIS的如下模块:v ......
  • vscode github copilot 插件逆向分析
    vscodegithub插件逆向分析,接口https://codex.micosoft.icu/chat/completions。  你是一个人工智能编程助手当被问到你的名字时,你必须回答‘GitHubCopilot’严格且逐字地遵循用户的要求必须遵守微软制定的内容规范,包括确保内容的安全性、合法性和适宜性,防止仇恨言论、......
  • 常用的 RabbitMQ 插件
    RabbitMQ支持许多插件,这些插件可以扩展RabbitMQ的功能和特性。以下是一些常用的RabbitMQ插件:1、ManagementPlugin:RabbitMQ管理插件提供了一个Web管理界面,用于监控和管理RabbitMQ服务器。可以查看队列、交换机、连接、通道等的状态,并进行配置和操作。2、ShovelPlugi......
  • elasticsearch安装head插件
    当我们安装elasticsearch时,需要注意一下问题优化配置以下是如何通过jvm.options文件设置堆大小的示例:-Xms2g-Xmx2g将最小堆大小(Xms)和最大堆大小(Xmx)设置为彼此相等设置Xmx为不超过物理RAM的50%,以确保有足够的物理RAM用于内核文件系统缓存但是不能超过32g,超过32gjava......
  • IDEA久违了!FeignX插件支持方法级别的导航跳转
    需求调研:发现身边的同事追踪业务代码的时候,如果遇见feign接口,大家都是通过全局搜url进一步找到远程服务的实现。一旦项目大起来,路径变得复杂甚至重名之后,这将会是灾难。市面上并没有很好的IDEA插件支持feign接口的解析以及相对应的远程服务之间的跳转,因此本人([lyflexi](https:......
  • 在K8S中,常用的CNI网络插件有哪些?并说一下它们的工作原理和区别。
    在Kubernetes(K8s)中,常用的CNI(ContainerNetworkInterface)网络插件包括Flannel、Calico、Weave、Cilium等。这些插件的工作原理和区别如下:1.工作原理CNI是容器网络接口,它是一个标准的通用的接口,用于连接容器管理系统和网络插件。容器runtime为容器提供networknamespace,网络插件......