我听说有人选择了其中一种方式,并对其中一种方式发誓。
作为一个Eclipse的忠实粉丝,但没有时间尝试IntelliJ,我很有兴趣从“前Eclipse用户”IntelliJ用户那里听到一些用IntelliJ可以做而用Eclipse不能做的具体事情。
注意:这不是一个主观的问题,也不意味着变成一场IDE圣战。请为任何煽动性的答案投票。
我听说有人选择了其中一种方式,并对其中一种方式发誓。
作为一个Eclipse的忠实粉丝,但没有时间尝试IntelliJ,我很有兴趣从“前Eclipse用户”IntelliJ用户那里听到一些用IntelliJ可以做而用Eclipse不能做的具体事情。
注意:这不是一个主观的问题,也不意味着变成一场IDE圣战。请为任何煽动性的答案投票。
当前回答
我经常使用的一件事是设置断点,然后控制它的功能。(在我的上一份工作中,大多数人都使用Eclipse……我记得我很惊讶,没有人能在Eclipse中找到如何做到这一点。)
例如,可以让断点实际上不停止,而只是将消息记录到控制台。这意味着,我不必用“System.out.println(…)”乱写代码,然后重新编译。
其他回答
数据流分析:如本文所述,过程间的反向流分析和正向流分析。我的经验是基于Community Edition,它在数据流分析方面做得相当好。当代码非常复杂时,它在少数情况下会失败(拒绝做任何事情)。
对我来说,它是IDEA的maven支持,特别是在版本9中是首屈一指的。项目与maven模型的动态同步非常棒,使开发变得愉快。
如果你把光标放在一个方法上,然后按CTRL+SHIFT+I将弹出方法实现。如果方法是一个接口方法,那么你可以使用上下箭头来循环实现:
Map<String, Integer> m = ...
m.contains|Key("Wibble");
|的位置(例如)您的光标所在的位置。
我使用intellij而不是eclipse的原因只有一个:可用性
无论是调试、重构、自动完成…Intellij更容易使用一致的键绑定,可用的选项等。在特性方面,intellij很难赶上Eclipse,因为后者比intellij有更多可用的插件,而且很容易扩展。
我没有用IntellijIdea编写过很多代码,但是在IntellijIdea中,你可以看到括号(if, try/catch, cycle等)之间的代码块在哪里开始,在哪里结束。
在Eclipse中(我在Eclipse 3.2中编码),您只能手动识别块。