Eclipse应该向IntelliJ IDEA学习的5种优秀特性
Eclipse Photon几天前已经发布,我决定再做一个与IntelliJ IDEA的比较。上次我解释了为什么我仍然喜欢Eclipse,但是因为在当前的项目在Eclipse中遇到了Java 9的问题,我在过去的半年中一直在使用IntelliJ IDEA。(仍然将Eclipse用于其他一切;部分原因是IDEA无法“在一个workspace中放置多个项目”)。
不过,这一次的比较将是另一种情况——我希望在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中吸取更好的东西。希望这种竞争将继续下去,并使两者都得到改善。
推荐阅读
Java面试高级篇—Java NIO:浅析I/O模型面试题15期
Java面试高级篇—详谈Java四种线程池及new Thread的弊端面试题14期
Java面试高级篇—说说TCP,UDP和socket,Http之间联系和区别面试题12期
Java面试高级篇—Session和Cookie的区别与联系面试题12期
Java面试高级篇—Hash冲突怎么办,哪些解决散列冲突的方法?面试题11期
关注微信公众号“Java精选”(w_z90110),回复关键字领取资料:如Hadoop,Dubbo,CAS源码等等,免费领取资料视频和项目。
涵盖:程序人生、搞笑视频、算法与数据结构、黑客技术与网络安全、前端开发、Java、Python、Redis缓存、Spring源码、各大主流框架、Web开发、大数据技术、Storm、Hadoop、MapReduce、Spark、elasticsearch、单点登录统一认证、分布式框架、集群、安卓开发、iOS开发、C/C++、.NET、Linux、Mysql、Oracle、NoSQL非关系型数据库、运维等。