188bet.com社区

 找回暗码
 注册
188bet官方网址
188bet.com社区 主页 业界资讯 技能文摘 检查内容

为何 IntelliJ IDEA 比 Eclipse 更好

2012-3-20 09:26| 发布者: 红黑魂| 检查: 117426| 谈论: 16|来自: 开源我国编译

摘要: 圣战有一些没有仅有正确答案的“永久”的问题,例如哪个更好:是Windows仍是Linux,Java仍是C#;谁更健壮:Chuck Norris仍是Van Damme。其间的一个圣战便是Java IDE的挑选:有许多争辩的论题是谈论它们哪个有更多的 ...

圣战

有一些没有仅有正确答案的“永久”的问题,例如哪个更好:是Windows仍是Linux,Java仍是C#;谁更健壮:Chuck Norris仍是Van Damme。

其间的一个圣战便是Java IDE的挑选:

有许多争辩的论题是谈论它们哪个有更多的插件、便利键等等。它们之间有太多的不同而很难决议什么才是最重要的。

因而,人们都标明两个IDE在功用性上都差不多,挑选某一个则是个人喜欢问题了。

我以为这不仅仅是个人喜欢的问题,有客观的原因能标明:Intellij IDEA 必定比Eclipse更好.

我不会去许多比较两者纤细不同,例如插件与便利键之类的。由于有一系列的blog是关于这些的,例如:[part 1] [part 2] [part 3]。我将会展现IDEA与Eclipse的一个最大的不同之处。一般IDEA和Eclipse的fans都不曾了解。前者现已习气性的运用着它而不曾幻想IDE短少它会怎样,后者则没有运用它的习气且难以幻想有了它IDE能做得这么好。Eclipse的用户在把玩IDEA的时分一般都不会意识到这个不同点,由于他们习气了以Eclipse形式作业。

为何我如此坚信?

在开端阐明之前,让我解释一下我是谁和为什么我的观念值得一听。

我运用Eclipse现已5年之久,我很了解它,我为它编写插件并真心肠喜欢它。然后,我换了一个公司作业,并被强行转移到IDEA上开发,在这次“分手”后,我才终究意识到为什么IDEA愈加敏锐。而现在我我现已运用IDEA一些年了,所以我能比较它们两者,由于我了解它们。

IDEA与Eclipse首要的不同

IDEA之所以愈加敏锐的原因是:IDEA懂得上下文。这也是JetBrains职工命名IDEA为intelligent的原因。它真实的意义又是什么呢?IDEA检索你的整个项目,剖析项目全部的内容,乃至构建语法树。幸而有它,在任何时分不管你将鼠标放置在哪里,IDEA都知道你在哪里并知道在那精干什么。

依旧不了然?别忧虑,在列举了以下几个比方后,全部就清楚了。

这种对上下文的了解体现在许多许多办法上,以下仅仅其间的一部分。

1、调试

一般在调试过程中,咱们想要求一些表达式的值,在Eclipse中你需求选定这个表达式,选定整个表达式十分重要,不然你就无法求出它的值。然后,你能够运用Ctrl+Shift+I看到这个表达式的值。

运用IDEA你不需求挑选任何东西,你只需求把光标移到你的表达式中然后按下Alt+F8。IDEA会很好的了解这个你或许需求的表达式,然后显现一个对话窗口,其间有一些它给出的主张参数变量。你也能够修正并在对话框中立行将得到这个表达式的值。适当的便利!试过这个特性后,你就不会再想在Eclipse中调试了。

基本上在两个IDE上都能让你做相同的事,可是运用IDEA会愈加简略和快速。对此我仔细的标明,这个差异太大了:就像天堂跟人世相同。在一个小小的IDEA对话窗口中就供给了主动完结,语法高亮以及你需求的全部。

2、主动完结

主动完结使得IDE比notepad愈加优异,在这个范畴能感知上下文的IDEA有了质的腾跃。例如,咱们开端如下一行代码:

