最近,改用了 IDEA,同事都说我投敌了。固然,这些同事都是和我同样的“老”程序员。不说毕业生,公司里的 90 后基本电脑都不会安装 Eclipse。git
开始我写 Java 程序,用的并非 Eclipse,而是用的一款叫作 JBuilder 的工具。当时使用这个工具的时候,我已经以为很是好用了,由于在此以前,我记得好像只是用个简单的文本工具来编辑。后来才发现,那些喜欢宣扬文本编辑器才能精通 Java 的“高手”真的有点不敢恭维,至少于我而言,一个好的工具过重要了。程序员
并无过了多久,我发现一款叫作 Eclipse 的工具,并且身边用的人还愈来愈多,因而我决定试一试。尝试的结果就是我发现它实在是太好用了,界面变得更漂亮之余,里面的功能感受就是为程序员量身定作的同样,最激动人心的功能是他居然支持源源不断的插件,并且这个插件还能够本身来编写。github
Eclipse 2001 年由 IBM 创立,2003 年就成立了基金会,惋惜国内在那个时代总归要慢一步,而我则更落后——直到 0七、08 年才开始真正使用。《程序员》在 2006 年还出了一期专题——Eclipse 风暴。数据库
那时,Eclipse、JBuilder、NetBean 三足鼎立的局面已经基本造成了。编程
再后来出现了更加厉害的 MyEclipse,它集成了全部经常使用插件,只要你一键安装完就啥都有了,经过它你基本上能够开发出 Java 的任何东西(虽然它不是免费的)。hexo
慢慢地,JBuilder 已经没什么人再使用了;至于 NetBean,不知道是不由于处于国内仍是我圈子太窄,身边用的人老是不多,却是在国外翻译的技术书里常常和 Eclipse 一同出现。编辑器
重构的流行,让 Eclipse 更受青睐。熊节在《重构》译本里推荐 Eclipse,后来我亲眼看了他使用 Eclipse 纯键盘(基本不用鼠标)飞快地重构代码,有点傻了眼。后来背诵快捷键成了个人一项课题。模块化
在接下来接近 10 年的日子里,就是它陪着我度过了漫长又有意思的编程生涯。虽然常常有人争论用简单版的 Eclipse 好仍是用丰富的 MyEclipse 好,用丰富版的常常会嘲笑用简单的,什么都没有,什么插件都得从新来一遍,用简单版的又会鄙视使用丰富版的,什么插件都不会安装。我曾经见过有一个同事,使用时对一切都倒背如流——每个插件在文件夹下叫什么名字、应该删除哪些文件、应该放在什么地方、应该增长哪些配置、怎么安装怎么卸载都滚瓜烂熟,随后我也慢慢学会了这招。再后来插件安装,已经不须要这么麻烦了,只须要在市场上搜索再点击一下安装就能够了。但这些功能的改进并无令其免除用户群慢慢转移的危机……工具
其实好久以前我就据说 IDEA 很是好用,说只要使用事后就不会在使用 Eclipse 了。还说 JetBrains 这家公司怎么这么懂 Java 程序员。可是,我实在找不到什么改变的理由,因此一直没有尝试使用。何况我还须要开发 C++、Python 这些语言,Eclipse 都有完善相应的版本插件支持。学习
其实在这段过程当中,我也曾不断询问已经转向 IDEA 的同事,想知道它究竟特别/好在哪里,但没有一个同事可以清晰地回答我这个问题。大部分同事只是说就是很好用,你若是细细地问好在哪儿,他却说不出来。
还有一些同事确实列举了一些他认为更为好用的功能,但我听完以后会告诉他,其实这些功能 Eclipse 也有。还有一个同事更搞笑,用了两个月以后表示很是好用,而后我叫他把字体调大一些让我看看,他居然说不知道怎么调——这些经历实在让我想不出什么要改变的理由。
可是契机出如今不久前的一次公司组织的培训,这几位培训不约而同的是都使用 IDEA 来培训。其实,工具的不一样并对培训知识的吸取并无太大影响,但我实在忍受不了我明明花了一个小时听培训,可是只听了 55 分钟的知识,剩余 5 分钟关于工具的使用技巧也应该吸取过来。再加之早就据说 Robert C Martin 也许已从 Eclipse 转向了这个工具,我终于决定要改变一下了。
改变第一天的安装过程很是顺利,官网提供免费版和试用版,我固然绝不犹豫地选择试用版,至于 30 天之后,我们心领神会——再说。安装事后固然是黑糊糊的一个界面,上面的全部按钮实在是很是陌生,我使用了 10 年的那些快捷键发现所有很差使了,我甚至连怎么导入一个现有的工程都不会了。
我有点受不了了,我受不了的不是对新知识的学习与掌握,而是效率迅速下降 20 倍,甚至一百倍。没办法,一个一个问题百度吧。 大概过去了半天到一天,神奇的事情发生了,我居然再也不想继续用 Eclipse 了,甚至产生了一种若是没有 IDEA 一切会更麻烦的感受。因而接下来的四天里,我开始愈来愈顺畅地编写起了个人代码。
对于只是使用了五天的我来讲,我不管说什么其实都只是一个新手的废话,但我仍是喜欢总结一下:
我的以为 IDEA 确实比 Eclipse 要更好,可是它的好处并不主要是多了哪些功能,从功能的多少数量上来讲,他们俩实际上是差很少,IDEA 更优秀的关键点不过在于它在细节上更为人性化,作得更优秀而已。
好比配置 Tomcat,我居然不用百度,本身尝试点点,就成功跑起来了,那一刻感受它像是真的懂个人心同样。
若是你是刚开始编程,那就没什么关系,可是像我同样是用了 Eclipse 不少年的老程序员,那么快捷键必定会是一个障碍,可是 IDEA 已经作了很人性化的设置,默认的快捷键能够一键改为 Eclipse 的快捷键,可是我尝试后发现,虽然确实改变了大部分,但并非百分之百,因此我放弃了。
还有就是对工程和模块要理解好,之前的 Eclipse 都是作工程的概念并无模块的概念,因此你能够把不少的工程都导入进去,可是 IDEA 彻底不同,它只能导入一个工程,若是你要再导入另一个工程,必须新开一个界面,固然你不用担忧耗费内存的问题,已经优化好了。可是在一个工程里面你能够导入多个模块,其实这更适合咱们日常的开发,由于 Maven 就是模块化的配置。
Tomcat 的设置也很是人性化,经过勾选 Tomcat 实例,就能够一个 Tomcat 多个工程使用了。固然,端口要不一样,才能同时启动。
Preperences
Project structure
Run configuration
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 完全忘记,好比重构 rename,IDEA 居然默认把同名的都 rename 掉。我重构个我本身写的类的 get 方法,它把 map.get 的 get 也 rename 掉了,真的有点无语。不过习惯就好,总比漏了一些 rename 本身慢慢改好。
再见,Eclipse。
扩展阅读
IntelliJ IDEA 使用教程(2019图文版) -- 从入门到上瘾
IntelliJ Idea 经常使用快捷键 列表(实战终极总结!!!!)
做者:Danni3