我听说有人选择了其中一种方式,并对其中一种方式发誓。
作为一个Eclipse的忠实粉丝,但没有时间尝试IntelliJ,我很有兴趣从“前Eclipse用户”IntelliJ用户那里听到一些用IntelliJ可以做而用Eclipse不能做的具体事情。
注意:这不是一个主观的问题,也不意味着变成一场IDE圣战。请为任何煽动性的答案投票。
我听说有人选择了其中一种方式,并对其中一种方式发誓。
作为一个Eclipse的忠实粉丝,但没有时间尝试IntelliJ,我很有兴趣从“前Eclipse用户”IntelliJ用户那里听到一些用IntelliJ可以做而用Eclipse不能做的具体事情。
注意:这不是一个主观的问题,也不意味着变成一场IDE圣战。请为任何煽动性的答案投票。
当前回答
显示导航栏ALT-Home。
其他回答
数据流分析:如本文所述,过程间的反向流分析和正向流分析。我的经验是基于Community Edition,它在数据流分析方面做得相当好。当代码非常复杂时,它在少数情况下会失败(拒绝做任何事情)。
Well, for me it's a thousand tiny things. Some of the macros, the GUI layout in general in Eclipse I find awful. I can't open multiple projects in different windows in Eclipse. I can open multiple projects, but then it's view based system swaps a bunch of things around on me when I switch files. IntelliJ's code inspections seem better. Its popup helpers to fix common issues is nice. Lots of simple usability things like the side bar where I can hover over a hot spot and it'll tell me every implementing subclass of a method or the method I'm implementing and from where.
每当我不得不使用Eclipse时,或者看到别人使用Eclipse时,他们似乎可以做我在IntelliJ中可以做的大部分事情,但它花费的时间更长,而且更笨重。
引入变量。(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中一直使用的东西是在我输入时重构。我用两种ide重写了打印输出的类(最初是在eclipse中编写的),用IntelliJ编写相同的类比用eclipse少了大约40%的按键/鼠标点击。
除非Eclipse对不完整的代码段支持同样多的重构,否则我不会使用它。
以下是IntelliJ 8.0/8.1的特性列表[http://www.jetbrains.com/idea/features/index.html]
结构搜索和替换。
例如,搜索如下内容:
System.out.println($string$ + $expr$);
其中$string$是一个文字,$expr$是my.package.and.Class类型的表达式,然后替换为:
$expr$.inspect($string$);