当前位置: 首页 > news >正文

IntelliJ IDEA Type Hierarchy Scope Pattern 学习指南

IntelliJ IDEA Type Hierarchy Scope Pattern 学习指南

什么是 Type Hierarchy?

Type Hierarchy 是 IntelliJ IDEA 提供的一个工具,允许开发者查看某个类的继承关系及其实现的接口结构。它是理解类关系的重要工具,尤其在处理复杂的继承体系时非常有用。

在 IDEA 中,默认的快捷键是 Ctrl+H(Windows 系统)。如果你自定义了快捷键,请按照你的配置来操作。

例如,当我们想查看 Exception 类的继承关系时,Type Hierarchy 会展示其完整的继承链。但是,由于 Exception 下的子类非常多,展示结果可能会显得混乱且难以聚焦。如果只想查看 java 包及其子包中的类,该怎么办呢?

image-20250114101109944

自定义 Type Hierarchy 的 Scope

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

1. 打开 Scope 设置

image-20250114101201941
在 Type Hierarchy 窗口顶部,你会看到一个 Scope(范围)选择器,点击下拉菜单,选择 Edit Scopes(编辑范围)

2. 添加新的 Scope

image-20250114101346015

  1. 点击左上角的 “+” 按钮,选择 Local(本地)Shared(共享) 创建一个新的 Scope。
  2. 输入一个易于识别的名称,例如 Java 包
  3. 在右侧输入框中,填写匹配规则(Pattern)。
    • 如果需要匹配 java 包及其所有子包,正确的 Pattern 是:
      lib:java..*
      
    • lib: 用于匹配标准库或依赖包。
    • ..* 是递归匹配子包的语法。
  4. 勾选 Include Recursively(递归包含),确保子包也被包含。
  5. 点击 Apply(应用) 保存设置。

示例:查看自定义 Scope 的效果

完成上述设置后,当你重新打开 Type Hierarchy 窗口并选择刚才创建的 Scope(例如 Java 包),将看到以下效果:

  • 仅显示 java 包及其子包 中的类。
  • 忽略其他第三方库或项目中的类。
  • 更加清晰地展示核心库的继承关系。

例如,查看 Exception 类的 Type Hierarchy 时,只会显示 java 包中的子类,而不会显示外部依赖中的类。

image-20250114101615068

Scope Pattern 的语法详解

在 Scope 设置中,Pattern 的用法决定了匹配范围的灵活性。以下是一些常用语法及其说明:

基本语法

  1. 匹配指定包及其所有子包

    lib:java..*
    
    • lib: 指定范围为库中的类。
    • ..* 用于递归匹配包及其所有子包。
  2. 匹配单个类

    java.util.ArrayList
    
    • 精确匹配 ArrayList 类。
  3. 排除特定包或类

    !lib:com.example..*
    
    • ! 表示排除特定包。
    • 例如,上述规则会排除 com.example 包及其子包。
  4. 匹配多个包

    lib:java..* || lib:javax..*
    
    • 使用逻辑 OR || 连接多个包规则。
    • 上述规则匹配 java 包及 javax 包的所有类。

注意事项

  1. lib: 的重要性:如果省略 lib:,IDEA 可能无法识别项目中的标准库或依赖包。
  2. 递归匹配的语法:必须使用 ..* 来递归匹配子包,而不是单纯的 .*
  3. 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 的使用技巧,让你的开发效率更上一层楼!

http://www.lryc.cn/news/521361.html

相关文章:

  • 简聊MySQL并发事务中幻读、虚读问题的解决方案
  • 【搭建JavaEE】(2)Tomcat安装配置和第一个JavaEE程序
  • 【Qt】01-了解QT
  • websocket股票行情接口
  • 朴素贝叶斯分类器
  • 智能化植物病害检测:使用深度学习与图像识别技术的应用
  • vim基本命令(vi、工作模式、普通模式、插入模式、可视模式、命令行模式、复制、粘贴、插入、删除、查找、替换)
  • Qt 自动根据编译的dll或exe 将相关dll文件复制到目标文件夹
  • 探索新能源汽车“芯”动力:AUTO TECH China 2025广州国际新能源汽车功率半导体技术展盛况空前
  • Kafka权威指南(第2版)读书笔记
  • WORD转PDF脚本文件
  • electron 打包后的 exe 文件,运行后是空白窗口
  • 数据库重连 - 方案
  • 从 PostgreSQL 中挽救损坏的表
  • 【Vue3 入门到实战】1. 创建Vue3工程
  • rtthread学习笔记系列(10/11) -- 系统定时器
  • mock服务-通过json定义接口自动实现mock服务
  • 像JSONDecodeError: Extra data: line 2 column 1 (char 134)这样的问题怎么解决
  • C#版 软件开发6大原则与23种设计模式
  • java8 springboot 集成javaFx 实现一个客户端程序
  • MySQL(高级特性篇) 06 章——索引的数据结构
  • PanWeidb-使用BenchmarkSQL对磐维数据库进行压测
  • AR 在高校实验室安全教育中的应用
  • 微信小程序实现个人中心页面
  • Spring Boot中的配置文件有哪些类型
  • Spring Boot 项目启动后自动加载系统配置的多种实现方式
  • 如何在 CentOS 中生成 CSR
  • qml XmlListModel详解
  • C++并发编程之跨应用程序与驱动程序的单生产者单消费者队列
  • PostgreSQL技术内幕22:vacuum full 和 vacuum