60

我从那些发誓其中之一的人那里听说过。两者都是功能齐全的优秀 IDE。但每个人的优势都略有不同。这并不意味着变成一场神圣的 IDE 战争。请对任何火焰诱饵答案投反对票。谢谢。

这是这个问题的类比。

4

16 回答 16

37

IDEA 中我最喜欢的小烦恼(也是 Eclipse 中最喜欢的小功能)是在键入左大括号(例如“{”)或分号时字符的定位。您必须在 Eclipse 中启用它(Window/Preferences/Java/Editor/Typing:“自动在正确的位置插入:分号,大括号”)

有了这个,只需提前输入(“|”是插入符号的位置)

while(|

结果(还没有魔法)

while(|)

现在输入true{,结果

while(true) {|

如此简单,却又如此强大。

此外,在(例如)

System.out.println("Hello world")

在该行中的任何位置使用插入符号,键入分号将自动在行尾键入它。退格更正,就像您最喜欢的文字处理器中通常的自动更正一样。

无价。在第一次尝试时,我物理上不再能够在正确的位置键入分号:)

于 2009-01-20T18:34:09.387 回答
30

即使在不相关的代码中存在编译器错误, Eclipse 的增量编译器也允许您运行单元测试。IntelliJ 依赖 javac,除非所有代码都有效,否则它不会发出字节码。

于 2012-01-06T05:20:37.050 回答
24

由于新的 Android Studio,我尝试切换到 IntelliJ。但我现在非常失望。我正在使用带有Code Recommenders插件的 Eclipse。这是一个为什么 Eclipse 如此出色的简单示例:

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

Eclipse 中的 Ctrl + 空格

在此处输入图像描述

IntelliJ 中的 Ctrl + 空格

在此处输入图像描述

在 IntelliJ 中,我没有得到任何构造函数类型的信息SimpleTimeZone

进入 Eclipse 后

在此处输入图像描述

我得到了先前选择的构造函数,其中填充了预定义的变量名称。我可以看到每个参数的类型。使用 Code Recommenders,Eclipse 通过当前范围内先前定义的变量类型猜测正确的构造函数,并用这些 var 填充构造函数。

进入 IntelliJ 后没有任何反应。我得到一个空的构造函数。我必须按 Ctrl + P 才能看到预期的参数。

在此处输入图像描述

或尝试一些简单的事情。类型

syso<Ctrl+Space>

蚀:System.out.println()

智能:syso

于 2013-05-18T12:21:39.537 回答
17

据我所知,在 IntelliJ 中没有替代 Eclipse 出色的Mylyn任务插件。

于 2009-01-20T15:01:51.983 回答
13

从 Eclipse 3.3 开始(但可以在使用插件之前完成),您可以在保存 Java 文件的同时自动执行操作:

  • 组织进口
  • 格式化源代码
  • 其他一些操作(如添加注释、删除不必要的强制转换......)

这可以在Preferences > Java > Editor > Save actions中进行配置。

于 2009-02-05T15:50:49.610 回答
7

Eclipse 平台的开放性使插件编写者社区蓬勃发展。有大量插件可用于各种任务。

于 2009-01-20T22:02:53.427 回答
6

我最喜欢的 Eclipse 功能:

  • AspectJ 集成,包括方面和代码之间的导航、显示方面应用位置的注释标记、交叉引用视图、显示方面类型的通用打开类型对话框(最近添加)
  • OSGi 工具(又名 PDE)、编辑和优化 OSGI 清单、特定于 OSGi 的重构和声明式服务编辑器(目前正在开发中)
于 2009-01-26T00:54:05.097 回答
5

我不知道如何在 Intellij 中自动添加 javadoc,而在 Eclipse 中它只是:Shift-Alt-j

我不喜欢 IntelliJ 的事情(来自 Eclipse 开发人员)

  • 只需按一下 Tab 键,Tab 键就不会缩进到正确的位置。

  • 多项目是第一个......但很多人之前已经介绍过,所以我会离开它。

  • 窗户的分割。在 Eclipse 中,您只需将窗口拖到任何您想要的位置,它就会到那里。

  • 字体很烂。我改成了我能找到的下一个最好的:Liberation Mono,14 号。(设置>编辑器>颜色和字体>字体)

  • XML 的突出显示是讨厌的......删除了粗体。

  • 将编辑器窗口与项目导航器中选择的文件同步。我不能默认做到这一点,我每次都必须按下按钮???找到了:

  • 在项目导航器中双击有时不会打开文件。有时甚至连三次点击都不会这样做。只需单击四下即可打开它!** 这里有一个答案...只是双击速度太快了:关于IDEA中的双击,双击打开文件很难的原因是Java程序例如IDEA读取了双击来自 X11 资源的速度。如果未明确设置,则默认为 200 毫秒,速度快如闪电。为了获得更合理的阈值,请创建 ~/.Xresources 并添加: *.multiClickSpeed: 400

  • 无法弄清楚如何获得建议:Ctrl-1 在 Eclipse 中给出的“将语句分配给局部变量”。我一直在使用它。

** 是的!这是引入变量重构。默认情况下,选择一些文本,然后按 Ctrl + Alt + V。如果表达式不完整或无效,IntelliJ 仍会很好地猜测您的意思并尝试为您修复它。

  • 制表符不会立即纠正位置。

  • 无法正确自动完成 ** Ctrl-Shift-Space 帮助...

  • 热代码重新运行。在 Eclipse 中,我可以在调试器中修改一个方法,并重新加载框架。** 右击:丢帧

  • 双击变量以突出显示它,不会突出显示该变量的其他出现。

  • 不推荐使用的方法不会被划掉。

  • 可以在设置菜单中正确搜索。它过滤掉的只是顶级名称,而不是菜单本身内的所有字符串。找不到在哪里设置我的jdk!

  • 不会即时编译,只有当我点击“调试”时它才会编译。

  • 没有“右键单击类并选择新建> JUnit”功能。

  • 调试时,窗口出现在底部,无法移动到我想要的位置。** 将折叠的小图标拖动到您希望它弹出的任何一侧。

我喜欢的事情:

  • 粘贴历史很好:

Ctrl-Shift-V

  • 只需单击调试/运行图标实际上会运行最后一个配置,eclipse 并不那么聪明(或者它太聪明???),我不喜欢它的方式。

  • 自动完成非常好。

  • 只需单击一次即可添加断点

  • 代码折叠/扩展似乎更好。

  • Ctrl-Shift--(减号)折叠/折叠所有。

  • “列模式”可以打开它“编辑 - 列模式”或使用 alt + shift + insert

于 2011-02-01T06:56:27.970 回答
4

只有 eclipse 允许您在调试器中单步执行 ant 构建。

于 2009-01-20T14:19:30.757 回答
4

Idea 没有drools插件,外部编辑器(如excel)很难集成。

于 2009-01-20T18:04:38.073 回答
4

在eclipse中你可以最大化编辑器,在IntelliJ中你可以点击escape,这是类似的功能。但是在eclipse中你可以恢复。IntelliJ 中没有等效的“未最大化”,这更令人沮丧。

于 2009-01-21T13:32:46.607 回答
2

我发现(同时使用两者)最大的烦恼是在 Eclipse 中我可以创建 Ant Launch 任务。这些任务允许我使用不同的属性/参数集在同一个构建文件中运行相同的 ant 任务,而无需每次都进行编辑。

在 IDEA 中,属性是在整个构建文件中设置的。因此,您不仅不能在不编辑的情况下运行具有不同属性的相同 ant 任务,而且您不能运行具有不同属性的不同 ant 任务,除非它们位于不同的构建文件中。

于 2009-01-20T15:13:44.377 回答
2

我在博客中总结了我对 Eclipse 3.6 和 IntelliJ 10.5 的比较(与 Eclipse 相比,我更关注我在 II 中喜欢或错过的地方)

于 2011-10-21T10:33:00.103 回答
1

总的来说,我在这两个 IDE 中都有很好的工作经验,所以两者都有很多好的特性。在 IDEA 9_0_3 中,我在使用 SVN 时遇到了一个奇怪的问题。我可以在存储库视图中看到更改的历史记录,但它没有显示任何令人沮丧的传入更改。另一种方法是更新带来最新但没有任何选择的目录..它得到了所有

于 2010-11-10T10:12:06.120 回答
0

一个有效的颠覆集成,看看想法颠覆插件的错误

于 2009-01-20T13:22:38.047 回答
-2

在 Eclipse 中,创建一个 10x10 的编辑区域( cols/row )并同时查看所有其他窗口可能会让人烦恼。

在 IntelliJ 中这是不可能的,因为 'ESC' 键会将它们全部关闭。

好的,好的,对不起,我必须这样做,现在就开枪打我

于 2009-01-20T21:53:04.087 回答