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

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

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


当前回答

Intellij有一个比subversion或Subclipse优秀得多的SVN插件,而且它是有效的!我们在使用Eclipse合并源文件上所浪费的时间是无法想象的。对于IntelliJ,这不是一个问题,因为插件可以帮助你更多。

此外,Subclipse插件也不可靠——我们经常遇到插件认为其他开发人员没有将任何代码签入SVN的情况,但确实存在——CI服务器已经处理了它们!

其他回答

如果你把光标放在一个方法上,然后按CTRL+SHIFT+I将弹出方法实现。如果方法是一个接口方法,那么你可以使用上下箭头来循环实现:

Map<String, Integer> m = ...
m.contains|Key("Wibble");

|的位置(例如)您的光标所在的位置。

Idea 8.0有可爱的ctrl+shift+space x 2,可以完成以下自动完成:

 City city = customer.<ctrl-shift-space twice>

解析为

 City city = customer.getAddress().getCity();

通过任何级别的getter /setter。

对我来说,它是IDEA的maven支持,特别是在版本9中是首屈一指的。项目与maven模型的动态同步非常棒,使开发变得愉快。

回答的序言:我对Eclipse的使用是有限的。我们需要一个Java IDE在Windows和Mac上都能运行,而Mac的移植速度越来越慢。这是几年前的事了,我相信现在没问题了。但这正是我们转向IntelliJ的原因,我们对它很满意。

现在是我的答案:我还没有看到提到的一个很大的区别是,IntelliJ/Jet Brains的技术支持更好。我们向JetBrains发送电子邮件,并在不到一个小时内得到明确的答复。寻找Eclipse问题的答案通常会得到“你这个愚蠢的白痴”的答案(通常是一小部分回答),同时还有大量有见解的、有帮助的回答。但要得到真正的答案还需要一些梳理。

我在IntelliJ中一直使用的东西是在我输入时重构。我用两种ide重写了打印输出的类(最初是在eclipse中编写的),用IntelliJ编写相同的类比用eclipse少了大约40%的按键/鼠标点击。

除非Eclipse对不完整的代码段支持同样多的重构,否则我不会使用它。

以下是IntelliJ 8.0/8.1的特性列表[http://www.jetbrains.com/idea/features/index.html]