我听说有人选择了其中一种方式,并对其中一种方式发誓。

作为一个Eclipse的忠实粉丝,但没有时间尝试IntelliJ,我很有兴趣从“前Eclipse用户”IntelliJ用户那里听到一些用IntelliJ可以做而用Eclipse不能做的具体事情。

注意:这不是一个主观的问题,也不意味着变成一场IDE圣战。请为任何煽动性的答案投票。


当前回答

因为有了新的Android Studio,我试着改用IntelliJ。但我现在很失望。我使用Eclipse和代码推荐器插件。下面是Eclipse如此出色的一个简单示例:

我想创建一个新的SimpleTimeZone。SimpleTimeZone没有带零参数的构造函数。

在Eclipse中Ctrl + Space

IntelliJ中的Ctrl +空格

在IntelliJ中,我没有得到SimpleTimeZone有什么样的构造函数的信息。

进入Eclipse后

我得到先前选择的构造函数,其中填充了预定义的变量名。我可以看到每个参数的类型。使用代码推荐器,Eclipse根据先前在当前作用域中定义的变量类型猜测正确的构造函数,并用这些变量填充构造函数。

在IntelliJ中输入后什么都没有发生。构造函数是空的。我必须按Ctrl + P才能看到预期的参数。

其他回答

Intellij有一个比subversion或Subclipse优秀得多的SVN插件,而且它是有效的!我们在使用Eclipse合并源文件上所浪费的时间是无法想象的。对于IntelliJ,这不是一个问题,因为插件可以帮助你更多。

此外,Subclipse插件也不可靠——我们经常遇到插件认为其他开发人员没有将任何代码签入SVN的情况,但确实存在——CI服务器已经处理了它们!

别忘了“和剪贴板比较”。

这是我在IntelliJ中一直使用的,而在Eclipse中没有对应的东西。

我没有用IntellijIdea编写过很多代码,但是在IntellijIdea中,你可以看到括号(if, try/catch, cycle等)之间的代码块在哪里开始,在哪里结束。

在Eclipse中(我在Eclipse 3.2中编码),您只能手动识别块。

对我来说,它是IDEA的maven支持,特别是在版本9中是首屈一指的。项目与maven模型的动态同步非常棒,使开发变得愉快。

其他一些事情:

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