在前面的文章里,我介绍了IntelliJ IDEA(以下称IntelliJ)中与代码补全及重构相关的特性。今天我将介绍另外一个利器——IntelliJ的导航(Navigation),只要运用得当,它将节约你大把的时间。
作为一个IntelliJ的用户,你应先明确一点——IntelliJ是用来让你专注于代码的工具。只有这样我们才能充分利用并享受它的魔力。因此,大部分的时间里你应该专心工作于代码编辑器中,仅把导航当做在不同位置的代码间快速切换的好帮手。
本文旨在介绍IntelliJ的导航在工程文件(project files)、代码块(block of code),及工具窗口(tool window)、编辑器标签等UI元素上的特性。
1、最近编辑的文件如果停下来仔细分析你所有的导航行为(Navigation Pattern),你会意识到,在大部分的时间里你只固定的一些文件上工作。这就很好地解释了为什么Recent files是IntelliJ用户的常用特性。一旦能熟练使用它,你就会将其逐渐引入到你大部分的导航操作中去。而使用这一特性只需使用快捷键Ctrl+E(OS X为Cmd+E)。
请注意,该功能默认选中最后访问的文档,所以只需使用回车或者鼠标单击便能跳转到此文件。如果想减少列表中的候选项,则可以借助Speed Search 功能——输入目标文件名中的一部分,列表将仅显示匹配项。
2、结构菜单(Structure popup)另一个你每天都会做的,就是要在当前打开的文件中四处奔波,而文件有一个共性:它们有自己的文件结构。例如,一个Java的类文件含有字段和方等成员组成的结构。XML和HTML文 件包含一个标签树(tags tree)结构。如果想快速的导航到文件结构的某一部分,那就快按下Ctrl+F12(OS X 上为Cmd+F12)来选 择想跳转的地方吧。(同样的,Speed Search亦可用于减少列表中的候选项)
有时,你对信息的需求可能会影响Structure popup中显示的内容。例如,一个Java类的结构图可能包含了与其相关的基类或接口的结构信息。不过在默认情况下,IntelliJ会隐藏它们,如果确实需要,那么再按一次快捷键即可。
IntelliJ会贴心地记录你在Structure popup中的操作偏好,并在下一次调用它时体现出来。
3、跳转至导航栏通常,屏幕中只显示含代码的编辑器是一件喜闻乐见的事情。但也有人希望看到项目树(project tree),因为它有助于理解或者快速修改项目的上下文。 事 实上,在项目树和编辑器之间切换是IntelliJ中极其容易的事情。不过事实上,项目树并非最佳选择。老练的IntelliJ用户知道一个更好的替代 品:导航栏。新用户常以为那只不过是一个面包屑菜单(breadcrumb)罢了,但在有经验的开发者眼中,这可是一把瑞士军刀!按下快捷键 Alt+Home(OS X为Alt + ↖ )执行Jump to navigation bar的操作,我们就能感受到它的威力——利用它我们可以跳转至项目的每一处,可以创建和修改任一文件以及其他许许多多有意义的事情。
值得一提的是,即便在导航栏隐藏时,我们也可以执行此操作。
4、跳转至指定类你可能会想:Go to a class这么一个简单的操作有什么好说的?也许你已经知道Ctrl+N(OS X中为Cmd+N)能够在类之间跳转,但不见得你就知道这个功能比它看起来强大得多。除了各家IDE都支持的简单通配符、驼峰式命名、包名前缀以外,IntelliJ还可以将中间名匹配(middle name matching)、行号后缀、快速文档、定义菜单(definition popups)等方法引入这一功能: