IntelliJ IDEA的前20个导航功能。 第二部分

本文的翻译是专门为“ Android-developer”课程的学生准备的 高级课程 尽管本文将主要关注Java,但该材料对于Android开发人员将非常有用




第一部分

过渡到链接单元测试


在编写代码时(特别是当我们要确保代码正常工作时)会遇到什么其他常规导航模式? 我们在类和相应的单元测试之间移动。 IntelliJ IDEA可以识别与特定类相关的测试,并提供名为Go to a test的命令,该命令已分配给Ctrl + Shift + T(对于OS X为Cmd + Shift + T) ,您可以从任何类进行测试,反之亦然:



如果该班还没有测试,团队将帮助您创建测试。

向上移动层次结构


另一种常见情况是,您需要上移当前方法(或整个类)的类层次结构。 在大多数IDE中,您可以在方法定义旁边看到一个特殊的图标。 通过单击这样的图标,您可以转到超类(或接口)中的相应方法定义。 除此之外,IntelliJ IDEA还具有一个称为“超级方法”的特殊命令,可通过Ctrl + U(对于OS X为Cmd + U)使用 。 此命令使您可以移动一个动作,因此甚至不必触摸鼠标。

向下移动层次结构


如果您可以提高类的层次结构,那么为什么不下降呢? 只有少数IDE提供此功能,而IntelliJ IDEA就是其中之一。 除了将您带到超类的图标之外,IntelliJ IDEA还提供了用于跳转到派生类中相应方法定义的图标,因此您可以在两个方向上移动:向上和向下。



如果要更快地导航层次结构,可以使用分配给C trl + Alt + B(对于OS X为Cmd + Alt + B)的Implementations命令。 此命令允许您从派生类的整个列表中选择要从中实现的一种:



方法层次


但是,如果您需要查看实现或覆盖当前方法的类的整个层次结构,该怎么办? 在IntelliJ IDEA中,您可以通过调用方法层次结构命令来执行此操作,可通过Ctrl + Shift + H(对于OS X为Cmd + Shift + H)进行访问 。 此命令可以帮助您确定要进入的班级。



弹出图


我们刚刚学习了如何导航方法定义的层次结构。 有时我们可能还需要导航当前类的层次结构(或光标所在的类,而不管任何方法如何)。 为此,在大多数IDE中,可以使用显示给定类(或接口)的层次结构的命令。 在IntelliJ IDEA中,这样的命令称为类型层次结构 ,可以通过按Ctrl + H来调用



如您所见,此命令的结果是一棵树。 对于某些人来说,这种格式可能很难阅读。 因此,IntelliJ IDEA还具有另一个名为Diagram popup的命令,分配给Ctrl + Alt + U(对于OS X为Cmd + Alt + U) 。 该命令不显示无聊的树,而是在图中绘制给定类的层次结构:



不用说,您可以转到图中的任何类或接口。

方法调用层次结构


说到导航层次结构,类和方法定义,我们几乎查看了除以下内容之外的所有内容:导航方法调用的层次结构。 每个方法都调用其他方法,这些方法又调用其他方法,等等。因此,有时您可能需要转到从当前方法调用的方法之一或调用当前方法。 在IntelliJ IDEA中,您可以使用分配给Ctrl + Alt + HCall Hierarchy命令快速获取带有方法调用层次结构的弹出窗口:



显示符号用法


另一个常见的模式是过渡到光标所位于的符号使用位置(常量,字段,变量,方法,类或接口)之一。 为此,在任何IDE中,都可以使用“ 查找用法”命令。 通常,此命令的缺点之一是它的权重太大:它会启动冗长的搜索过程,并打开包含结果的工具窗口。 因此,IntelliJ IDEA还提供了此命令的轻量级版本,称为显示用法,可通过Alt + Ctrl + F7(对于OS X为Cmd + Alt + F7)可用



此命令在弹出窗口中显示结果,并且默认情况下使用项目级别的范围。 再次调用此命令时,它将范围更改为项目和库级别。

上次编辑的文件


本文中的第一个模板是关于浏览最新文件的。 如果我们想将此列表缩小到最近编辑过的文件怎么办? 在IntelliJ IDEA中,通过将最近编辑的文件命令分配给Ctrl + Shift + E(对于OS X为Cmd + Shift + E),可以很容易地做到这一点:



在视图和控制器之间导航


您认为您的IDE应该只识别项目文件中的一般关系(例如类层次结构,测试覆盖率,用途等)吗? 较具体的内容如何? 对于基于特殊关系的导航,IntelliJ IDEA提供了分配给Ctrl + Alt + Home(对于OS X为Cmd + Alt + Home)Related symbol命令。 例如,使用此命令,您可以轻松地在Spring MVC,Grails甚至JavaFX应用程序中的视图和控制器之间导航:



导航到视图控制器


由于IntellIJ IDEA还可以识别项目中的特殊关系,因此它还有哪些其他特定的导航模式? 如果您是Web应用程序开发人员,则可以通过输入分配给它的URL来调用“ 转到符号”命令以转到视图控制器:



数据库导航模板


IntelliJ IDEA中的数据库工具也具有自己的特定导航模式。 您可以使用“ 转到符号”命令输入其名称来快速转到数据库工具窗口中的表:



如果您为表或列调用“ 查找用法”命令,则IntelliJ IDEA将向您显示所有其他引用它们的表:



而且,为了完全激发您的想象力,IntelliJ IDEA可以使用此表中的主键来引导您前进。 例如,您可以要求IDE向您显示引用当前行的其他表中的行:



书签


我们要注意的最后一个但同样重要的模板是使用书签在项目框架内导航您感兴趣的地方。 IntellIJ IDEA为此提供了非常方便的工具。 要在书签中添加(或删除)当前位置,请按F11键。 完成此操作后,您将立即在左侧看到相应的图标。 之后,当您想返回到保存的书签时,请按Shift + F11并从列表中选择它:



结论


我希望本文能使您对IntelliJ IDEA如何帮助您浏览项目而不会被代码分散注意力有所了解。 导航确定您正在处理的代码段之间切换的速度。 切换速度越快,您的生产力就越高。

请记住:您对IDE的了解越多,花在真正喜欢的东西上的时间就越多。

Source: https://habr.com/ru/post/zh-CN469219/


All Articles