it-swarm.cn

IntelliJ如何比Eclipse更好?

我知道出现过类似 您最喜欢的编辑器/ IDE是什么? 的问题,但是没有一个人回答了这个问题:为什么要花钱在IntelliJ何时Eclipse是免费的?

我个人是IntelliJ的忠实粉丝,但是我还没有真正尝试过Eclipse。我已经将IntelliJ用于Java,JSP,HTML/CSS,Javascript,PHP和Actionscript,最新版本9—— 非常出色 都适用于所有项目。

过去,许多同事告诉我,他们相信Eclipse与IntelliJ“几乎相同”,但是为了解决这一点,我偶尔会坐在使用Eclipse的开发人员的后面,该开发人员的效率似乎相当低(完成大致相同的操作)任务),而我在IntelliJ中还没有经历过。它们可能是同等的逐个特征,但是糟糕的用户体验可能会破坏功能,我想知道IntelliJ是否更容易实现选择并发现省时的功能。

对于已经熟悉Eclipse的用户,除了IntelliJ的实际成本之外,还有花费时间来学习新应用程序。 Eclipse吸引了许多不想在IDE上花费250美元的用户。

如果IntelliJ确实可以帮助我的团队提高生产力,那么我如何将其出售给他们呢?对于同时尝试过这两种方式的用户,我会对这两种方式的利弊非常感兴趣。

67
Nicole

我每天都使用Intellij(9.0.4 Ultimate)和Eclipse(Helios),Intellij每次都击败Eclipse。

怎么样?因为Intellij索引了世界,所以一切都可以直观地进行。我可以在Intellij中更快,更快地浏览代码库。 F3(类型定义)适用于一切-Java,JavaScript,XML,XSD,Android,Spring上下文。重构在任何地方都可以使用,并且是完全可靠的(我遇到了Eclipse用奇怪的方式弄乱我的源代码的问题)。 CTRL + G(在使用的地方)在任何地方都有效。 CTRL + T(实现)跟踪我使用的最常见实例,并首先显示它们。

代码完成和重命名建议是如此巧妙,以至于只有回到Eclipse时,您才意识到它为您做了多少。例如,考虑通过键入getResourceAsStream("/从类路径中读取资源,此时Intellij将向您显示类路径上当前可用的可能文件列表,您可以快速向下钻取到所需的文件。 Eclipse-不。

Intellij的(即装即用)Spring插件由于其代码检查而大大优于SpringIDE。如果我错过了课堂或拼写错误,那我将在角落里出现一个红色的方块,而在问题所在的地方出现红色墨水。 Eclipse-有点。

总体而言,Intellij会积累有关应用程序的大量知识,然后使用这些知识来帮助您更快地编写更好的代码。

别误会,我喜欢Eclipse。对于价格,没有替代品,在没有Intellij的情况下,我推荐给我的客户。但是,一旦我试用了Intellij,它就会在一周内收回成本,因此我购买了它,并且此后进行了每次重大升级。我从来没有回头。

63
Gary Rowe

我听说与IntelliJ的不同之处在于它们是您提交和修复的bug可能性更高。如果有某些Eclipse错误阻止了您,那么这可能会带来很大的不同。

另一方面,您不能孤立地查看IDE。 您需要查看生态系统。在这里,我认为Eclipse有一个优势(类似于Firefox在Chrome *上的优势):有更多可用的插件,并且开发人员比其他人更有可能编写Eclipse插件。

[Tangent:*对于Firefox,我正在考虑Zotero和HTTPS-Everywhere。我同时使用Chrome和Firefox,但是有些事情Chrome只是无法处理。而且,在分发讲义时,我确实需要打印预览。]

16
Macneil

免责声明
这仅限于Android仅开发(在Java)。

我对Eclipse和IntelliJ的了解有限。但是,我最近不得不决定使用Android的开发环境。似乎第一个明确的选择是使用Eclipse,因为Google的ADT插件支持它。不幸的是,由于我习惯了Visual Studio(2010年,最近是2012年),因此出门旅行非常笨拙。我一直将ReSharper与Visual Studio一起使用,因此我决定尝试IntelliJ。大约10分钟后,我意识到自己做出了正确的决定。

如某些人所述,IntelliJ对所有内容进行索引。明智的合作使我感到很高兴,并且围绕建议的情报非常出色。我发现调试经验是一种乐趣,说实话,如果没有代码分析,我真的活不下去。我知道很多纯粹主义者会对这种事情有疑问,但我不在乎。我必须非常快地为许多人推出项目,所以有时运行代码分析并查看IDE的建议)真是太好了。您是否接受这些建议是另外一个故事,但是我在Eclipse中找不到类似的东西。

