我听说有人选择了其中一种方式,并对其中一种方式发誓。
作为一个Eclipse的忠实粉丝,但没有时间尝试IntelliJ,我很有兴趣从“前Eclipse用户”IntelliJ用户那里听到一些用IntelliJ可以做而用Eclipse不能做的具体事情。
注意:这不是一个主观的问题,也不意味着变成一场IDE圣战。请为任何煽动性的答案投票。
我听说有人选择了其中一种方式,并对其中一种方式发誓。
作为一个Eclipse的忠实粉丝,但没有时间尝试IntelliJ,我很有兴趣从“前Eclipse用户”IntelliJ用户那里听到一些用IntelliJ可以做而用Eclipse不能做的具体事情。
注意:这不是一个主观的问题,也不意味着变成一场IDE圣战。请为任何煽动性的答案投票。
当前回答
首先,我喜欢intellij。它至少有100个eclipse所缺乏的特性。在重构、重命名、移动和其他已经提到过的东西时,我所说的可靠性和智能程度是任何夸张都无法形容的。
但是,有一件事intellij不允许,而eclipse做到了。它不允许在同一个vm下同时运行多个项目。
当你有独立的前端、中间、核心、代理项目时…等等,它们都必须相互交互,你不能同时快速修改和调试。我目前处理这个问题的唯一方法是使用ant脚本在依赖的项目中部署和更新jar,或者使用maven。
Eclipse允许在一个ide vm实例下调试多个项目。
其他回答
如果你把光标放在一个方法上,然后按CTRL+SHIFT+I将弹出方法实现。如果方法是一个接口方法,那么你可以使用上下箭头来循环实现:
Map<String, Integer> m = ...
m.contains|Key("Wibble");
|的位置(例如)您的光标所在的位置。
就这篇文章而言,我的时机可能有点不对,但我必须做出回应。
我是一个超级日食迷——从它第一次出现就开始使用它。一个朋友告诉我(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使这变得轻而易举。
最后,我真的很高兴主流对这款产品的喜爱——按键,所以它很痛苦,但很有趣。
其他一些事情:
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
IntelliJ具有从代码到jspx文档的智能感知和重构支持。
在我看来,其中一个优点是依赖结构矩阵: http://www.jetbrains.com/idea/features/dependency_analysis.html#link0
在Lattix的网站上(一个独立的产品)有一个关于DSM使用和好处的很好的介绍: http://www.lattix.com/files/dl/slides/s.php?directory=4tour