写点什么

我们为何放弃 Eclipse,投奔 IntelliJ IDEA

  • 2013-11-14
  • 本文字数:2347 字

    阅读完需:约 8 分钟

Nikita Salnikov Tarnovski plumbr 的高级开发者,也是一位应用性能调优的专家,他拥有多年的性能调优经验与 Java 开发经验。很长时间以来,Tarnovski 及 plumbr 的诸多开发者一直在使用 Eclipse 进行应用开发,不过随着时间的发展,现在 plumbr 的很多人都开始放弃 Eclipse,转而投向 IntelliJ IDEA 的怀抱。Tarnovski 也因此专门撰文谈到这个转型背后的原因,并详尽对比了 Eclipse 与 IDEA 的各项功能。

首先说一下背景:长久以来,我们 plumbr 的所有人一直都在使用 Eclipse 进行应用开发。不过现在在办公室放眼望去,我发现整个团队都变成了 IntelliJ IDEA 的用户。那么是什么促成了这种转变,让我们从免费的工具转而投向了每年需要花费 600 美金才能使用的工具呢?下面我就来谈谈这背后的几个原因,看过之后也许你也会开始考虑转变了。

一段时间以来,我的朋友 Anton Arhipov 一直在说服我使用 IntelliJ IDEA,一开始我压根就听不进去,直到有一次他使用了快捷键 ALT+ENTER 才真正触动了我。根据文档所述,这个快捷键貌似也没什么,只不过是提供了建议的快速修复而已。不过在这个特性背后的诸多 IntelliJ 特性却让我感到非常振奋。

索引。不知道 JetBrains 的那帮家伙在背后到底是怎么做的,它的索引真是太快了,并且支持不同的内容。快速索引的好处体现在几个不同的可用性特性上:

  • 在敲入代码时,警告就会立刻出现:在 Eclipse 中,你需要手动进行分析,不过在 IntelliJ 中,这种信息反馈却是即时的。
  • 代码完成与代码生成:由于非常快速的索引,这种支持的速度要快上几个数量级。我猜你们肯定都记得在使用 List 时,Eclipse 中那个臭名昭著的 java.awt.List 自动导入吧,Eclipse 花了好几年才消除这个 Bug。在使用 IntelliJ 时就绝不会遇到这种问题。
  • ALT+ENTER 提供的修复:这个特性真的非常棒,在很多场景下都提供了巨大的帮助,真是震到我了。有时,我甚至怀疑他们是不是在我旁边安插了一个亚马逊土耳其机器人监视我的输入——IntelliJ 给出的建议实在是太帅了。

语言支持。IntelliJ 在处理不同内容类型的方式上看起来是那么自然和统一。无论我使用 Java、JavaScript,还是 HTML 或是 JPA 查询,IntelliJ 提供的语法支持都是那么棒,并且我所执行的操作在各种语言间也是高度统一的。每次从 Java 切换到其他语言时,我都不需要学习新的快捷键。IntelliJ 提供的代码完成支持,特别是对 JavaScript 的支持是 Eclipse 力所不逮的,Eclipse 在这方面没法与 IntelliJ 相提并论。

透视图。实际上,IntelliJ 并没有提供什么透视图的概念。当我在处理不同的内容时,Eclipse 总是试图为我提供“最佳的透视图”。对于我来说,我看到的只是每次从开发切换到调试或是重构透视图时,屏幕的布局就会变得一团糟,Eclipse 每次这么做都会让我心烦意乱。IntelliJ 则针对操作提供了一个专门的与内容相关的窗口,这让我感到非常舒服,我也很喜欢 IntelliJ 的这种处理方式。

调试器。IntelliJ 的调试器快得没法说,我也不打算再使用 Eclipse 的调试透视图了。它所提供的特性集也很不错,我最喜欢的是“Smart step into”,这样如果一行中存在多个方法调用,我就可以选择进入到哪个方法中了。

支持。Eclipse 是由一个基金会提供支持的。这本身没什么问题,不过这个基金会的不同利益集团会使得管理与执行变得有些困难。对于我这样一个开发者来说,直接的结果就是看到 Eclipse 对于问题的支持要推迟几个星期,甚至不了了之。IntelliJ 则不存在这样的问题,我的问题总是能得到及时的回答,他们也不会互相扯皮。

下面我再列出几个最近发现的不错的小特性:

  • JPA 查询语法会在输入时得到纠正。这可以给我节省大量的时间,不用非得等到运行时才检查错误。
  • 属性文件集成。在属性文件中,我可以看到某个属性在源代码的哪个地方被使用了,还能快速检测出未被使用的属性。
  • 与不同浏览器的集成。为了测试 HTML,我可以从 IDE 中启动不同的浏览器,这样就不必再单独打开浏览器和测试了。
  • 从 IDE 中可以直接看到 CSS 颜色,因此无需再打开浏览器查看了。

我可以保证,在你 IntelliJ 一个月的试用期结束后就再也不想回到过去了。不过坦诚地说,我还漏掉了 Eclipse 的一个特性——“保存动作”。在按下快捷键 CTRL+S 时可以创建一系列的触发动作,比如说可以组织导入、完成代码格式化以及添加 @Override 注解,一切都是自动进行的,这一点我还没有在 IntelliJ 中发现。

虽然我们还没有度量从 Eclipse 转移到 IntelliJ 之后生产力是否有了提升,不过我们非常喜欢手头上的这个新工具。我们也深信,好的工匠需要用最好的工具才能创造出最棒的艺术品。

