# UML 类图

> For the complete documentation index, see [llms.txt](https://www.jetbrains.com/zh-cn/help/idea/llms.txt).

> **TL;DR**
> 右键点击类文件或包，然后选择  `图表 | 显示图表` 或  `图表 | 显示图表弹出窗口` 。

Procedure: 启用 Diagrams 插件

此功能依赖于 Diagrams 插件，该插件在 IntelliJ IDEA 中已捆绑并默认启用。 如果相关功能不可用，请确保您没有禁用插件。

1. 按 `Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS)) 打开设置，然后选择  `插件` 。

2. 找到  Diagrams  插件并点击   启用  。

IntelliJ IDEA 允许您在项目中的包上生成图表。 这种图表总是反映您应用程序中实际类和方法的结构。

> **Note:**
> IntelliJ IDEA 支持以与 Java 相同的方式创建和管理 Kotlin 的 UML 类图。

Procedure: 在包上查看图表

1. 在   项目   工具窗口中，右键点击要为其创建图表的包，然后选择  `图表 | 显示图表`  `Ctrl+Alt+Shift+U` (Windows), `⌘ ⌥ ⇧ U` (macOS), `⌘ ⌥ ⇧ U` (IntelliJ IDEA Classic (macOS)), `⌘ ⌥ ⇧ U` (macOS System Shortcuts), `Ctrl+Alt+Shift+U` (XWin), `Ctrl+Alt+Shift+U` (GNOME), `Ctrl+Alt+Shift+U` (KDE), `Ctrl+Alt+Shift+U` (Emacs), `Ctrl+Alt+Shift+U` (Sublime Text), `⌘ ⌥ ⇧ U` (Sublime Text (macOS)), `Ctrl+Alt+Shift+U` (Visual Studio), `⌘ ⌥ ⇧ U` (Visual Studio (macOS)), `Ctrl+Alt+Shift+U` (NetBeans), `Ctrl+Alt+Shift+U` (Eclipse), `⌘ ⌥ ⇧ U` (Eclipse (macOS)))。

2. 在打开的列表中，选择   Java 类图  。 IntelliJ IDEA 为类及其依赖关系生成一个 UML 图。

> **Tip:**
> 您可以将 VCS 本地更改视为图表。 选择  `VCS | 未提交更改| 显示本地更改为 UML`  `Ctrl+Alt+Shift+D` (Windows), `⌘ ⌥ ⇧ D` (macOS), `⌘ ⌥ ⇧ D` (IntelliJ IDEA Classic (macOS)), `⌘ ⌥ ⇧ D` (macOS System Shortcuts), `Ctrl+Alt+Shift+D` (XWin), `Ctrl+Alt+Shift+D` (GNOME), `Ctrl+Alt+Shift+D` (KDE), `Ctrl+Alt+Shift+D` (Emacs), `Ctrl+Alt+Shift+D` (Sublime Text), `⌘ ⌥ ⇧ D` (Sublime Text (macOS)), `Ctrl+Alt+Shift+D` (Visual Studio), `⌘ ⌥ ⇧ D` (Visual Studio (macOS)), `Ctrl+Alt+Shift+D` (NetBeans), `Ctrl+Alt+Shift+D` (Eclipse), `⌘ ⌥ ⇧ D` (Eclipse (macOS))。

## 分析类图

> **Tip:**
> 您可以按下 `Ctrl+F12` (Windows), `⌘ F12` (macOS), `⌘ F12` (IntelliJ IDEA Classic (macOS)), `⌘ ⇧ 7` (macOS System Shortcuts), `Ctrl+F12` (XWin), `Ctrl+F12` (GNOME), `Ctrl+0` (KDE), `Ctrl+F12` (Emacs), `Ctrl+R` (Sublime Text), `⌘ R` (Sublime Text (macOS)), `Alt+\` (Visual Studio), `⌥ \` (Visual Studio (macOS)), `Ctrl+F12` (NetBeans), `Ctrl+F3` (Eclipse), `⌘ O` (Eclipse (macOS)) 在该元素上查看图表元素列表并在它们之间导航。

要查看方法、字段和其他代码元素的列表，请在位于图表编辑器顶部的图表工具栏中选择相应的 [icon](class-diagram-toolbar-and-context-menu.html)。

![图表编辑器](https://resources.jetbrains.com/help/img/idea/2026.3/diagram_editor.png)

列表会根据所选的可见性级别显示，您可以更改。 例如，要查看受保护的方法，请点击图表工具栏上的 ![“更改可见性级别”按钮](https://resources.jetbrains.com/help/img/idea/2026.3/app-client.expui.general.show.svg) 并从列表中选择   protected  。 IntelliJ IDEA 显示可见性不小于 protected 的成员，例如 public、包本地和 protected 成员。 受保护的方法旁边显示有修饰符图标 ![key](https://resources.jetbrains.com/help/img/idea/2026.3/app-client.expui.nodes.accessProtected.png)。

![可见性级别](https://resources.jetbrains.com/help/img/idea/2026.3/ac_diagrams_visibility_level.png)

您可以点击 ![显示依赖关系图标](https://resources.jetbrains.com/help/img/idea/2026.3/uml-support.icons.dependencies.svg) 图标查看类依赖关系。 IntelliJ IDEA 遵循 [UML 约定](https://en.wikipedia.org/wiki/Class_diagram#Relationships) 显示类之间的关系。

![class_dependencies.png](https://resources.jetbrains.com/help/img/idea/2026.3/class_dependencies.png)

当您点击图中的类时，IntelliJ IDEA 会将不属于同一包的类变灰。 当您在包含内部包的包上生成图表时，这可能会有所帮助。

![different_packages.png](https://resources.jetbrains.com/help/img/idea/2026.3/different_packages.png)

要将图表保存为文件，请右键点击图表编辑器，并从上下文菜单中选择  `导出图表 | 导出到文件` ，然后选择您想要保存图表的文件扩展名。

## 管理类图

在使用图表时，请使用图表编辑器中的上下文菜单来执行不同的任务。 您可以查看类的成员、新增、删除现有成员、查看实现情况、检查父类、执行基本重构、添加备注等。

> **Tip:**
> 您可以选择图表工具栏上的 ![创建边模式按钮](https://resources.jetbrains.com/help/img/idea/2026.3/uml-support.icons.edgemode.svg) 图标，在图形中绘制元素之间的关系链接。 要删除现有链接，请选择您不需要的链接并按 `Delete` (Windows), `⌦` (macOS), `⌦` (IntelliJ IDEA Classic (macOS)), `⌦` (macOS System Shortcuts), `Delete` (XWin), `Delete` (GNOME), `Delete` (KDE), `Delete` (Emacs), `Delete` (Sublime Text), `⌦` (Sublime Text (macOS)), `Delete` (Visual Studio), `⌦` (Visual Studio (macOS)), `Delete` (NetBeans), `Delete` (Eclipse), `⌦` (Eclipse (macOS))。 IntelliJ IDEA 将相应地更新源代码。

Procedure: 查看图表结构

1. 生成图表。

2. 请点击   结构  在左侧工具栏。 IntelliJ IDEA 会打开   结构  工具窗口，该窗口显示您的图表的地图，以及所选块及其邻居的预览。

![结构视图](https://resources.jetbrains.com/help/img/idea/2026.3/diagram_structure.png)

使用上下文菜单放大和缩小，移动画布，改变布局，并将图表的一部分导出为图像。

![上下文菜单](https://resources.jetbrains.com/help/img/idea/2026.3/structure_context_menu.png)

Procedure: 将现有类添加到图表

1. 按下 `Space` (Windows), `Space` (macOS), `Space` (IntelliJ IDEA Classic (macOS)), `Space` (macOS System Shortcuts), `Space` (XWin), `Space` (GNOME), `Space` (KDE), `Space` (Emacs), `Space` (Sublime Text), `Space` (Sublime Text (macOS)), `Space` (Visual Studio), `Space` (Visual Studio (macOS)), `Space` (NetBeans), `Space` (Eclipse), `Space` (Eclipse (macOS))。

2. 在打开的搜索字段中，开始输入您想要添加的类的名称。 然后，从建议列表中选择所需的类。

如果您想添加超出项目范围的类，请选择   包括非项目项   复选框。

或者，选择   项目   工具窗口中的一个或多个元素并将它们拖动到图表中。

Procedure: 从图表中删除节点元素

1. 在图表编辑器中，选择您想删除的节点元素。

2. 右键点击该元素，然后从上下文菜单中选择   删除   `Delete` (Windows), `⌦` (macOS), `⌦` (IntelliJ IDEA Classic (macOS)), `⌦` (macOS System Shortcuts), `Delete` (XWin), `Delete` (GNOME), `Delete` (KDE), `Delete` (Emacs), `Delete` (Sublime Text), `⌦` (Sublime Text (macOS)), `Delete` (Visual Studio), `⌦` (Visual Studio (macOS)), `Delete` (NetBeans), `Delete` (Eclipse), `⌦` (Eclipse (macOS))。

或者，选择  `重构 | 安全删除`  `Alt+Delete` (Windows), `⌘ ⌦` (macOS), `⌘ ⌦` (IntelliJ IDEA Classic (macOS)), `⌘ ⌦` (macOS System Shortcuts), `Alt+Delete` (XWin), `Alt+Delete` (GNOME), `Alt+Delete` (KDE), `Alt+Delete` (Emacs), `Alt+Delete` (Sublime Text), `⌘ ⌦` (Sublime Text (macOS)), `Ctrl+R, D` (Visual Studio), `⌘ R, D` (Visual Studio (macOS)), `Alt+Delete` (NetBeans), `Alt+Delete` (Eclipse), `Alt+Delete` (Eclipse (macOS))。 在这种情况下，IntelliJ IDEA 会在应用更改之前检查 [用法](find-highlight-usages.html)。

> **Tip:**
> 您可以通过在代码元素上按 `Alt+F7` (Windows), `⌥ F7` (macOS), `⌥ F7` (IntelliJ IDEA Classic (macOS)), `⌃ U` (macOS System Shortcuts), `Alt+F7` (XWin), `Alt+Shift+7` (GNOME), `Alt+Shift+7` (KDE), `Alt+F7` (Emacs), `Alt+F7` (Sublime Text), `⌥ F7` (Sublime Text (macOS)), `Shift+F12` (Visual Studio), `⇧ F12` (Visual Studio (macOS)), `Alt+F7` (NetBeans), `Ctrl+G` (Eclipse), `⌘ ⇧ G` (Eclipse (macOS)) 来快速搜索使用情况。

Procedure: 将新成员添加到类中

您可以在图表编辑器中执行一些正向工程。

1. 在图表编辑器中，右键点击任意位置，然后从上下文菜单中选择  `内容 | 新` 。 然后选择您要创建的代码元素。

2. 根据您的选择，IntelliJ IDEA 会打开相应的对话框，您可以在其中指定创建新元素所需的信息。

IntelliJ IDEA 将该项添加到您的图表以及项目树中。

Procedure: 查看实现和父类

您可以在图表中查看实现和父类。 如果 IntelliJ IDEA 找到多个父类或实现，它将显示一个合适项的列表。 选择您需要的以查看父项及其子项之间的关联。

1. 在图表编辑器中，选择您希望查看其实现或父类的项目。

2. 右键点击项目，然后从上下文菜单中分别选择   显示实现   `Ctrl+Alt+B` (Windows), `⌘ ⌥ B` (macOS), `⌘ ⌥ B` (IntelliJ IDEA Classic (macOS)), `⌘ ⌥ B` (macOS System Shortcuts), `Ctrl+Alt+B` (XWin), `Ctrl+Alt+B` (GNOME), `Ctrl+Alt+B` (KDE), `Ctrl+Alt+B` (Emacs), `Ctrl+Alt+B` (Sublime Text), `⌘ ⌥ B` (Sublime Text (macOS)), `Alt+End` (Visual Studio), `⌘ ⌥ Click` (Visual Studio (macOS)), `Ctrl+Alt+B` (NetBeans), `Ctrl+T` (Eclipse), `Ctrl+Alt+B` (Eclipse (macOS))或   显示父级   `Ctrl+Alt+P` (Windows), `⌘ ⌥ P` (macOS), `⌘ ⌥ P` (IntelliJ IDEA Classic (macOS)), `⌘ ⌥ P` (macOS System Shortcuts), `Ctrl+Alt+P` (XWin), `Ctrl+Alt+P` (GNOME), `Ctrl+Alt+P` (KDE), `Ctrl+Alt+P` (Emacs), `Ctrl+Alt+P` (Sublime Text), `⌘ ⌥ P` (Sublime Text (macOS)), `Ctrl+R, P` (Visual Studio), `⌘ R, P` (Visual Studio (macOS)), `Ctrl+Alt+P` (NetBeans), `Ctrl+Alt+P` (Eclipse), `⌘ ⌥ P` (Eclipse (macOS))。

3. 在打开的弹窗中，选择您需要的项目并按 `Enter` (Windows), `⏎` (macOS), `⏎` (IntelliJ IDEA Classic (macOS)), `⏎` (macOS System Shortcuts), `Enter` (XWin), `Enter` (GNOME), `Enter` (KDE), `Enter` (Emacs), `Enter` (Sublime Text), `⏎` (Sublime Text (macOS)), `Enter` (Visual Studio), `⏎` (Visual Studio (macOS)), `Enter` (NetBeans), `Enter` (Eclipse), `⏎` (Eclipse (macOS))。 要在弹出窗口中向上或向下扩展您的选择，请分别按 `Shift+Up` (Windows), `⇧ ↑` (macOS), `⇧ ↑` (IntelliJ IDEA Classic (macOS)), `⇧ ↑` (macOS System Shortcuts), `Shift+Up` (XWin), `Shift+Up` (GNOME), `Shift+Up` (KDE), `Shift+Up` (Emacs), `Shift+Up` (Sublime Text), `⇧ ↑` (Sublime Text (macOS)), `Shift+Up` (Visual Studio), `⇧ ↑` (Visual Studio (macOS)), `Shift+Up` (NetBeans), `Shift+Up` (Eclipse), `⇧ ↑` (Eclipse (macOS)) 或 `Shift+Down` (Windows), `⇧ ↓` (macOS), `⇧ ↓` (IntelliJ IDEA Classic (macOS)), `⇧ ↓` (macOS System Shortcuts), `Shift+Down` (XWin), `Shift+Down` (GNOME), `Shift+Down` (KDE), `Shift+Down` (Emacs), `Shift+Down` (Sublime Text), `⇧ ↓` (Sublime Text (macOS)), `Shift+Down` (Visual Studio), `⇧ ↓` (Visual Studio (macOS)), `Shift+Down` (NetBeans), `Shift+Down` (Eclipse), `⇧ ↓` (Eclipse (macOS))。

Procedure: 配置图表设置

您可以配置图表设置，以便在创建图表时默认提供某些选项。

1. 按 `Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS)) 打开设置，然后选择  `工具 | 图表` 。

