前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >IntelliJ IDEA Type Hierarchy Scope Pattern 学习指南

IntelliJ IDEA Type Hierarchy Scope Pattern 学习指南

作者头像
九转成圣
发布于 2025-01-17 00:45:43
发布于 2025-01-17 00:45:43
12000
代码可运行
举报
文章被收录于专栏:csdncsdn
运行总次数:0
代码可运行

IntelliJ IDEA Type Hierarchy Scope Pattern 学习指南

什么是 Type Hierarchy?

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

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

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

自定义 Type Hierarchy 的 Scope

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

1. 打开 Scope 设置

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

2. 添加新的 Scope
image-20250114101346015
image-20250114101346015

点击左上角的 “+” 按钮,选择 Local(本地)Shared(共享) 创建一个新的 Scope。

输入一个易于识别的名称,例如 Java 包

在右侧输入框中,填写匹配规则(Pattern)。

如果需要匹配 java 包及其所有子包,正确的 Pattern 是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
lib:java..*

lib: 用于匹配标准库或依赖包。

..* 是递归匹配子包的语法。

勾选 Include Recursively(递归包含),确保子包也被包含。

点击 Apply(应用) 保存设置。

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

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

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

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

image-20250114101615068
image-20250114101615068

Scope Pattern 的语法详解

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

基本语法

匹配指定包及其所有子包

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
lib:java..*
  • lib: 指定范围为库中的类。
  • ..* 用于递归匹配包及其所有子包。

匹配单个类

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
java.util.ArrayList
  • 精确匹配 ArrayList 类。

排除特定包或类

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
!lib:com.example..*
  • ! 表示排除特定包。
  • 例如,上述规则会排除 com.example 包及其子包。

匹配多个包

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
lib:java..* || lib:javax..*
  • 使用逻辑 OR || 连接多个包规则。
  • 上述规则匹配 java 包及 javax 包的所有类。

注意事项

  1. lib: 的重要性:如果省略 lib:,IDEA 可能无法识别项目中的标准库或依赖包。
  2. 递归匹配的语法:必须使用 ..* 来递归匹配子包,而不是单纯的 .*
  3. Scope 名称的规范性:建议根据用途命名 Scope,便于快速识别,例如 Java 核心包第三方依赖包

常见包

java标准库及其相关包

java 核心包
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
lib:java..*
javax 包(扩展包)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
lib:javax..*
jdk 内部工具包

(如sun包和工具类):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
lib:sun..*

第三方库

以下是一些常见的 Java 第三方库的匹配模式:

(1)Spring Framework

Spring 核心包:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
lib:org.springframework..*

Spring Boot 相关包:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
lib:org.springframework.boot..*
(2)Apache Commons 系列

Commons Lang 工具包:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
lib:org.apache.commons.lang3..*

Commons IO:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
lib:org.apache.commons.io..*
(3)Google 常见库

Guava 工具包:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
lib:com.google.common..*

Gson JSON 序列化工具:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
lib:com.google.gson..*
(4)Lombok

Lombok 注解包:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
lib:lombok..*

总结

通过自定义 Scope,Type Hierarchy 工具变得更加高效,可以帮助开发者专注于关注的范围。无论是分析 java 包的类继承结构,还是过滤掉无关的第三方依赖,自定义 Scope 都是一个不可或缺的利器。

