Eclipse应该向IntelliJ IDEA学习的5种优秀特性

2018年07月06日 19:23 143 次阅读 来源: 素文宅 作者: 路人甲

Eclipse Photon几天前已经发布,我决定再做一个与IntelliJ IDEA的比较。上次我解释了为什么我仍然喜欢Eclipse,但是因为在当前的项目在Eclipse中遇到了Java 9的问题,我在过去的半年中一直在使用IntelliJ IDEA。(仍然将Eclipse用于其他一切;部分原因是IDEA无法“在一个workspace中放置多个项目”)。

D863E91379C726CAAD999D67349A6972772323B1_size16_w490_h326.jpg

不过,这一次的比较将是另一种情况——我希望在Eclipse中拥有哪些IDEA特性?使工作更容易和更有效率的特性。(顺便问一下,什么是合适的简称- IntelliJ?IDEA?)

这是不是背离了我的“Eclipse更好”立场?不——我不相信有完美的IDE(或者任何完美的东西),所以任何产品都可以尝试从竞争中获得最好的一面。在这里,我将讨论Eclipse需要改进的五个特性。

首先是“查找路径”对话框。对话框的交互性——在IDEA中,您在输入时能看到所有结果,并且能够使用箭头导航结果,信息量巨大。相比之下,Eclipse的笨重的搜索对话框,(尽管很强大),有一百万个标签(很少关注你的需要),然后你点击“搜索”搜索的结果列表面板,双击为了看到上下文…跟IDEA比起来很糟糕。

其次是建议静态导入。除了在测试中,静态导入很少被使用。Mockito、Hamcrest、test utility methods——在每个类中都需要几十个静态导入。使用Eclipse会觉得很痛苦——您手动地去导入所需的方法,然后组织这些导入的东西,然后突然需要另一个导入,您天真地添加.*的也是指在特点的导入中起作用,因此,您必须再次手动导入。相反,IDEA却能自动弹出框建议最相关的静态导入,并为您处理。

三是自动补全。IDEA当你开始打字时自动触发自动补全功能;在Eclipse中,它只在输入小点之后触发——否则必须按CTRL+space。是的,我知道有自动激活设置,可以配置触发自动完成的符号,但正如我之前抱怨过的IDEA的默认值,这回轮到了Eclipse。它甚至不是一个复选框——你必须主动输入整个字母表,小写和大写字母,才能让它正常工作——这就是糟糕的设计。在什么情况下我需要自动补全a b c而不是d e f?

第四是lambda简化。你有时会在一个stream 中有很长的调用链,它们可能不是表达你想要的东西的最佳方式。IDEA会给你建议改进,以便在获得相同结果的同时更易于阅读和理解。最终你自己开始学会进行简化。

第五,形参名称。当你调用一个方法foo.bar("Some string", 0, true) 时,参数是什么并不明显。虽然您可以认为这是一个糟糕的方法调用,但像这样的基本类型(+String)作为参数在编程中到处可见。在调用方法时知道方法参数(形参)的名称还是很有必要的。IDEA能很好的做到这一点。

当然,每个IDE都可以从另一个IDE中吸取更好的东西。希望这种竞争将继续下去,并使两者都得到改善。

英文:https://techblog.bozho.net/5-features-eclipse-should-copy-from-intellij-idea/

还可以输入136 讨论区:
评 论