2. 在右侧窗格中，选择您希望默认看到的选项，然后点击   OK  以应用您的更改。

## 分析图表

分析图表   操作组可让您以多种方式分析图形，例如执行自动聚类、测量节点中心性、搜索环、对两个节点之间的路径使用筛选器等。

Procedure: 在两个节点之间过滤路径

大多数情况下，生成的图表又大又复杂。 通常，您只需专注于图表的特定部分。 IntelliJ IDEA 允许您过滤两个图表元素之间的路径。

1. 在图表编辑器中，选择两个您想要聚焦的节点，然后右键点击其中一个以打开上下文菜单。

2. 在上下文菜单中，选择  `分析图形｜聚焦于两个节点之间的路径` 。

> **Note:**
> 如果您不仅仅希望关注两个节点，而是希望了解选定节点与其邻居节点的连接方式，请从上下文菜单中选择   专注于节点邻域   选项。

3. 在打开的对话框中，按需选择其他选项，然后点击   查找  。

![“聚焦于两个节点间路径”对话框](https://resources.jetbrains.com/help/img/idea/2026.3/focus_view_on_path_dialog.png)

IntelliJ IDEA 仅显示与所选节点关联的连接。

![节点之间的路径](https://resources.jetbrains.com/help/img/idea/2026.3/paths_between_nodes.animated.gif)

Procedure: 测量图中心性

您可以使用此操作来识别图中重要的节点。

1. 在图表编辑器中，右键点击编辑器的任意位置以打开上下文菜单。

2. 在上下文菜单中，选择  `分析图 | 测量中心性` 。

3. 在打开的对话框中，按需选择其他选项，然后点击   测量  。

![度量中心性](https://resources.jetbrains.com/help/img/idea/2026.3/measure_centrality_dialog.png)

节点“重要性”通过 0.0 到 1.0 的小数值度量来表示，应首先探索最亮的节点选择。

![测量节点](https://resources.jetbrains.com/help/img/idea/2026.3/measurements.png)

> **Tip:**
> 请按 `Ctrl+Z` (Windows), `⌘ Z` (macOS), `⌘ Z` (IntelliJ IDEA Classic (macOS)), `⌘ Z` (macOS System Shortcuts), `Ctrl+Z` (XWin), `Ctrl+Z` (GNOME), `Ctrl+Z` (KDE), `Ctrl+Shift+Minus` (Emacs), `Ctrl+Z` (Sublime Text), `⌘ Z` (Sublime Text (macOS)), `Ctrl+Z` (Visual Studio), `⌘ Z` (Visual Studio (macOS)), `Ctrl+Z` (NetBeans), `Ctrl+Z` (Eclipse), `⌘ Z` (Eclipse (macOS)) 取消操作。

## See also

### 参考

[图表工具栏和上下文菜单](diagram-toolbar-and-context-menu.html) [类图工具栏、上下文菜单和图例](class-diagram-toolbar-and-context-menu.html)

