概要
Eclipse IDE 变得如此热门以至于出现在许多工作简历中但是也正因为它的功能繁多使得难于入手了在这篇文章中Sam Brodkin 分享了他最常用的一些Eclipse功能他也提到了那些会让你的手指动的飞快的热键组合在工作的时候人们会怀疑你是在打电玩(字年月日)
Eclipse最妙的地方是它的功能是如此的丰富如果你找不到某项功能要么是你没有好好的去找要么有一个插件可以实现它Eclipse最糟的地方也是它的功能如此的丰富拥挤的工具条臃肿的菜单以及配置对话框都让我想起了拉比林特斯迷宫(译者注Minotaus labyrinth希腊神户中的人身牛头怪住在Labyrinth迷宫中吃人们供奉的童男童女最后被Theseus杀死)(尽管配置对话框在Eclipse中已经好了很多)甚至是有经验的Eclipse程序员也是慢吞吞笨手笨脚的我观察过无数的同事当试图在Eclipse的navigation面板里找一个类的时候不假思索的按下Ctrl + Shift + T(打开型别(open type))其实只要有意识的投入一点点时间你也会不在笨手笨脚的而成为热键高手
精通Eclipse不单提高了你的效率(我知道按小时赚钱的签约人更喜欢文本编辑器)对你的求职简历也有好处既然Eclipse已经越来越多的出现在Java工作说明上那么在你的求职简历上也绝对是个好词我把它放在我的个人简历上就在POJO(简单初始Java对象)和POJI(简单初始Java接口)的中间越来越多的公司转向Eclipse因为它免费而且为大多数程序员所接受(除了那些少有的IntelliJ和Emacs的崇拜者)
因此你的简历上并不都是帮助你提高编程效率的大话在本文中我将给你几条Eclipse高效的建议注意如果你是个在寻找初学者教程的新手那么请参看资源部分
Eclipse的快捷键组合功能
使用Eclipse的快捷键组合功能让你看起来像是在打电玩特别是让人想起《真人快打》(Mortal Combat)的感觉要成为《真人快打》的高手你必须记住大量的按键顺序比如要使出SubZero Skeleton Rip你必须依次按下;;;;和X键这里的控制桿就是CtrlAltShift字母键数字键和功能键的组合
让我们按照使用频率来看看我最爱用的一些热键组合(注以下内容在Eclipse及一上版本通过测试)
ControlShiftT: 打开类型(Open type)如果你不是有意磨洋工还是忘记通过源码树(source tree)打开的方式吧
ControlShiftR: 打开资源(不只是用来寻找Java文件)小提示利用Navigator视图的黄色双向箭头按钮让你的编辑窗口和导航器相关联这会让你打开的文件对应显示在导航器的层级结构中这样便于组织信息如果这影响了速度就关掉它
F: 打开申明(Open declaration)或者利用Declaration Tab(在Java视图模式下选择Windows > Show View > Declaration)当你选中代码中的一个方法然后按这个按键它会把整个方法在申明方框里显示出来
Altleft arrow: 在导航历史记录(Navigation History)中后退就像Web浏览器的后退按钮一样在利用F跳转之后特别有用(用来返回原先编译的地方)
Altright arrow: 导航历史记录中向前
ControlQ: 回到最后依次编辑的地方这个快捷键也是当你在代码中跳转后用的特别是当你钻的过深忘记你最初在做什么的时候
ControlShiftG: 在workspace中搜索引用(reference)这是重构的前提对于方法这个热键的作用和F恰好相反它使你在方法的栈中向上找出一个方法的所有调用者一个与此相关的功能是开启标记功能(occurrence marking) 选择Windows>Preferences>Java> Editor> Mark Occurrences勾选选项这时当你单击一个元素的时候代码中所有该元素存在的地方都会被高亮显示我个人只使用标记本地变量(Mark Local Variables)注意太多的高亮显示会拖慢Eclipse
ControlShiftF: 根据代码风格设定重新格式化代码我们的团队有统一的代码格式我们把它放在我们的wiki上要这么做我们打开Eclipse选择Window;Preferences;Java;Code Style然后设置Code FormatterCode Style和Organize Imports利用导出(Export)功能来生成配置文件我们把这些配置文件放在wiki上然后团队里的每个人都导入到自己的Eclipse中
ControlO: 快速概要(quick outline)通过这个快捷键你可以迅速的跳到一个方法或者属性只需要输入名字的头几个字母
Control/: 对一行注释或取消注释对于多行也同样适用
ControlAltdown arrow: 复制高亮显示的一行或多行
Altdown arrow: 将一行或多行向下移动Altup arrow会向上移动
其他的热键在菜单里有你可以通过按下ControlShiftL(从版本开始)看到所有快捷键的列表按下ControlShiftL两次会显示热键对话框(Keys Preferences dialog)你可以在这里自己设置热键我欢迎你在Talkback部分发表你的Eclipse提示
其他的Eclipse窍门
我总结了几个相关的小窍门
锁定命令行窗口在命令行视图中(Window ; Show View ; Other ; Basic ; Console)试试看用滚动锁定按钮来锁定控制台输出不要滚屏
使用Ant视图在我的Java或Debug模式下我喜欢显示出Ant视图这样我就可以迅速的运行Ant任务通过Window ; Show View ; Other ; Ant可以找到该视图把Ant视图放在屏幕的一角 通过添加编译文件(Add Buildfiles)按钮来添加buildxml文件在版本中甚至支持Ant调试脚本语言
自动遍历一个集合for + ControlSpace: 如果你还不知道那么你应该记住ControlSpace是自动完成功能在Eclipse中你还可以自动完成结构在一个数组或集合范围内试试看输入for然后按下ControlSpace键Eclipse会问你你想要遍历哪一个集合然后自动完成循环代码
使用分级布局在包浏览视图(Package Explorer view)中默认的布局(扁平式)方式让我困惑它把包的全名显示在导航树(navigation tree)中我更喜欢我源码的包和文件系统视图在Eclipse中叫做分级布局(Hierarchical Layout)要切换到这种模式点击包浏览视图中向下的按钮选择布局(Layout)然后选择分级(Hierarchial)
一次显示多个文件你可以一次浏览多个文件把不在激活状态的编辑窗口拖到激活窗口的底部或侧边的滚动条上就可以打开该编辑窗口这是我能描述该窍门的最好方式了
同时打开两个Eclipse要将改动从一个CVS分支上合并到另外一个上我喜欢通过同时打开两个工作目录(Workspace)不同Eclipse来实现这样我可以通过比较CVS上的最新版本看到所有的变化(右键单击工程然后选择Compare with ; Lastest from HEAD)然后把每一个变化都合并到另外一个CVS分支上启动多个Eclipse的最简单的方法是利用Eclipse Launcher
Implementors插件安装一个能够跳到一个接口的实现的插件如果你是个dependency injection 粉丝或者正在基于编写优良的接口工作那么你需要一个这样的插件来加速代码导航 你可以在SourceForge找到这个插件
就像Modest Mouse乐队的歌曲Out of Gas唱的意见就像小猫我已经送给别人这些是我的Eclipse小猫希望你能给它找一个温暖的家