codecamp

分析IntelliJ IDEA的依赖关系

IntelliJ IDEA 分析依赖关系

在 IntelliJ IDEA 中,您能够分析项目的源代码并检测应用程序参与的依赖关系,并且每个依赖关系分析的结果显示在依赖关系查看器的单独的选项卡中。

如何分析项目中的依赖关系

  1. 在主菜单上选择分析|  分析依赖关系(Analyze | Analyze Dependencies) 或者,右键单击要分析的元素(包类等),并在 "项目" 工具窗口或编辑器中的上下文菜单中选择相同的命令。
  2. 在 "指定相关性分析范围" 对话框中,选择所需的分析范围。
  3. 检查依赖关系查看器的依赖关系。
    IntelliJ IDEA 分析依赖关系

IntelliJ IDEA 建议使用以下方法来分析项目中的依赖关系:

  • 分析用法,这有助于您定位对某个类、变量、方法或参数的所有引用。这个功能包括整个项目中的搜索和视图使用,并突出显示文件中的使用实例。
  • 查看文件结构的可能性。
  • 探索类型、方法和方法调用的层次结构的可能性。
  • 搜索重复的代码片段。
  • 对依赖关系 (模块、向后或循环) 的分析。
  • 利用依赖结构矩阵分析探索复杂的依赖关系。

IntelliJ IDEA 使用 DSM 分析依赖关系

注意:此功能仅在 Ultimate 版本中受支持;此功能仅支持 Java 功能!

在开始使用 DSM Analysis 之前,请确保启用了 DSM 分析插件。该插件与 IntelliJ IDEA 捆绑在一起,默认情况下激活。如果插件没有激活,请在 "设置/首选项" 对话框的 "插件" 页上启用它,如启用和禁用插件所述。

DSM 分析

注意:此功能仅在 Ultimate 版本中受支持;此功能仅支持 Java 功能!

在处理那些肯定有许多依赖关系的复杂项目时,您可能会遇到困难,试图了解在哪里寻找问题。您可以执行依赖关系分析,但是您必须准确地知道要分析的依赖关系。这是 DSM 能够提供帮助的地方。

DSM 代表依赖关系矩阵 - 用于探索程序部分(模块、类等)之间的依赖关系的方法,并提供一个项目的紧凑矩阵表示。

DSM 分析可帮助您可视化项目部分(模块、类等)之间的依赖关系,并突出显示项目中的信息流。

DSM 分析可用于管理更改如何影响项目。例如,如果需要更改其中一个类,则可以识别所有依赖关系,并查看更改如何通过项目传播。依赖关系矩阵列出了项目的所有部分以及它们之间的依赖关系。

只有您在 IntelliJ IDEA 安装中启用了 DSM Analysis 插件时,此功能才可用。

DSM 分析结果显示在特殊的 DSM 视图中。

IntelliJ IDEA 访问 DSM 分析

注意:此功能仅在 Ultimate 版本中受支持;此功能仅支持 Java 功能!

调用 DSM

  1. 在主菜单上选择分析|  分析依赖关系 请注意,如果仅启用了 DSM 分析插件,该命令在菜单上可用参考“设置”对话框的“插件”页面。
  2. "指定分析相关性矩阵作用域" 对话框中,单击与所需分析范围相对应的单选按钮。
  3. 如果要分析测试源,请选中 "包含测试源" 复选框。单击 "确定"。

  4. 准备就绪后,将在新窗口中打开 DSM 视图,使您能够检查依赖关系。     
注意:如果您的项目类文件已过期,分析可能会导致数据不完整或不正确。为了避免这种情况,IntelliJ IDEA 会在继续 DSM 分析之前询问您是否要编译项目。

IntelliJ IDEA 扩大依赖关系

注意:此功能仅在 Ultimate 版本中受支持;此功能仅支持 Java 功能!

您可以扩展依赖关系来更详细地检查它们。

  1. 在 DSM 视图中,选择要浏览的单元格。
  2. 双击该单元格。这将更详细地展开显示依赖关系的两行。

IntelliJ IDEA 探索依赖关系

注意:此功能仅在 Ultimate 版本中受支持;此功能仅支持 Java 功能!

有可能只将视图限制为选定的依赖关系。请注意,与限制范围相反,只剩下选择产生依赖关系的类。

  1. 在 DSM 视图中,选择要浏览的单元格。
  2. 右键单击依赖关系,并在上下文菜单上选择“探索依赖关系” 产生这些依赖关系的类将在 DSM 视图中的新选项卡中打开。

IntelliJ IDEA 查找依赖关系的用法

注意:此功能仅在 Ultimate 版本中受支持;此功能仅支持 Java 功能!

您可以在 "查找使用实例" 视图中打开选定的依赖项,以便进一步进行源代码分析。

  1. 在 DSM 视图中,选择依赖关系。
  2. 右键单击依赖关系,并在上下文菜单中选择"查找使用实例"。

IntelliJ IDEA 限制 DSM 范围

注意:此功能仅在 Ultimate 版本中受支持;此功能仅支持 Java 功能!

您可以将 DSM 的范围限制为所选的行。只有这些将保留在新的矩阵中。

  1. 在 DSM 视图中,选择要保留的行。
  2. 右键单击所选行,并在菜单中选择 "限制范围"。将在 DSM 视图中的新选项卡中打开有限范围。


IntelliJ IDEA从自动导入中排除类并优化导入
IntelliJ IDEA层次结构
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

IntelliJ IDEA的一般准则

什么是IntelliJ IDEA项目

使用IntelliJ IDEA的意图行为

IntelliJ IDEA使用运行/调试配置

特定于VCS的程序

IntelliJ IDEA语言和特定框架指南

IntelliJ IDEA的数据库和SQL功能

IntelliJ IDEA使用之JavaServer Faces(JSF)

IntelliJ IDEA:分析PHP应用程序的性能

IntelliJ IDEA:调试PHP应用程序

IntelliJ IDEA:适用于PHP的Google App Engine

IntelliJ IDEA更多内容

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }