IntelliJ IDEA-Diagrams(圖表)外掛的使用

柯南。道尔發表於2024-10-24

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

相關文章