使用了eclipse10年之后,我终于投向了IDEA。
当然还有这里同样大家支持idea: 为什么 IDEA 比 Eclipse 更好?
最近,改用了idea,同事都说我投敌了。当然,这些同事都是和我一样的“老”程序员。不说毕业生,公司里的90后基本电脑都不会安装eclipse。
一、eclipse 的三足鼎立时期
开始我写Java程序,用的并不是eclipse,而是用的一款叫做jbuilder的工具。当时使用这个工具的时候,我已经觉得非常的好用,因为在此之前,我好像记得只是用个简单的文本工具来编辑。后来才发现,那些喜欢宣扬文本编辑器才能学会精通java的“高手”真的有点不敢恭维,至少于我,一个好的工具太重要了。
并没有过了多久,我发现一款叫做eclipse的工具,而且身边还越来越多,于是我决定试一试。尝试的最后,我发现实在是太好用了,他的界面变得更漂亮,而且里面的功能感觉就是为程序员量身定做的一样,最激动人心的功能是他竟然支持源源不断的插件,而且这个插件你还可以,自己来编写。
eclipse2001年由ibm创立,2003年就成立基金会,可惜国内嘛,在那个时代,总是要晚一些,而我更落后,直到07、08年才开始真正使用。《程序员》在06年还出了一起专题"eclipse风暴"。那时候,eclipse、jbuilder、netbean三足鼎立的局面,基本形成了--- eclipse 称霸。
再后来myeclipse出现了这个东西更加厉害,他集成了所有常用的插件,只要你一键安装完就啥也有了,基本上用它,你可以开发出java的任何东西。虽然他不是免费的。
慢慢的,jbuilder已经没什么人使用;而netbean不知道是不国内还是我圈子太窄,身边用的人总是很少,倒是在国外翻译的技术书里经常和eclipse一同出现。
重构的流行,让eclipse更受青睐。熊节在《重构》译本里推荐eclipse,后来我亲眼看了他使用eclipse纯键盘(基本不用鼠标)飞快的重构代码,有点傻了眼。后来背诵快捷键成了我的一项课题。
在接下来接近10年的日子里,就是他陪着我度过了漫长又有意思的编程生涯。虽然经常有人争论用简单版的eclipse好还是用丰富的myeclipse好,用丰富版的经常会嘲笑用简单的,什么都没有,什么插件都得重新来一遍,用简单版的又会鄙视使用丰富版的,什么插件都不会安装。我曾经见过有一个同事,使用的滚瓜烂熟,每一个插件在文件夹下叫什么名字应该删除哪些文件应该放在什么地方,应该增加哪些配置,怎么安装怎么卸载都倒背如流,随后我也慢慢学会了这招。再后来插件安装,已经不需要这么麻烦了,只需要在市场上搜索一下,点击一下安装就可以了。但是这些功能的改进并没有让他免除用户群慢慢转移的危机。
二、Intellij IDEA 横空出世
其实很久之前我就听说idea非常好用,说只要使用过后就不会在使用eclipse了。还说JetBrains这家公司怎么怎么懂得java程序员。但是,我实在找不到什么改变的理由,所以一直没有尝试使用。况且,我还需要开发c++、python,这些语言,eclipse都有完善相应的版本插件支持。
其实中间,我也不断地询问已经转向使用的同事,我问他究竟别/好像哪里?但是没有一个同事能够清晰的回答我这个问题。大部分的同事只是说就是很好用,你如果细细地问他好在哪儿,他却说不出来。还有一些同事确实列举了一些,他认为更为好用的功能,然后告诉我,然后我听完之后告诉他,其实这些功能eclipse也有。还有一个同事更搞笑,用了两个月了,说非常的好用,然后我叫他调大一些,字体让我看看,他竟然说不知道怎么调。这些遭遇实在让我想不出来什么要改变的理由。
但是上个星期出现了一个契机,就是公司主持了几个培训,不约而同的这几位培训,是都使用IDEA来培训,其实,工具的不同并没有太大的影响及对培训知识的吸收,但是我实在忍受不了我明明花了一个小时听培训,但是只听了55分钟的知识,剩余的5分钟关于工具的使用技巧也应该吸收过来。加上早就听说Robert C Martin也许从一个eclipse转向了这个工具,于是我决定我要改变一下了。
上周一是我改变的第一天,安装过程非常顺利,官网提供免费版和试用版,我当然毫不犹豫地选择的试用版,至于30天以后,咱们心照不宣,再说。安装过后当然是黑糊糊的一个界面,上面的所有按钮实在是非常的陌生,我使用的10年的那些快捷键发现全部不好使了,我甚至连怎么导入一个现有的工程都不会了。
我有点受不了了,我受不了的不是对新知识的学习与掌握,而是效率迅速降低20倍,甚至一百倍。没办法,一个一个问题百度吧。大概过去了半天到一天,神奇的事情发生了,我竟然不再想继续用eclipse了,甚至有点没有了IDEA,感觉更麻烦了。于是家接下来的四天,我越来越顺畅地开始编写我的代码了。
对于只是使用了五天的,我来说,我说的什么,其实都只是一个新手的废话,但是我还是喜欢总结一下。
三、eclipse和idea,哪个更好?
idea,个人觉得,确实比eclipse要更好,但是它的好处并不主要是多了哪些功能,从功能的多少数量上来说,他们俩其实是差不多的, IDEA,更优秀的关键点在于他在细节上更为人性化,做得更优秀而已。
比如配置tomcat,我竟然不用百度,自己尝试点点,就成功跑起来了。感觉它真的懂我的心一样。
开始使用的一些注意事项
如果你是刚开始编程,那就没什么关系,但是像我一样是用的eclipse很多年的老程序员,那么对快捷键一定是一个障碍,但是idea已经做了很人性化的设置,默认的快捷键可以一键改成eclipse的快捷键,但是我尝试了,确实改变了大部分,但并不是百分之百,所以我放弃了。
还有就是对工程和模块要理解好,以前的eclipse都是做工程的概念并没有模块的概念,所以你可以把很多的工程都导入进去,但是IDEA完全不一样,他只能导入一个工程,如果你要在导入另外一个工程,你必须新开一个界面,当然你不用担心耗费内存的问题,已经。优化好了,但是在一个工程里面你可以导入多个模块,其实这个更适合我们平常的开发,因为maven 就是模块化的配置。
tomcat的设置也非常人性化,注意的是,可以通过勾选tomcat实例,就可以一个tomcat多个工程使用了。当然,端口要不同,才能同时启动。
三个很常用的设置按钮
- Preperences
- Project structure
- Run configuration
常用的快捷键(mac)
- cmd+shift+f 全project或模块等查找某个字符串
- cmd+shift+o 查找文件
- cmd+0 查找类
- cmd+f 本文件中查找字符串
- cmd+x 删除一行
- cmd+c 选中该行并且复制
- alt+enter 自动提示错误修复
- ctrl+alt+h 显示调用该方法的方法
- cmd+7 显示该类的全部方法
- cmd+alt+l 整理代码格式
- ctrl+alt+o 整理import
- shift+f6 重构rename 还有很多。。。基本都和eclipse不同,但是我必须一个个的“寻找”回来。
我喜欢的特色功能
- idea默认下面显示了teminal,很好用,现在我很少用mac自带的终端(虽然eclipse找找也有,但实在不好用)
- 右手边有个数据库连接,我现在也很少用Navicat和mysql workbench了
- 同样右边的maven也很好用,不像eclipse要右键,而且默认的还不齐全
JetBrains确实是伟大的公司,现在我弄js,也用了它的webstorm,弄python也用了他的pycharm而不是eclipse的pydev了。
再见,eclipse。
又断断续续用了一周,发现没有想象中完美。偶尔有些卡,毕竟太多东西放内存。而且也出现过闪退。快捷键实在有些还记不住,有个快捷键要按四个键太难记了。有些个别功能感觉还是有点不如eclipse方便比如改字符集(也可能我不熟悉)。断点调试也还不习惯。也有很多功能真的要把eclipse彻底忘记,比如重构rename,idea默认竟然把同名的都rename掉。我重构个我自己写的类的get方法,它把map.get的get也rename掉了,真的有点无语。不过习惯就好,总比漏了一些rename自己慢慢改好。