IntelliJ如何比Eclipse更好?[关闭]


67

我知道有一些问题,例如您最喜欢的编辑器/ IDE是什么?,但是他们都没有回答这个问题:为什么在Eclipse免费的时候花钱在IntelliJ上

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

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

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

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


3
您可能会在这里看到一些选择偏见。与普通的Eclipse用户相比,IntelliJ客户更有可能学习功能和快捷方式。
Macneil

3
我不会强迫其他人使用适合您的工具。这是非常主观的,而像这样的愚蠢的事情可能会破坏已经建立的关系。如果您可以选择使用IntelliJ或Eclipse,并且使用这两种方法编译项目都很好-自行淘汰,请使用IntelliJ。如果您想推广它,那么在适当的时候随便提一下它。当别人试图为他们做出决定时,成年人和孩子一样讨厌它。您仍然可以让他们进行切换,但这必须由“他们”决定,因此您只需要在正确的tm处进行正确的嗡嗡声即可。
工作

@工作,我同意。我想找出A)IntelliJ是否比Eclipse具有真正的优势,以便B)如果可以,我可以出售它,而不是强制执行它。
妮可

您知道IntelliJ有免费版本吗?您不能听起来像唯一的选择就是付费版本
TheLQ

@TheLQ,您是对的,为简洁起见,我假设熟悉IntelliJ的用户也将熟悉免费版本的限制。我个人从来没有一个项目可以使用,因为我一直需要的不仅仅是纯Java组件。
妮可

Answers:


63

我每天都使用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,它就会在一周内收回成本,因此我购买了它,并且此后进行了每次重大升级。我从来没有回头。


正是我想要的。不过,有一个问题,我想我有一些与您不同的键映射。您能否澄清一下您正在谈论的功能?
妮可,2010年

2
您可以将IntelliJ设置为使用Eclipse快捷方式吗?那可能只是我真正需要IntelliJ进行的最后一次推动-我的肌肉记忆使我退缩。谢谢你的提示!
yatima2975 2010年

9
@ yatima2975不用担心。只需查看首选项,过滤“ keymap”,然后选择Eclipse。您也有Emacs和其他许多人。
加里·罗

1
在我的Linux机器上,我最近从Eclipse切换到了Java / Android项目的IntelliJ IDEA社区版(开源和完全免费),并且我拥有相同的良好经验。IDEA简直太棒了。在此处下载:jetbrains.com/idea/free_java_ide.html。正如JetBrains声称的那样,IDEA是市场上最智能的Java IDE。也不要误会我的意思:我也使用并喜欢Eclipse,NetBeans和Qt Creator IDE(取决于手头的任务和语言)。
AlexBottoni

2
我将重点介绍javascript支持以及其他前端语言。Intellij包括WebStorm,它本身就非常适合前端。
y3sh 2013年

16

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

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

[Tangent:*对于Firefox,我正在考虑Zotero和HTTPS-Everywhere。我同时使用Chrome和Firefox,但是Chrome无法解决某些问题。另外,在进行讲义时,我确实需要打印预览。


有事实支持关于修复错误的声明吗?(我自己在比较这样的衡量标准时总是很挣扎,尤其是对于那些无法轻易看到错误流入的软件……就像大多数商业软件甚至某些开源产品一样)
johannes 2012年

@johannes虽然我可以亲自为其担保,但您可以在youtrack.jetbrains.com/issues上
y3sh 2013年

1
尽管Eclipse确实提供了更多的插件集,但IntelliJ确实提供了完成工作所需的所有必要插件。换句话说,插件可用性的数量优势应在上下文中体现。我看到这是为什么Eclipse比IntelliJ更受青睐的主要原因。
e28Makaveli 2013年

13

免责声明
这仅限于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相比特别好。


6

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

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

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


2
“如果找到杀手点,请分享-我相信很多人都想知道。” -这实际上就是我要问的原因-很难找到时间进行这项研究或亲自尝试Eclipse(而且我可能还是有偏见)。我希望我能发现一些对两者都有很好经验的用户!
妮可

1
@Thorbjørn是的,但是我在说的是一般任务,这种任务至少适用于我所拥有的所有用例,我认为范围很广。但是,如果有什么特别的事情,那么也很高兴知道这也是什么。
妮可

1
@Thorbjørn关于说服他们的事情你是对的,但是我认为一般的任务在这里适用。IDE的常规功能与与我的特定工作相关的功能子集使我的生产率提高了10:1。换句话说,标准的IDE功能可以帮助我/他们进行日常工作。
妮可

2
实际上,就成本而言,您实际上需要做的就是证明它可以在其预期使用期限内至少节省约10个小时的生产率(假设程序员每小时支付25美元)。之后的一切都是肉汁。
史蒂文·埃弗斯

1
仅作记录。Eclipse和IntelliJ(以及Netbeans)与Maven配合良好。这意味着,如果您使用Maven项目,则可以针对当前情况使用最合适的IDE。

5

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

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

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

哦,它实际上打开了另一件事...日食中有一个错误,这意味着它将拒绝打开。只是“谷歌日食不会打开”有大量的链接。我花了这么长时间改变才感到愚蠢。


这是一个非常有用的列表,但是您忘了提到您正在谈论哪个IDE。根据您在最后一句中提到的版本12,我想这全都与IntelliJ有关。
Xander Dunn 2013年

3

谷歌最近宣布将Android开发转移到IntelliJ。

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

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


这在总体上很有帮助,但是您可以提供更多详细信息吗?
卡扎尔克

1

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

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.