凤岗网站仿做有网站源码如何搭建自己的网站
IntelliJ IDEA Type Hierarchy Scope Pattern 学习指南
什么是 Type Hierarchy?
Type Hierarchy 是 IntelliJ IDEA 提供的一个工具,允许开发者查看某个类的继承关系及其实现的接口结构。它是理解类关系的重要工具,尤其在处理复杂的继承体系时非常有用。
在 IDEA 中,默认的快捷键是 Ctrl+H(Windows 系统)。如果你自定义了快捷键,请按照你的配置来操作。
例如,当我们想查看 Exception 类的继承关系时,Type Hierarchy 会展示其完整的继承链。但是,由于 Exception 下的子类非常多,展示结果可能会显得混乱且难以聚焦。如果只想查看 java 包及其子包中的类,该怎么办呢?

自定义 Type Hierarchy 的 Scope
为了更高效地使用 Type Hierarchy,我们可以自定义其显示范围。通过自定义 Scope,可以过滤出特定包中的类,减少不必要的干扰。
1. 打开 Scope 设置

 在 Type Hierarchy 窗口顶部,你会看到一个 Scope(范围)选择器,点击下拉菜单,选择 Edit Scopes(编辑范围)。
2. 添加新的 Scope

- 点击左上角的 “+” 按钮,选择 Local(本地) 或 Shared(共享) 创建一个新的 Scope。
 - 输入一个易于识别的名称,例如 
Java 包。 - 在右侧输入框中,填写匹配规则(Pattern)。 
- 如果需要匹配 
java包及其所有子包,正确的 Pattern 是:lib:java..* lib:用于匹配标准库或依赖包。..*是递归匹配子包的语法。
 - 如果需要匹配 
 - 勾选 Include Recursively(递归包含),确保子包也被包含。
 - 点击 Apply(应用) 保存设置。
 
示例:查看自定义 Scope 的效果
完成上述设置后,当你重新打开 Type Hierarchy 窗口并选择刚才创建的 Scope(例如 Java 包),将看到以下效果:
- 仅显示 
java包及其子包 中的类。 - 忽略其他第三方库或项目中的类。
 - 更加清晰地展示核心库的继承关系。
 
例如,查看 Exception 类的 Type Hierarchy 时,只会显示 java 包中的子类,而不会显示外部依赖中的类。

Scope Pattern 的语法详解
在 Scope 设置中,Pattern 的用法决定了匹配范围的灵活性。以下是一些常用语法及其说明:
基本语法
-  
匹配指定包及其所有子包
lib:java..*lib:指定范围为库中的类。..*用于递归匹配包及其所有子包。
 -  
匹配单个类
java.util.ArrayList- 精确匹配 
ArrayList类。 
 - 精确匹配 
 -  
排除特定包或类
!lib:com.example..*!表示排除特定包。- 例如,上述规则会排除 
com.example包及其子包。 
 -  
匹配多个包
lib:java..* || lib:javax..*- 使用逻辑 OR 
||连接多个包规则。 - 上述规则匹配 
java包及javax包的所有类。 
 - 使用逻辑 OR 
 
注意事项
lib:的重要性:如果省略lib:,IDEA 可能无法识别项目中的标准库或依赖包。- 递归匹配的语法:必须使用 
..*来递归匹配子包,而不是单纯的.*。 - Scope 名称的规范性:建议根据用途命名 Scope,便于快速识别,例如 
Java 核心包或第三方依赖包。 
常见包
java标准库及其相关包
java 核心包
lib:java..*
 
javax 包(扩展包)
lib:javax..*
 
jdk 内部工具包
(如sun包和工具类):
lib:sun..*
 
第三方库
以下是一些常见的 Java 第三方库的匹配模式:
(1)Spring Framework
-  
Spring 核心包:
lib:org.springframework..* -  
Spring Boot 相关包:
lib:org.springframework.boot..* 
(2)Apache Commons 系列
-  
Commons Lang 工具包:
lib:org.apache.commons.lang3..* -  
Commons IO:
lib:org.apache.commons.io..* 
(3)Google 常见库
-  
Guava 工具包:
lib:com.google.common..* -  
Gson JSON 序列化工具:
lib:com.google.gson..* 
(4)Lombok
-  
Lombok 注解包:
lib:lombok..* 
总结
通过自定义 Scope,Type Hierarchy 工具变得更加高效,可以帮助开发者专注于关注的范围。无论是分析 java 包的类继承结构,还是过滤掉无关的第三方依赖,自定义 Scope 都是一个不可或缺的利器。
希望本指南能帮助你更好地掌握 IntelliJ IDEA 中 Type Hierarchy 的使用技巧,让你的开发效率更上一层楼!
