我听说有人选择了其中一种方式,并对其中一种方式发誓。
作为一个Eclipse的忠实粉丝,但没有时间尝试IntelliJ,我很有兴趣从“前Eclipse用户”IntelliJ用户那里听到一些用IntelliJ可以做而用Eclipse不能做的具体事情。
注意:这不是一个主观的问题,也不意味着变成一场IDE圣战。请为任何煽动性的答案投票。
我听说有人选择了其中一种方式,并对其中一种方式发誓。
作为一个Eclipse的忠实粉丝,但没有时间尝试IntelliJ,我很有兴趣从“前Eclipse用户”IntelliJ用户那里听到一些用IntelliJ可以做而用Eclipse不能做的具体事情。
注意:这不是一个主观的问题,也不意味着变成一场IDE圣战。请为任何煽动性的答案投票。
当前回答
我认为您可以坚持使用这两个ide中的任何一个。 不要“担心在您没有使用的IDE中错过一个巨大的好处”的最好迹象是我们在Eclipse爱好者和IntelliJ爱好者之间看到的很长的争论。这是一个很好的迹象,双方拥有几乎相同的力量,这使得这场长期的讨论得以幸存。
其他回答
我在IntelliJ中一直使用的东西是在我输入时重构。我用两种ide重写了打印输出的类(最初是在eclipse中编写的),用IntelliJ编写相同的类比用eclipse少了大约40%的按键/鼠标点击。
除非Eclipse对不完整的代码段支持同样多的重构,否则我不会使用它。
以下是IntelliJ 8.0/8.1的特性列表[http://www.jetbrains.com/idea/features/index.html]
在IntelliJ中,您可以通过“最后编辑位置”跳过最后编辑位置的历史。Eclipse也有类似的特性,但是Eclipse只返回到编辑位置的一个级别。
拥有历史记录而不仅仅是Eclipse提供的一个级别是一个很好的生产力特性:它充当了一种自动书签的形式,因为您经常希望跳转回您进行更改的地方。我每天都要使用这个功能几次,当我被要求使用Eclipse来做某些事情时,我感到没有这个功能的痛苦。
IntelliJ具有从代码到jspx文档的智能感知和重构支持。
引入变量。(Windows下按Ctrl+Alt+V, OSX下按Cmd+Alt+V)
假设调用service。listallpersons()方法 按Ctrl+Alt+V并回车,方法调用的返回值的变量被插入:
List<Person> list = service.listAllPersons();
节省输入,并且不必检查所调用方法的返回类型。在使用泛型时尤其有用,例如:
new ArrayList<String>()
(引入变量)
ArrayList<String> stringArrayList = new ArrayList<String>();
(当然,你可以在按Enter键之前轻松更改变量的名称)
有一件事IntelliJ做得比Eclipse好得多,那就是清空你的口袋!
然而,我确实更喜欢使用它,它比Eclipse有一个很大的优势,就是它与文件系统同步的方式,对于大项目和慢速的计算机(是的,在工作环境中,PC的速度比我们家里的慢得多),Eclipse似乎与IntelliJ相比似乎更快,尽管初始索引时间较慢。
IntelliJ社区版显然可以免费使用它,但你很快就会想要那些额外的重构和CC版不包含的小东西。
在我看来,这通常是一个更好的用户体验,但是否值得这个成本是每个开发者自己要回答的问题。
但是让我们感激我们现在有三个很棒的Java ide, NetBeans一直在变得更好。