有人还说,在IntelliJ的当前版本中没有Android)设计器。确实是这种情况,但我永远也不会使用它。我大部分时间都是在设备上调试所以没关系。每次运行程序时,我都会看到界面并使用它。无论如何,对于一个传统的“非Java”家伙,我不得不说Java与Eclipse相比,尤其好。

13
Nodey The Node Guy

您需要生动而毫无疑问地证明,对于每天需要执行的任务,IntelliJ可以节省大量的时间和精力,而与Eclipse(和NetBeans)不同。

这将需要您进行一些研究以找出可能的结果,然后构造一个演示给可以决定如何工作的人以演示。

我怀疑您会发现这是一项艰巨的任务,因为如今的Eclipse可以做得相当好。如果您找到了杀手points,请分享-我相信很多人都想知道。

6
user1249

Intellij更好的原因很多,尤其是 darcula theme ...,但还有其他一些原因:

  • 方法名称的自动完成-它提供了我想称其为usign约定的名称。
  • jQuery自动完成非常容易设置(从来没有在Eclipse中起作用)。
  • JSP的EL自动完成
  • 春季集成和检查显示设置错误(例如重复的bean名称)
  • 自动完成控制器/ URL映射
  • 易于使用和设置数据库集成(它会自动检测数据源)并自动完成
  • 内置且易于使用的代码检查,例如checkstyle和findbugs。
  • 内置jslint和jshint,易于使用。
  • maven集成可以立即使用。
  • 所有设置都是您期望的位置。
  • 它不会错误地检测错误,我曾经在eclisp e中获取突出显示的错误,那里没有错误,必须重新启动。
  • Xml文件中的自动完成和错误检测(与spring无关)
  • 休眠映射启用了自动完成功能(在已映射的pojo-gr8中,pojos的字段作为自动完成选项提供)。
  • ctrl + alt + click打开命令,而不是声明
  • Hotdeploy:您可以轻松设置它,以便当intellij失去焦点时,已部署的应用程序会自动更新-我将标签页切换到浏览器,并且新代码(无论是类,javascript还是jsps)都已部署。
  • 内置的REST客户端,无需额外的配置。
  • 内置的聊天客户端允许代码指针-实际上非常有用。
  • 持久性视图,轻松访问您的所有jpa/hibernate实体和设置。
  • 错误修复,实际负责的错误修复我提交了许多错误,这些错误已得到及时修复。
  • 检查和xml文档中的自动完成功能,对于spring来说非常有用(我知道这是重复的,但是它很棒,显示出许多错误)。

我已经在Abotu上使用了3个星期左右,因此希望能尽快找到更多使用它。物有所值。

哦,还有一件事它实际上会打开...我的Eclipse中有一个错误,这意味着它会拒绝打开。只是“ Google Eclipse无法打开”,其中包含大量链接。我花了这么长时间改变才感到愚蠢。

5
NimChimpsky

Google最近宣布,它正在将Android开发转移到IntelliJ。

有一个原因。过去几年中,我一直使用Eclipse作为环境来教授C++和Android/Java课程。我已经看到Eclipse的质量恶化到接近无法使用的程度。在2012年秋天,我在课程中采用了Eclipse Juno,这是一场无法缓解的灾难。该程序不仅运行缓慢而且加载了许多错误,而且还对用户界面进行了许多愚蠢的更改。我现在将其用作不良用户界面设计中的案例研究。

我目前无法向任何人推荐Eclipse。错误数据库已经变得如此庞大,以至于他们几乎不可能解决其中的一小部分。

3
Charles

我不了解逐个特征的可靠打击,但是十年来我发现与不使用IntelliJ环境的一件事是,JetBrains的设计团队做了出色的工作都具有IDE“索引世界”以及保持索引和自动完成功能既具有响应性又具有一致性-我通常不考虑它,但是具有响应性和数量键盘快捷键(以及更多的映射功能),IntelliJ使使用编辑器时构建“肌肉内存”变得非常容易。

当您无需手指离开键盘就可以编写代码,自动完成,编译和测试时,这并不是一件小事,而且感觉也不像定型的呆滞Java app。

1
Chad Thompson