assertElement(By.id("errorMessage"), vi

现在咱们想要查找以vi最初的选项有哪些。

IDEA怎样做的呢?无需等候任何的按键,它立刻就能了解assertElement需求一个Conditaion类的示例作为第二个参数,而在Condition类中有一个静态变量名叫visible。IDEA会直接主张这个仅有的有用选项。

可是,Eclipse会怎样做呢?唉,它不能了解上下文,它不知道光标地点处便是assertElement办法的第二个参数。因而当你按下“崇高”的Ctrl+Space时,Eclipse只会简略的显现大局中以vi字母最初的全部。

在一个美丽的弹出框中我看到了许多美丽的高亮的格局标准的无用的信息.:(

3、重构

专业的程序员能够高效的运用IDE供给的重构功用。全部的现代IDE都供给许多形象深入的重构功用。可是仍是那句,IDEA的重构功用也很聪明智能。它们能读懂你需求什么,然后针对不同的状况供给给你最合适的解决方案。

例如,假定咱们有一个assertErrorMessageIsHidden办法:

public void assertErrorMessageIsHidden() {
  assertElement(By.id("errorMessage"), Condition.visible);
}

咱们以字符串“errorMessage”作为该办法的一个参数。

让咱们先从IDEA开端,将光标放在任何字符串“errorMessage”上,按Ctrl+Alt+P(代表“parameter”),IDEA将会主张咱们或许能够在哪些表达顶用次字符串为参数。

当“errorMessage”表达式被选定今后,IDEA将会主张一些或许的能用做该参数的变量称号。

每月惊奇

你会经常地惊奇于IDEA的聪敏体现,比方它为你提示一些选项的称号。它考虑到办法称号,变量类型乃至是变量值,以及其他的此类变量的称号,与之前你给定的此变量的称号,除了疏忽了你的属相。信任我,你会想说“Wow,IDEA也能这样?”,我想说至少每个月一次吧。

现在然咱们看看Eclipse是怎样样给出主张的。

别忘了,挑选整个"errorMessage"表达式哦。挑选一个“引荐参数”的重构功用(经过菜单,没有什么便利键可供运用),取得差不多相同的成果,可是,Eclipse不会给出变量名提示选项,但幸而不会。

定论

假如咱们挑选Java IDE,那么Intellij IDEA必定要比Eclipse好的。这不仅仅是个人喜欢问题。从客观上看,IDEA更好。它是的你能够便利地编写和修正代码。它给出恰当的称号提示,查找合适的办法。它不需求你特别地挑选表达式便会猜想到你想要做的以及你想怎么对它命名。IDEA预示着并给你提示。

P.S. Remarks

我以为IDEA在作为Java IDE时的确比Eclipse更好。假如你考虑他们其他方面的才能例如用于其他例如C++、Python、Scala的IDE上,或许是作为构建桌面的运用的渠道,Eclipse很有或许拔得头筹。

事实上这是依赖于对他们的界说的,Eclipse已将自己定位为一个笼统渠道,用来运用插件构建任何东西,而IDEA则定位为一个“智能的Java IDE”,并且它正如此。

作为留念我就尝试着列绝一些Eclipse或许比IDEA更好的当地:

  • Eclipse看上去更棒,全部大题小做的SWT以及本地控件都用的很值。Eclipse看上去很安稳的深思熟虑过的程序,它有着美丽的字体以及图标。可是当榜首眼看到IDEA是,它像是作噱头的玩具相同,有着不完全的图标以及蠢笨的Swing界面。
  • Eclipse具有更强的项目结构支撑。在IDEA中,你的项目是有模块组成。在Eclipse中你具有一个由工程组成的作业区,每个工程都能被独自翻开或封闭,分组或躲藏。可是你真的需求么?
  • 为Eclipse编写插件好像很简略
  • IDEA比Eclipse运用更多的系统资源。这其实也说得通--由于IDEA了解得更多
  • 最终,Eclipse是免费的,可是IDEA Community版别现已够我用了

最终的主张

假如你需求美丽的图标,用来创立桌面程序的渠道,C++IDE或许你用一个低配的笔记本作业,那么Eclipse或许对你来说是更好的挑选。可是假如你是一个正儿八经的Java开发者,你需求更快更便利的东西帮你会集留意于解决问题而不是让你分神,IDEA则正是你所需求的。

 

via:dzone.com ,OSChina原创编译

  • 快毕业了,没作业经验,
    找份作业好难啊?
    赶忙去人才芯片公司锻炼吧!!

最新谈论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|188bet.com社区 ( 浙B2-20090187  

回来顶部