重要的私人Beta版通知:这是有关meta提案的试用问题:提倡“ X vs Y”问题。

当然IntelliJ IDEA,Eclipse和NetBeans都是出色的跨平台具有大量功能和各种插件的IDE,可满足任何需求。我知道Java EE(并非免费的IntellJ)和Android(由IntelliJ支持的Android Studio由Google提供支持,并且似乎已成为新的标准)开发之间存在很大的差异。

但是选择如果我开发“纯Java”软件,会更困难。这些IDE中的每一个都有哪些独特的优势可以促使我使用它们?

评论

我想说的是,如果您没有更精确地详细说明您的要求,那么这个问题就太广泛了。您可以在“ pure java”周围做很多事情。
“什么编辑器会在自动完成时提供从Maven存储库自动下载和导入JAR的问题?”

@NicolasRaoul请阅读我对meta的回答。我可以列出大量的要求,但是所有这些IDE都可以满足它们。选择Java IDE并没有帮助。

您能告诉我们您的操作系统吗?尽管您列出的所有IDE都是跨平台的,但是它们在不同的OS-es上的表现并不相同,主要是在性能和​​稳定性方面。

@IvayloSlavov我自己的平台是Linux,但是我不想本地化这个问题。一世。 e。您的答案可能看起来像“ IDE X比plaftorm Y的竞争对手要好,因为...”

在对meta主题进行全面讨论之前,我认为不宜投票关闭

#1 楼

作为Java软件开发人员,我很乐意与您分享我的个人经验。首先,我必须提到,我对上述IDE的所有经验都在Linux平台上,但是我已经看到了适用于此的东西操作系统与Windows或MAC不同。另外,尊重您的“纯Java”限制,我将不介绍与可能支持的其他语言/框架等相关的功能。因此,我们开始:

Eclipse

关于此IDE的优点是:


从视觉上最吸引人的一个三,个人意见
轻松的源代码导航
在maven pom文件之间进行导航,单击依赖项时,具有信息工具提示
良好的工作区结构,允许创建工作集-工作区中的项目组,因此您可以专注于一个具体的工作集,而不是整个工作区。每个视图在视图,窗口和工具的位置等方面都有自己的设置,IDE会自动记住这些设置。对我来说,这是一个宝贵的优势,尽管仅针对每个工作空间维护配置。
可以轻松导入和调试第三方源代码。有时,它需要手动下载代码,但是其余的我都觉得很容易

缺点:


加载缓慢,交互笨拙。有了其他插件,它变得更慢。
经常崩溃,尤其是在Linux上(Windows版本更可靠),最好在几天后重新启动它。
在Linux下,版本滞后于3.0以上在打开任何标记文件(XML,JSF)之前几秒钟,这会适得其反。
低于3.0的版本没有上述标记问题,但是缺少对Java 1.7语法功能的支持(例如,简短的泛型) 。
JSF缺少自动完成功能
Mac版本的快捷方式约定不一致,其中一部分使用Ctrl + ?组合,另一部分使用FN + ?。最初在其他OS-es上熟悉IDE的用户会感到沮丧
在包/项目间移动文件可能会很痛苦,因为有时复制(剪切)/粘贴不起作用,只需拖放

自动补全时突然冻结,只能通过重新启动IDE来解决(可以通过最小化和还原来解决此问题,但是菜单命令和相关的键盘快捷键将停止工作-即可以编辑文件但无法保存它。编辑器是可能的)。
内部IDE任务过程不可靠。如果启动具有共享资源的多个任务,则可能会挂起,无法停止甚至出现死锁(例如多次刷新SVN存储库会导致多个刷新过程)。

IntelliJ IDEA

>我仅在Linux上具有此IDE的经验,也许在其他平台上会有一些我可能会遗漏的差异



直观易用
出色的代码导航
对Eclipse项目的支持(能够将其导入为IDEA项目)
出色而冗长的重构
可以从右侧的项目视图中访问文件的文件系统位置单击菜单(eclipse中缺少的一项功能)

缺点对于Spring XML上下文,它无法识别所有属性,尽管它已获取了导入的XML模式。实际的问题是错误突出显示,这可能会使经验不足的开发人员感到困惑,
使用Subversion(查看和同步更改)会不像Eclipse那样直观。依赖项的文字(例如版本号等)。这会使没有经验的人感到困惑。

NetBeans

我能想到的优点是:


对于Web开发,它具有嵌入式服务器,可以更轻松地托管Web应用程序以进行调试,而无需设置外部服务器并对其进行部署。

缺点:


加载时间很慢

我过去曾经使用过NetBeans,而在Eclipse之前我更喜欢使用NetBeans,因为那时它更稳定并且消耗的资源更少。但是后来我的用法包括在大学里做作业。我还没有专业地使用过此IDE,因为我的工作环境更喜欢Java的上述选项,因此我不会进行比较。

我个人选择使用Eclipse,因为我对此比较熟悉,尽管它有很多缺点。我更喜欢它的功能是可以组织工作区并更好地专注于当前任务。正如我所说的,多种观点很有帮助,因为我将每种观点都配置为最适合我正在从事的具体任务。我也喜欢Subversion的详细输出,因为正确跟踪我的提交/更新对我很重要。

IntelliJ IDEA使我很容易适应它,尽管它确实具有较低的侵入性和智能性。它会自动识别多种项目类型,并立即询问您是否需要其他配置。例如,如果您导入一个Maven项目,但没有设置Maven主目录,则当您尝试执行与Maven相关的任务时,它将询问您该项目,并且会记住您的选择。显然,IDE会尝试帮助您配置和正确使用它。结合其稳定性和响应性(与Eclipse相比),感觉起来要可靠得多。我必须承认,我还没有深入研究它的自定义,但是它是成为我的首选IDE的候选人。

评论


请尝试着重差异。例如,无需提及所有这些IDE是免费的,并且它们都消耗大量内存(这是Java)。用斜体表示最有意义的点。

– Leventov
2014年2月5日,9:52

@leventov好的,我删除了内存内容,并强调了我认为重要的内容

– Ivaylo Slavov
2014年2月5日10:00

所有提到的IDE都具有插件支持。 plugins.jetbrains.com/?idea_ce

–MᴀʀɪᴜsᴢS
2014年2月5日,11:50



@MariuszS是的,是的。我似乎已经为IntelliJ Idea错过了此功能,现已修复

– Ivaylo Slavov
2014年2月5日在11:52

我认为您应该删除插件信息,所有IDE都类似。

–MᴀʀɪᴜsᴢS
2014年2月5日,11:53