来自非营利性Eclipse基金会的Eclipse IDE以其插件生态系统著称。Eclipse市场拥有海量插件可供下载,你可以通过插件定制自己的Eclipse。最近我在Eclipse市场闲逛,想看看能不能发现一些有意思的东西。实际上,我确实找到了一些在我看来虽然不是很有名却很酷的东西,想在这里和大家分享。
流行 vs 酷
我关注的插件具备以下特性:
首先,我要强调的是这些插件本身不是某种工具,所以我最喜欢的JRebel和JBoss工具不在此列。我关注的都是能够让你安装的普通Eclipse成为更加有趣的优秀插件。
其次,流行并不等于酷。在Eclipse市场,最流行的插件列表机会在最近2-3年几乎没有变化。
一个插件只因为被下载次数多就被认为很酷,在我看来这是很没有意思的。那些插件之所以上榜只是因为它们补充了Eclipse不具备的基础功能,这就是为什么Maven、Subversion和Git插件会名列前茅。
我眼中的酷插件
shell助手
虽然我是一名Java开发者,有时也会写一点shell脚本。下面是几个对编写shell非常有用插件。ShellEd插件提供了shell脚本的编辑功能,Terminal插件将shell的输出集成到了Eclipse工作台。
通过ShellEd和Terminal插件,我可以无需在窗口之间来回切换就能在Eclipse中完成shell脚本的编写和运行,真的非常高效!
像老板那样编辑!
接下来在名单上的是More Clipboard、Smart Save和AnyEdit。这些插件在不同程度上改善了编辑体验。
More Clipboard会记录最近拷贝/剪切到剪切板缓冲里的内容,使用快捷键弹出备选列表可以进行快速粘贴。好吧,我承认在写代码的时候一直在复制粘贴:
AnyEdit插件由Andrey Loskutov开发,它为Eclipse增加了很多编辑功能。你可以对文件和选中的内容排序,对HTML代码加密,在tab和空格之间快速转换,等等。我得说这是Eclipse的一个必备插件。
一开始我用的是IntelliJ IDEA,它与Eclipse最重要的不同就是IDEA编辑器会自动保存修改。于是,我开始寻找可以用在Eclipse上的类似插件。最后,我找到了Smart Save。它可以配置在若干时间后自动保存修改,很酷很方便!
但是,我认为它会影响一些编辑体验。因为Eclipse默认会开启保存编译选项,所以每次保存都会进行一次清理(clean)和构建(build)。因而理论上可能会发生这样的情况,你刚刚进行了编辑但是Eclipse会决定做一次完整的构建,这会让整个Eclipse卡住。
扮靓你的Eclipse!
接下来要出场的是Eclipse Color Theme。这是唯一一个既出现在我名单里又在Eclipse市场最受欢迎插件列表中出现的插件。差个插件提供对你的Eclipse编辑器设定一个颜色主题,并且自带了很多好看的备选主题。
我个人比较偏好Roboticket,但是也有很多其它选择,比如下面的Monokai。
持续反馈
如果你是持续反馈开发方法的粉丝,而且热衷于编写单元测试(这里解释了为什么单元测试很棒),那么JLoop和JUnitLoop插件一定对你很有帮助。这两个插件能够在任何改变发生后立即执行代码。我发现JUnitLoop非常友好,当我更新了一个曾经执行过单元测试的方法后这些测试能够自动执行并且快速给出反馈。
自动化狂热分子
追求高效会让你步入自动化的美好世界,然而不幸的是Eclipse默认不提供宏支持,你不能在Eclipse理记录并重放你的活动。然后,有一些插件通过脚本能够让你在Eclipse中的活动自动化。
最佳方案只是就是GroovyMonkey插件,可惜这个插件的维护并不活跃。其它的替代方案有ScriptEclipse和EclipseScript(请不要把两个插件弄混!)。
基本上,这些实现的背后逻辑非常相似——核心引擎为脚本提供Eclipse内部对象,你可以通过脚本按照自己的要求实现逻辑。这些脚本会存储在工作区(workspace)里并且可以直接访问,插件会提供一个脚本列表菜单供你选择。
了解Eclipse
本文介绍的最后一个插件就是IDE++,它会帮助你更高效地使用Eclipse。
IDE++会分析你的行为并提供达成目标有哪些更快捷的方法。比如,如果你一个个地关闭打开的编辑器标签,IDE++会检测并弹出好看的对话框提示你“嘿极客,你知道CTRL+SHIFT+W可以更有效的关闭这些标签吗?”不幸的是,这个插件没有关注到Mac上快捷键会有所不同:)
我真的很喜欢IDE++插件的创意——它能够帮助你发现使用Eclipse过程中的效率瓶颈,所以我真心希望这个插件能够继续开发下去。
总结
如果你是一个Eclipse用户,本文前面提到的插件中应该会有一些帮助你更好地理解IDE并更高效地在Eclipse下编程。希望你能和我一样发现这些插件的出众之处。
原文链接:Anton Arhipov
译文来自:ImportNew