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

作为一个Eclipse的忠实粉丝,但没有时间尝试IntelliJ,我很有兴趣从“前Eclipse用户”IntelliJ用户那里听到一些用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 IDEA与Eclipse相比至少有两个优点。

如果试图在JSP代码编辑器中使用代码格式化,JSP脚本就会出错。Eclipse变得有点疯狂,它到处发布随机的代码片段。IDEA表现得很好。

另一件事是在JBoss服务器上部署应用程序的速度。IntelliJ正在替换JBoss tmp文件夹中的应用程序,因此重新部署非常快。Eclipse WTP正在替换deploy文件夹中的应用程序,而后者的持续时间要长得多。

就这篇文章而言,我的时机可能有点不对,但我必须做出回应。

我是一个超级日食迷——从它第一次出现就开始使用它。一个朋友告诉我(10多年前),这将是一个播放器。他是对的。

然而!我刚刚开始使用IntelliJ,如果您还没有见过或使用过变更列表,那么您就错过了编程的天堂。

The ability to track my changed files (on my development branch ala clearcase) was something I was looking for in a plugin for eclipse. Intellij tracks all of your changes for a single commit, extremely easy. You can isolate changed files with custom lists. I use that for configuration files that must be unique locally, but are constantly flagged when I sync or compare against the repository -- listing them under a changelist, I can monitor them, but neatly tuck them away so I can focus on the real additions I am making.

此外,还有一个提交日志插件,可以输出那些没有与错误跟踪软件集成的SCCS的所有更改的文本。将日志粘贴到票据的工作历史记录中可以捕获文件、它们的版本、日期/时间和分支/标记。太酷了。

我打赌,所有这些都可以通过eclipse中的插件(或未来的增强)来支持;然而,Intellij使这变得轻而易举。

最后,我真的很高兴主流对这款产品的喜爱——按键,所以它很痛苦,但很有趣。

Alt+Insert以列模式编辑文本。

两者有许多不同的特性和工作流程,这在所有的答案中都很明显。然而,我认为在决定使用哪种框架时,也应该考虑使用每种工具所能提高的总体生产力。

我是Netbeans和Eclipse的忠实粉丝,并且已经使用它们很多年了。它们都是很好的工具,根据您正在做的事情,您可能想要选择其中一个。

然而,大约六个月前,当我在一个复杂的java web项目中工作时,由于js的自动完成错误,我被迫寻找Eclipse的替代品。我是如此绝望,我正在考虑回到一个简单的文本编辑器为我的js代码!!

我只是碰巧遇到了Intellij Idea(不幸的是没有时间研究工具)。

虽然需要一些时间来适应Idea的做事方式,除了特殊的功能之外,在我看来,它从左到右的小事情上提供的生产力提高是最大的资产。它更适合我,我现在是Idea Ultimate的付费客户。一旦你习惯了这一点,就很难再去做别的事情了。

没有什么比免费更好的了,我是开源的忠实粉丝,但最终如果你以开源为生,那么每次都能更快地完成任务。

结构搜索和替换。

例如,搜索如下内容:

  System.out.println($string$ + $expr$);

其中$string$是一个文字,$expr$是my.package.and.Class类型的表达式,然后替换为:

  $expr$.inspect($string$);