我听说有人选择了其中一种方式,并对其中一种方式发誓。
作为一个Eclipse的忠实粉丝,但没有时间尝试IntelliJ,我很有兴趣从“前Eclipse用户”IntelliJ用户那里听到一些用IntelliJ可以做而用Eclipse不能做的具体事情。
注意:这不是一个主观的问题,也不意味着变成一场IDE圣战。请为任何煽动性的答案投票。
我听说有人选择了其中一种方式,并对其中一种方式发誓。
作为一个Eclipse的忠实粉丝,但没有时间尝试IntelliJ,我很有兴趣从“前Eclipse用户”IntelliJ用户那里听到一些用IntelliJ可以做而用Eclipse不能做的具体事情。
注意:这不是一个主观的问题,也不意味着变成一场IDE圣战。请为任何煽动性的答案投票。
当前回答
有一件事IntelliJ做得比Eclipse好得多,那就是清空你的口袋!
然而,我确实更喜欢使用它,它比Eclipse有一个很大的优势,就是它与文件系统同步的方式,对于大项目和慢速的计算机(是的,在工作环境中,PC的速度比我们家里的慢得多),Eclipse似乎与IntelliJ相比似乎更快,尽管初始索引时间较慢。
IntelliJ社区版显然可以免费使用它,但你很快就会想要那些额外的重构和CC版不包含的小东西。
在我看来,这通常是一个更好的用户体验,但是否值得这个成本是每个开发者自己要回答的问题。
但是让我们感激我们现在有三个很棒的Java ide, NetBeans一直在变得更好。
其他回答
结构搜索和替换。
例如,搜索如下内容:
System.out.println($string$ + $expr$);
其中$string$是一个文字,$expr$是my.package.and.Class类型的表达式,然后替换为:
$expr$.inspect($string$);
Idea 8.0有可爱的ctrl+shift+space x 2,可以完成以下自动完成:
City city = customer.<ctrl-shift-space twice>
解析为
City city = customer.getAddress().getCity();
通过任何级别的getter /setter。
抱歉,如果这已经涵盖了,但简单地有“变化”标签在那里,我可以看到我的本地变化,传入的变化,远程变化只是简单的东西,我不能没有。在Eclipse中,我找不到这样的特性!
另外,像中间点击绑定到“开放声明”这样简单的事情是一个很好的UI添加——我也看不到在Eclipse中实现的东西。
在我工作的地方只有Eclipse,但我正在认真考虑购买个人的Idea许可证....
引入变量。(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键之前轻松更改变量的名称)
我没有用IntellijIdea编写过很多代码,但是在IntellijIdea中,你可以看到括号(if, try/catch, cycle等)之间的代码块在哪里开始,在哪里结束。
在Eclipse中(我在Eclipse 3.2中编码),您只能手动识别块。