如何在IntelliJ IDEA中显示类的所有父级和子类?


150

当我在Eclipse中编辑Java类时,当光标悬停在类变量上时,我可以使用Ctrl+ T弹出框来显示其所有父级和子类。IntelliJ中的等效项是什么?

例:

Use|r user = new User();

管道是我的光标。

Answers:


217

导航| 但是,在“面板”中,“ 类型Ctrl +” H将显示类似的信息。您可以浮动取消固定面板,以便仅在使用键盘快捷键时它才会出现在固定的显示位置上。


1
我是IntelliJ的新手,我发现将“隐藏Active Tool Window”快捷方式映射到<Escape>(而不是“ Escape”快捷方式)要好得多,默认情况下,将其映射到<Shift + Escape> 。到目前为止,关闭“浮动窗口”(包括类型层次结构)对我来说更自然。
Eyal Roth

2
还有一件事-这仍然与Eclipse的快速类型层次结构不同:在Eclipse中,当您将鼠标悬停在层次结构中的类上时,按<Enter>将打开带有该类的源文件;在IntelliJ中,您必须使用“跳转到源代码”快捷方式。此外,与“显示实现”窗口(例如)不同,单击编辑器也不会使该窗口消失,因此,这不是纯浮动窗口。
艾尔·罗斯


22

不是IntelliJ IDEA的用户,但这个博客帖子似乎表明,在版本8.1.1及以后Ctrl+ Alt+ U将显示“快速类层次结构”。


很好,但是还有更轻巧的吗?这是建立一个UML图吗?只是好奇是否有快速的悬停,我可以查看它的父母并去找他们。
滑翔

2
似乎这不是等效的。例如,对于接口org.slf4j.Logger,它只显示了Logger,没有用。Ctrl-H似乎更好,因为它显示了实现类的树(不幸的是,树未扩展)。但是,Eclipse还显示了所有扩展接口及其实现类。同样在下面提到的CTRL-ALT-B不显示树或实现接口。我只是从Idea入手,并希望这种经常使用的功能将取代Eclipse版本,或者至少同样好...
petrsyn 2013年

1
13.1 Ultimate似乎已将其恢复,并且快捷方式有效。
詹森·D

UML类层次结构按Ctrl + Alt + U只能在旗舰版
Srujan库马尔Gulla

Ctrl + Alt + U甚至不会显示所有祖先特征。仅直系父母。可悲的。
全神贯注的

16

如果有任何疑问,也请尝试CTRL+ SHIFT+ A。快捷方式以获取快捷方式信息。


16

与Eclipse相反,Intellij确实可以区分类型层次结构实现类。我仍然不确定这是否是一件好事(我自己只是从Eclipse切换到Intellij)

在Mac Intellij 14上

  • Ctrl+ H将调出类型层次结构,向您显示子类型和超类型
  • Cmd+ Alt+ B将向您展示您感兴趣的接口/类的所有实现类和子类

CTRL + ALT + B不仅意义与接口-这也说明一个类的子类,所以它是很容易看到哪些类型从你interesteed的类继承。
nachteil

@nachteil谢谢。不知道 我更改了cmd + alt + b的描述
Stefan Haberl,2015年

是的
-Ctrl

12

在IntelliJ IDEA 12中,它是“ 导航”>“类型层次结构”(默认为Ctrl+ H)。


6

对于来到这里的Mac用户,这是IntelliJ 14.1.4的快捷方式:

+ H默认情况下。


4

对于Mac用户,快捷方式是

^(控制)+ h


3

在13的IntelliJ,它的导航>实现CMD+ ALT+ B默认。当然,此快捷方式可以在“键盘映射”首选项中覆盖。


2

我不知道以前的版本,但是在IntelliJ版本13中,您可以进入“键盘映射”首选项,搜索“实现”,然后将其绑定到Ctrl+ T。它的工作原理与Eclipse相当。


1

Eclipse在单个视图中包括类型层次结构和类结构(方法,字段等),而IntelliJ则将它们拆分:除了CTRL+ H(或ALT+ 8“类型层次结构”视图外,另一个相关的IntelliJ窗口称为“结构”。 ”,可以通过ALT+ 7(结构工具窗口)或CTRL+ 调用F12(结构弹出。

(不是对发布的确切问题的直接答案,但是希望像Eclipse一样,其他来自Eclipse背景的人也可以像我一样在这里搜索到“ intellij类型层次结构”后到达。)


1

Ctrl+U -去基础课

Ctrl+Alt+B-开始实施。输入类名称的一部分以缩小列表范围

Ctrl+H -打开类型层次结构工具窗口

Ctrl+Alt+U -窥视类/接口继承层次结构


1

与Eclipse,命中Ctrl+ T上一个类型显示其亚型和命中再次Ctrl+ T显示,以便于超类型。因此...这是一个切换。
这真的很有帮助,也很简单。

不幸的是,使用IntelliJ,在超类型和子类型之间切换没有任何默认快捷方式。因此,您将必须单击层次结构窗口的图标。
如果像我一样喜欢使用“移动光标并单击鼠标”选项的键盘快捷键,则建议您为这两个操作设置绑定。例如 Ctrl+ Down 表示子类型,而 Ctrl+ Up 表示超类型。

您可以在其中更改绑定的位置(“ Bas”表示“ Down”,“ Haut”表示“ Up”): 竞标

请注意,这些绑定是与“其他”上下文相关的上下文(Eclipse确实有足够类似的概念)。1)这样,在类型上输入Ctrl+ 会产生:TArrayList

默认层次

2)输入Ctrl+ Down专注于子类型:

亚型焦点

3)Enter Ctrl+ Up专注于超类型:

超型焦点

这样,我发现它比默认行为更好,但是老实说即使添加了快捷方式,IntelliJ功能也不如Eclipse, Ctrl+ T快捷方式也可以在方法上使用...


0

在Eclipse中有一个层次结构视图,请查看菜单View / Tool Windows / Hierarchy或按Alt-8或F4。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.