我听说有人选择了其中一种方式,并对其中一种方式发誓。
作为一个Eclipse的忠实粉丝,但没有时间尝试IntelliJ,我很有兴趣从“前Eclipse用户”IntelliJ用户那里听到一些用IntelliJ可以做而用Eclipse不能做的具体事情。
注意:这不是一个主观的问题,也不意味着变成一场IDE圣战。请为任何煽动性的答案投票。
我听说有人选择了其中一种方式,并对其中一种方式发誓。
作为一个Eclipse的忠实粉丝,但没有时间尝试IntelliJ,我很有兴趣从“前Eclipse用户”IntelliJ用户那里听到一些用IntelliJ可以做而用Eclipse不能做的具体事情。
注意:这不是一个主观的问题,也不意味着变成一场IDE圣战。请为任何煽动性的答案投票。
当前回答
Idea 8.0有可爱的ctrl+shift+space x 2,可以完成以下自动完成:
City city = customer.<ctrl-shift-space twice>
解析为
City city = customer.getAddress().getCity();
通过任何级别的getter /setter。
其他回答
数据流分析:如本文所述,过程间的反向流分析和正向流分析。我的经验是基于Community Edition,它在数据流分析方面做得相当好。当代码非常复杂时,它在少数情况下会失败(拒绝做任何事情)。
Idea 8.0有可爱的ctrl+shift+space x 2,可以完成以下自动完成:
City city = customer.<ctrl-shift-space twice>
解析为
City city = customer.getAddress().getCity();
通过任何级别的getter /setter。
IntelliJ做了而Eclipse没有做的两件事对我来说非常有价值:
方法分隔符:方法之间那些模糊的灰色线条使代码更具可读性
文本抗锯齿:使代码在IDE中看起来很漂亮
Alt+Insert以列模式编辑文本。
我在IntelliJ中一直使用的东西是在我输入时重构。我用两种ide重写了打印输出的类(最初是在eclipse中编写的),用IntelliJ编写相同的类比用eclipse少了大约40%的按键/鼠标点击。
除非Eclipse对不完整的代码段支持同样多的重构,否则我不会使用它。
以下是IntelliJ 8.0/8.1的特性列表[http://www.jetbrains.com/idea/features/index.html]