我听说有人选择了其中一种方式,并对其中一种方式发誓。
作为一个Eclipse的忠实粉丝,但没有时间尝试IntelliJ,我很有兴趣从“前Eclipse用户”IntelliJ用户那里听到一些用IntelliJ可以做而用Eclipse不能做的具体事情。
注意:这不是一个主观的问题,也不意味着变成一场IDE圣战。请为任何煽动性的答案投票。
我听说有人选择了其中一种方式,并对其中一种方式发誓。
作为一个Eclipse的忠实粉丝,但没有时间尝试IntelliJ,我很有兴趣从“前Eclipse用户”IntelliJ用户那里听到一些用IntelliJ可以做而用Eclipse不能做的具体事情。
注意:这不是一个主观的问题,也不意味着变成一场IDE圣战。请为任何煽动性的答案投票。
当前回答
对我来说,它是IDEA的maven支持,特别是在版本9中是首屈一指的。项目与maven模型的动态同步非常棒,使开发变得愉快。
其他回答
如果你把光标放在一个方法上,然后按CTRL+SHIFT+I将弹出方法实现。如果方法是一个接口方法,那么你可以使用上下箭头来循环实现:
Map<String, Integer> m = ...
m.contains|Key("Wibble");
|的位置(例如)您的光标所在的位置。
我在IntelliJ中一直使用的东西是在我输入时重构。我用两种ide重写了打印输出的类(最初是在eclipse中编写的),用IntelliJ编写相同的类比用eclipse少了大约40%的按键/鼠标点击。
除非Eclipse对不完整的代码段支持同样多的重构,否则我不会使用它。
以下是IntelliJ 8.0/8.1的特性列表[http://www.jetbrains.com/idea/features/index.html]
IntelliJ做了而Eclipse没有做的两件事对我来说非常有价值:
方法分隔符:方法之间那些模糊的灰色线条使代码更具可读性
文本抗锯齿:使代码在IDE中看起来很漂亮
一个非常有用的特性是能够部分构建Maven反应堆项目,以便只包括您需要的部分。
To make this a little clearer, consider the case of a collection of WAR files with a lot of common resources (e.g. JavaScript, Spring config files etc) being shared between them using the overlay technique. If you are working on some web page (running in Jetty) and want to change some of the overlay code that is held in a separate module then you'd normally expect to have to stop Jetty, run the Maven build, start Jetty again and continue. This is the case with Eclipse and just about every other IDE I've worked with. Not so in IntelliJ. Using the project settings you can define which facet of which module you would like to be included in a background build. Consequently you end up with a process that appears seamless. You make a change to pretty much any code in the project and instantly it is available after you refresh the browser.
非常简洁,而且非常快。
我无法想象在没有它的情况下,在像YUI这样的东西中编写一个返回到DWR/SpringMVC的前端。
Intellij有一个比subversion或Subclipse优秀得多的SVN插件,而且它是有效的!我们在使用Eclipse合并源文件上所浪费的时间是无法想象的。对于IntelliJ,这不是一个问题,因为插件可以帮助你更多。
此外,Subclipse插件也不可靠——我们经常遇到插件认为其他开发人员没有将任何代码签入SVN的情况,但确实存在——CI服务器已经处理了它们!