希望本指南能帮助你更好地掌握 IntelliJ IDEA 中 Type Hierarchy 的使用技巧,让你的开发效率更上一层楼!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-01-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
超详细图解从0搭建SSM框架【intellij idea】
文章链接:http://blog.csdn.net/w8897282/article/details/71215591
Java团长
2018/08/06
5.1K0
如何使用第三方库提升开发效率:Apache Commons、Guava与Lombok的使用
在现代Java开发中,第三方库能够大幅提升开发效率,减少重复代码和提高可维护性。通过利用像Apache Commons、Guava和Lombok这样的库,开发者可以更加专注于核心业务逻辑,避免处理许多琐碎的常见操作。本文将介绍如何使用这些第三方库来简化常见任务,包括字符串操作、集合操作、以及JavaBean的处理,帮助你在项目开发中提高效率。
默 语
2025/01/27
970
IDEA 2021 Spring Cloud 项目搭建 步骤演示 图文解说 (基础版)
我们首先先构建父工程,这里使用的是maven项目,用spring快速项目进行构建。 注意:这里选择jdk11演示,自己也可以用其他版本如1.8
猫头虎
2024/04/07
1.2K0
IDEA 2021 Spring Cloud 项目搭建 步骤演示 图文解说 (基础版)
【方向盘】使用IDEA的60+个快捷键分享给你,权为了提效(IDEA导航篇)
你好,我是方向盘(YourBatman)。笔者的公号是保留地,只分享原创,不转载、不发商务广告!
YourBatman
2022/03/08
1.6K0
【方向盘】使用IDEA的60+个快捷键分享给你,权为了提效(IDEA导航篇)
IntelliJ插件开发-京东工程师教你改造你的IDE
王帅廷,京东 Android高级开发工程师,6年以上开发经验,对设计框架有着深刻的认识,负责京东商城研发工具的开发,设计并完成了多个IntelliJ插件的开发工作。
京东技术
2018/07/30
3.3K1
IntelliJ插件开发-京东工程师教你改造你的IDE
python安装不了whl文件_Python安装whl文件过程图解
这篇文章主要介绍了Python安装whl文件过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
全栈程序员站长
2022/09/02
2.5K0
12个超好用的IntelliJ IDEA 插件!你用过几个?
如果说IntelliJ IDEA是一款现代化智能开发工具的话,Eclipse则称得上是石器时代的东西了。
程序员追风
2019/08/20
7.7K0
GraphQL实践2——Spring-GraphQL集成JPA与MySQL
上一篇介绍到用第三方库集成GraphQL,目前spring-graphql项目已经出到1.0.0-M3版本,属于内部预览版,此处尝鲜验证
F嘉阳
2022/10/28
1.4K0
IntelliJ IDEA Community Edition 社区版插件汇总「建议收藏」
今年Idea对盗版软件打击力度加大,朋友们会发现,旗舰版自己激活使用,过几天就会失效,需要重新激活,有的小伙伴就会选择去淘宝花钱买个教育邮箱注册,这个方法我使用过,过了两三个月就不能用了,着实让人头疼。 如何解决呢?我想到了Idea社区版本,下载一个使用,将我的Spring boot项目导入,启动下试试,不出所料,报错了。 好啦!步入正题。
全栈程序员站长
2022/09/29
16.3K0
IntelliJ IDEA Community Edition 社区版插件汇总「建议收藏」
各种 IntelliJ IDEA 酷炫插件推荐
分别是安装JetBrains插件,第三方插件,本地已下载的插件包。详情见往期关于settings的文章。
程序猿DD
2019/05/14
1.4K0
各种 IntelliJ IDEA 酷炫插件推荐
各种 IntelliJ IDEA 酷炫插件推荐
今天介绍一下IDEA的一些炫酷的插件,IDEA强大的插件库,不仅能给我们带来一些开发的便捷,还能体现我们的与众不同。
芋道源码
2019/05/14
1.2K0
搭建spring+springmvc项目
新建一个Maven项目 填写项目名 引入依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.or
阿超
2022/08/16
1770
搭建spring+springmvc项目
我只装迅速提升效率的 IntelliJ IDEA 插件
IntelliJ IDEA 默认安装并提供了非常多的工具,比如 Git Integration、Maven Integration、Markdown support、SSH Remote Run 等。其中有很多好用,但是不为人知的工具。
Java识堂
2019/05/24
3.3K0
我只装迅速提升效率的 IntelliJ IDEA 插件
Intellij IDEA必备插件,提高效率的“七种武器”!
常言道“工欲善其事必先利其器”,作为一个程序员,一个好的IDE可以起到事半功倍的效果。2020 JVM 生态报告显示 Intellij IDEA 已经成为Java开发者的首选。Intellij IDEA的强大不止在于其本身提供的各种功能,也依赖于其插件体系为第三方提供了扩展能力。今天我就分享一下自己常用的插件,有了这些工具的帮助,写bug都比别人快一步。
码农神说
2020/08/05
1.5K0
Intellij IDEA必备插件,提高效率的“七种武器”!
自从用了这款项目构建神器后,领导开始对我刮目相看~
今天来给大家介绍一款项目构建神器——Maven,不仅能帮我们自动化构建,还能够抽象构建过程,提供构建任务实现;它跨平台,对外提供了一致的操作接口,这一切足以使它成为优秀的、流行的构建工具,从此以后,再也不用担心项目搞崩了。
沉默王二
2021/12/23
9460
自从用了这款项目构建神器后,领导开始对我刮目相看~
推荐 IntelliJ IDEA 牛逼的插件
今天介绍一下IDEA的一些炫酷的插件,IDEA强大的插件库,不仅能给我们带来一些开发的便捷,还能体现我们的与众不同。
程序员小猿
2021/01/18
1.3K0
推荐 IntelliJ IDEA 牛逼的插件
30个类手写Spring核心原理之环境准备(1)
IntelliJ IDEA是一款非常优秀的集成开发工具,功能强大,而且插件众多。Lombok是开源的代码生成库,是一款非常实用的小工具,我们在编辑实体类时可以通过Lombok注解减少getter、setter等方法的编写,在更改实体类时只需要修改属性即可,减少了很多重复代码的编写工作。首先需要安装IntelliJ IDEA中的Lombok插件,打开IntelliJ IDEA后单击菜单栏中的File→Settings(如下图所示),或者使用快捷键Ctrl+Alt+S进入设置界面。
Tom弹架构
2021/12/21
3010
30个类手写Spring核心原理之环境准备(1)
30个类手写Spring核心原理之环境准备(1)
IntelliJ IDEA是一款非常优秀的集成开发工具,功能强大,而且插件众多。Lombok是开源的代码生成库,是一款非常实用的小工具,我们在编辑实体类时可以通过Lombok注解减少getter、setter等方法的编写,在更改实体类时只需要修改属性即可,减少了很多重复代码的编写工作。
Tom弹架构
2021/12/09
3200
装了这 10 个 IDEA 神级插件,基本上一站式开发了!
作者:沉默王二 Java 程序员进阶之路:https://tobebetterjavaer.com
沉默王二
2022/11/18
1K0
装了这 10 个 IDEA 神级插件,基本上一站式开发了!
了不起的 Webpack Scope Hoisting 学习指南
Scope Hoisting 是 webpack3 的新功能,直译为 "作用域提升",它可以让 webpack 打包出来的代码文件更小,运行更快。
pingan8787
2020/07/12
5330
了不起的 Webpack Scope Hoisting 学习指南
推荐阅读
相关推荐
超详细图解从0搭建SSM框架【intellij idea】
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档