我听说有人选择了其中一种方式,并对其中一种方式发誓。

作为一个Eclipse的忠实粉丝,但没有时间尝试IntelliJ,我很有兴趣从“前Eclipse用户”IntelliJ用户那里听到一些用IntelliJ可以做而用Eclipse不能做的具体事情。

注意:这不是一个主观的问题,也不意味着变成一场IDE圣战。请为任何煽动性的答案投票。


当前回答

我使用intellij而不是eclipse的原因只有一个:可用性

无论是调试、重构、自动完成…Intellij更容易使用一致的键绑定,可用的选项等。在特性方面,intellij很难赶上Eclipse,因为后者比intellij有更多可用的插件,而且很容易扩展。

其他回答

目前,它是唯一一个可以将标签撕下到另一个窗口。当你有更多的屏幕时很方便。

我经常使用的一件事是设置断点,然后控制它的功能。(在我的上一份工作中,大多数人都使用Eclipse……我记得我很惊讶,没有人能在Eclipse中找到如何做到这一点。)

例如,可以让断点实际上不停止,而只是将消息记录到控制台。这意味着,我不必用“System.out.println(…)”乱写代码,然后重新编译。

有一件事IntelliJ做得比Eclipse好得多,那就是清空你的口袋!

然而,我确实更喜欢使用它,它比Eclipse有一个很大的优势,就是它与文件系统同步的方式,对于大项目和慢速的计算机(是的,在工作环境中,PC的速度比我们家里的慢得多),Eclipse似乎与IntelliJ相比似乎更快,尽管初始索引时间较慢。

IntelliJ社区版显然可以免费使用它,但你很快就会想要那些额外的重构和CC版不包含的小东西。

在我看来,这通常是一个更好的用户体验,但是否值得这个成本是每个开发者自己要回答的问题。

但是让我们感激我们现在有三个很棒的Java ide, NetBeans一直在变得更好。

结构搜索和替换。

例如,搜索如下内容:

  System.out.println($string$ + $expr$);

其中$string$是一个文字,$expr$是my.package.and.Class类型的表达式,然后替换为:

  $expr$.inspect($string$);

两者有许多不同的特性和工作流程,这在所有的答案中都很明显。然而,我认为在决定使用哪种框架时,也应该考虑使用每种工具所能提高的总体生产力。

我是Netbeans和Eclipse的忠实粉丝,并且已经使用它们很多年了。它们都是很好的工具,根据您正在做的事情,您可能想要选择其中一个。

然而,大约六个月前,当我在一个复杂的java web项目中工作时,由于js的自动完成错误,我被迫寻找Eclipse的替代品。我是如此绝望,我正在考虑回到一个简单的文本编辑器为我的js代码!!

我只是碰巧遇到了Intellij Idea(不幸的是没有时间研究工具)。

虽然需要一些时间来适应Idea的做事方式,除了特殊的功能之外,在我看来,它从左到右的小事情上提供的生产力提高是最大的资产。它更适合我,我现在是Idea Ultimate的付费客户。一旦你习惯了这一点,就很难再去做别的事情了。

没有什么比免费更好的了,我是开源的忠实粉丝,但最终如果你以开源为生,那么每次都能更快地完成任务。