既然可以向上跳转,凭啥不能向下呢?话虽如此,事实上,鲜有 IDE实现了这一功能,所幸IntelliJ就是其中的一个。除了提供跳转至父类的图标,IntelliJ同样提供一个可导航至子类对应方法的定义位置的 图标,所以,在IntelliJ的世界,可谓“上天入地”(up and down)无所不能。
如果想不用鼠标,并更快地导航至下层,那就使用快捷键Ctrl + Alt + B (OS X 为 Cmd + Alt + B for OS X)调用Implementations来实现吧,它将列出所有实现了当前类的子类让你挑选:
13、方法层级图那要是想查看有关所有实现或者覆写了当前方法的类的结构图呢?在IntelliJ中,有一个Method Hierarchy的功能,可以通过快捷键Ctrl + Shift + H (OS X 为 Cmd + Shift + H )来调用。这个功能让你能导航至所有符合这一关系的类中:
14、图解菜单(Diagram popup)我们刚学习了一些在有关方法定义的层级结构中导航的门路。可能在某些时候还要在当前的类(或者说光标所处的类,无论它有多少的方法)的层次结构中使用导航。大多数IDE通过提供单个类或接口的层级结构,以实现这一需求。在IntelliJ里这种功能称为类型层级(Type Hierarchy),其快捷键为Ctrl+H。
如你所见,该功能返回一个树形结构。有些人可能觉得这种格式难以理解,所以IntelliJ同时提供了另一个称为Diagram popup——快捷键为Ctrl + Alt + U (OS X 为Cmd + Alt + U)——的功能,以UML图的方式替代树形结构来描述给定的类的层级结构:
不用提醒你就能知道,通过它我们可以导航到任何由图形所表示的类或接口中。
15、方法调用层级结构除了类和方法定义的层级结构以外,我们还有一个特殊的导航行为:在方法调用的层级结构中导航。每一个方法会调用很多调用另一些方法的方法,以此类推。这就是为什么有时你需要导航到被当前方法所调用或者调用了它的方法中去。通过快捷键Ctrl + Alt + H来借助Call Hierarchy功能,便可让IntelliJ为你快速地呈现当前方法的调用层级结构:
16、显示使用情况导航到使用了光标指定的符号的位置,亦是一件常有的事。为了做到这一点,每个IDE都会提供一个Find usages的功能。但这个功能的缺点在于,它通常实现得十分“笨重”——它不仅要单独启动一个长时间运行的进程,还需要创建一个工具窗口来显示结果。为此IntelliJ提供了一个轻量级的解决方案——Show usages,其快捷键为Alt + Ctrl + F7 (OS X 为Cmd + Alt + F7 ):
这个功能以菜单的形式展示结果,并且默认情况下只在工程级别(Project level)的范围内运行。如果再调用一次该功能,其运行范围将扩充至工程和库级别(Project and libraries level)。
17、最近编辑的文件