读者 Alexandro Blanco 给出了这样的留言:

我使用 Eclipse 有 8 年多的时间,前一阵转向了 IntelliJ 进行 Android 开发(Android Studio),现在在公司从事 Web 开发使用的是 NetBean。我要说的是,一旦突破使用上的障碍,这两款 IDE 都要好于 Eclipse。

读者 Pron 则说到:

我同时在使用 IntelliJ 与 NetBeans(很长时间以前就放弃了 Eclipse),很多时候我更喜欢 NetBeans。它更加漂亮、整洁、并且与 Gradle 集成度更好,这正是我急需的,不过 IntelliJ 对于 Clojure 则提供了完美的支持。

诸位 InfoQ 读者,相信国内的开发者还是使用 Eclipse 的居多。目前,占据主流市场的 Java IDE 有 NetBeans、Eclipse 与 IntelliJ IDEA,其中前两个是免费的,而 IntelliJ IDEA 则提供了免费的社区版与收费的旗舰版,社区版在功能上会有一些限制。国内也有一些公司采用 IntelliJ IDA 进行开发,还有些开发者使用过其中两种,甚至多种 IDE。那么你觉得从功能上、特性上、使用便利性上、速度上、以及更新发展等角度来看,哪个 IDE 是你最心仪的呢?原因有哪些?哪个 IDE 提供了其他 IDE 没有提供的优秀特性呢?对于多语言支持,哪个 IDE 又更胜一筹呢?欢迎各位读者一起讨论。

2013-11-14 01:0835029
用户头像

发布了 88 篇内容, 共 263.1 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

一本书了解AI的下一个风口:AI Agent

博文视点Broadview

SD-WAN解决方案七大便利点

Ogcloud

SD-WAN 企业组网 SD-WAN组网 SD-WAN服务商 SDWAN

天池医疗AI大赛[第一季] Rank5解决方案

阿里云天池

阿里云

计算机网络协议介绍

京东科技开发者

“翼”马当先!混合云价值影响力领导者!

天翼云开发者社区

人工智能 云计算 云服务

手把手教你在 Spring Boot 中实现 AOP

Liam

Java 程序员 Spring Boot 后端 aop

企业上了MES系统后,能有什么好处?

万界星空科技

生产管理系统 mes 万界星空科技

二手车价格预测第十三名方案总结

阿里云天池

阿里云

从基础到高级,带你深入了解和使用curl命令(四)

霍格沃兹测试开发学社

低代码开发有哪些优势?

万界星空科技

低代码开发 低代码平台 mes 万界星空科技

如何找到香港虚拟主机5元一月的方案?

一只扑棱蛾子

香港虚拟主机

人社大赛算法赛题解题思路分享+季军+三马一曹团队

阿里云天池

阿里云

真的假的!有个物联网公司通过自建数据库省了 98% 的云成本?!

小猿姐

数据库 云计算 aurora

从基础到高级,带你深入了解和使用curl命令(三)

霍格沃兹测试开发学社

零基础入门NLP - 新闻文本分类比赛方案分享 nano- Rank1

阿里云天池

阿里云

EMQX Enterprise 5.6 发布:新增 Amazon S3 数据集成、JSON Schema 验证函数

EMQ映云科技

mqtt emqx mqtt broker

不要在自我提升方面吝啬

老张

自我提升 能力提升

【稳定性】浅谈团队如何做好系统稳定性

京东科技开发者

测试领域革新:ChatGPT助你轻松编写测试方案!

测吧(北京)科技有限公司

测试

AI 数据观 | 大模型私有化部署落地过程中,那些容易被忽视的“数据集成”难题

tapdata

生成式 AI 应用 大语言模型集成 企业 AI 应用

【IJCAI-2018】搜索广告数据探索与可视化

阿里云天池

阿里云

云行| 算赋山城,天翼云智启数字重庆智慧新篇!

天翼云开发者社区

人工智能 云计算 智算中心

物联网中的预测分析:当IoTDA遇上ModelArts

华为云开发者联盟

物联网 华为云 华为云ModelArts 华为云开发者联盟 企业号2024年4月PK榜

提高 AI 训练算力效率:蚂蚁 DLRover 故障自愈技术的创新实践

可信AI进展

开源 算力 DLRover

大型央国企“信创化”与数字化转型的建设思路

优秀

信创 央国企数字化转型

猫头虎博主深度探索:Amazon Q——2023 re:Invent 大会的 AI 革新之星

亚马逊云科技 (Amazon Web Services)

re:Invent 亚马逊云科技 生成式人工智能 Amazon SageMaker Amazon Q

Edge浏览器兼容性问题如何修复,这篇文章告诉你

霍格沃兹测试开发学社

visionOS 专门应用提交数大幅下降;Kimi 不断「吊打」国内各大厂 AI 模型丨 RTE 开发者日报 Vol.180

声网

小程序技术实践——快速开发适配鸿蒙的App

Geek_2305a8

SD-WAN为出海电商提供了什么支持

Ogcloud

SD-WAN 企业网络 SD-WAN组网 SD-WAN服务商 SDWAN

SD-WAN在金融行业的重要性

Ogcloud

SD-WAN 企业网络 SD-WAN组网 SD-WAN服务商 SDWAN

我们为何放弃Eclipse,投奔IntelliJ IDEA_Java_张龙_InfoQ精选文章