我听说有人选择了其中一种方式,并对其中一种方式发誓。
作为一个Eclipse的忠实粉丝,但没有时间尝试IntelliJ,我很有兴趣从“前Eclipse用户”IntelliJ用户那里听到一些用IntelliJ可以做而用Eclipse不能做的具体事情。
注意:这不是一个主观的问题,也不意味着变成一场IDE圣战。请为任何煽动性的答案投票。
我听说有人选择了其中一种方式,并对其中一种方式发誓。
作为一个Eclipse的忠实粉丝,但没有时间尝试IntelliJ,我很有兴趣从“前Eclipse用户”IntelliJ用户那里听到一些用IntelliJ可以做而用Eclipse不能做的具体事情。
注意:这不是一个主观的问题,也不意味着变成一场IDE圣战。请为任何煽动性的答案投票。
当前回答
我在IntelliJ中一直使用的东西是在我输入时重构。我用两种ide重写了打印输出的类(最初是在eclipse中编写的),用IntelliJ编写相同的类比用eclipse少了大约40%的按键/鼠标点击。
除非Eclipse对不完整的代码段支持同样多的重构,否则我不会使用它。
以下是IntelliJ 8.0/8.1的特性列表[http://www.jetbrains.com/idea/features/index.html]
其他回答
其他一些事情:
propagate parameters/exceptions when changing method signature, very handy for updating methods deep inside the call stack SQL code validation in the strings passed as arguments to jdbc calls (and the whole newly bundled language injection stuff) implemented in/overwritten in icons for interfaces & classes (and their methods) and the smart implementation navigation (Ctrl+Alt+Click or Ctrl+Alt+B) linking between the EJB 2.1 interfaces and bean classes (including refactoring support); old one, but still immensely valuable when working on older projects
我不记得在Eclipse中是否可以实现字/行/方法/类换行
在Intellij Idea中,您使用Ctrl+W
引入变量。(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中没有对应的东西。
IntelliJ有一些相当高级的代码检查(与FindBugs类似但又不同)。
虽然我在使用IntelliJ时非常想念FindBugs插件(Eclipse/FindBugs集成非常酷)。
下面是IntelliJ支持的代码检查的官方列表
编辑:最后,IntelliJ有一个findbugs-plugin。它仍处于测试阶段,但代码检查和FindBugs的组合非常棒!