如何在 IntelliJ IDEA 中显示一个类的所有父类和子类?
Posted
技术标签:
【中文标题】如何在 IntelliJ IDEA 中显示一个类的所有父类和子类?【英文标题】:How to show all parents and subclasses of a class in IntelliJ IDEA? 【发布时间】:2011-04-28 19:03:11 【问题描述】:当我在 Eclipse 中编辑 Java 类时,当我的光标位于类变量上时,我可以执行 Ctrl+T 以弹出一个显示所有它的父类和子类。 IntelliJ 中的等价物是什么?
例子:
Use|r user = new User();
管道是我的光标。
【问题讨论】:
【参考方案1】:导航 |键入 Hierarchy Ctrl+H 将显示类似的信息,但在面板中。您可以浮动和取消固定面板,使其仅在您使用键盘快捷键时出现在固定显示位置。
【讨论】:
我是 IntelliJ 的新手,我发现将“隐藏活动工具窗口”快捷方式映射到就行为而言,在 IntelliJ IDEA 中相当于 Eclipse Ctrl+T 是 Ctrl+Alt+ B
【讨论】:
在 macOS 上这是Option
+ Cmd
+ B
是否可以只显示直系子女?在python中,所有的后代都会显示出来,这在大多数情况下是无用的。
请发布命令的名称,因为映射架构可能会有所不同,并且可能会在版本之间发生变化。这个给定的组合将直接进入唯一的 impl。在 xwin 绑定架构上,这不是我想要的 b/c 我只想查看信息但不导航。【参考方案3】:
不是 IntelliJ IDEA 用户,但this blog post 似乎表明在 8.1.1 及更高版本中 Ctrl+Alt+U将显示“快速类层次结构”。
【讨论】:
不错,但是有没有更轻量级的呢?这个建立一个UML图?只是好奇是否有快速悬停,我可以查看它的父母并找到他们。 似乎这不是一个等价物。例如对于接口 org.slf4j.Logger,它只显示 Logger,这是无用的。 Ctrl-H 似乎更好,因为它显示了实现类的树(不幸的是,树没有展开)。然而,Eclipse 也显示了所有扩展接口及其实现类。下面还提到 CTRL-ALT-B 不显示树或实现接口。我刚开始使用 Idea,并期待这种常用的功能将取代 Eclipse 版本,或者至少同样好...... 13.1 Ultimate 似乎已恢复并且快捷方式有效。 UML 类层次 Ctrl + Alt + U 仅适用于终极版 Ctrl + Alt + U 甚至不显示所有祖先特征。只有直系父母。可悲。【参考方案4】:Intellij 确实——与 Eclipse 不同——区分类型层次和实现类。我仍然不确定这是否是一件好事(我自己刚刚从 Eclipse 切换到 Intellij)
在 Mac Intellij 14 上
Ctrl + H 将显示类型层次结构,显示子类型和超类型 Cmd + Alt + B 将显示您感兴趣的接口/类的所有实现类和子类【讨论】:
CTRL+ALT+B 不仅对接口有意义 - 它还显示一个类的所有子类,因此很容易看出哪些类型继承自您感兴趣的类。 @nachteil 谢谢。不知道。我更改了 cmd + alt + b 的描述 是 - Ctrl+H 是正确答案 Ctrl+Alt+B 不完全是 Ctrl+T 的 Eclipse【参考方案5】:如果有任何疑问,也可以尝试 CTRL+SHIFT+A。捷径信息的捷径。
【讨论】:
【参考方案6】:在 IntelliJ IDEA 12 中,它是 Navigate > Type Hierarchy(默认为 Ctrl+H)。
【讨论】:
【参考方案7】:对于来到这里的 Mac 用户,这是 IntelliJ 14.1.4 的快捷方式:
⌃+H默认。
【讨论】:
【参考方案8】:对于 Mac 用户,快捷方式是
^(控制)+ h
【讨论】:
【参考方案9】:在 IntelliJ 13 中,默认为 Navigate > Implementations 或 CMD + ALT + B。当然,可以在您的 Keymap 首选项中覆盖此快捷方式。
【讨论】:
【参考方案10】:在 Eclipse 中,在类型上按 Ctrl+T 会显示其子类型,然后再次按 Ctrl+T显示如此超类型。所以……这是一个切换开关。 这真的很有帮助,也很直接。
不幸的是,在 IntelliJ 中,超类型和子类型之间的切换没有任何默认快捷方式。因此,您必须单击层次结构窗口的图标。 如果您像我一样喜欢“移动光标并单击鼠标”选项的键盘快捷键,我鼓励您为这两个操作设置绑定。例如,Ctrl+Down 用于子类型,Ctrl+Up 用于超类型。
您可以在哪里更改绑定(“Bas”表示“向下”,“Haut”表示“向上”):
请注意,这些绑定与 “Other” 上下文相关(Eclipse 确实有一个足够相似的概念)。
1)这样,在ArrayList
类型上输入Ctrl+T会产生:
2) Enter Ctrl+Down关注子类型:
3) 和 Enter Ctrl+Up 关注超类型:
这样,我发现它比默认行为更好,但老实说,即使添加了快捷方式,IntelliJ 功能也不如 Ctrl+T 快捷方式也适用于方法...
【讨论】:
【参考方案11】:我不知道以前的版本,但在 IntelliJ 版本 13 中,您可以进入您的 Keymap 首选项,搜索“Implementations”,并将其绑定到 Ctrl+T kbd>。它的工作方式与 Eclipse 相当。
【讨论】:
【参考方案12】:虽然 Eclipse 在单个视图中包含类型层次结构和类结构(方法、字段等),但 IntelliJ 将它们拆分:除了 CTRL+H (或ALT+8)"Type Hierarchy"查看,另一个相关的IntelliJ窗口称为"Structure",可以通过ALT+7(结构工具窗口)或 CTRL+F12(结构弹出窗口)。
(不是对发布的确切问题的直接回答,但希望其他具有 Eclipse 背景的人可能会像我一样在谷歌上搜索“intellij 类型层次结构”。)
【讨论】:
【参考方案13】:Ctrl+U - 转到基类
Ctrl+Alt+B - 开始执行。键入部分类名以缩小列表范围
Ctrl+H - 打开类型层次工具窗口
Ctrl+Alt+U - 查看类/接口继承层次
【讨论】:
【参考方案14】:另一种选择:
Windows 用户:
Ctrl + Alt + Left mouse click
类型、方法等
【讨论】:
在 MacOS 上,command
+option
+Left mouse click
为我解决了问题。谢谢!【参考方案15】:
在 Eclipse 中有一个层次结构视图,查看菜单 View / Tool Windows / Hierarchy 或按 Alt-8 或 F4。
【讨论】:
以上是关于如何在 IntelliJ IDEA 中显示一个类的所有父类和子类?的主要内容,如果未能解决你的问题,请参考以下文章