前言:经历了从eclipse到Myeclipse的时间,大学时候用Eclipse,开始工作的时候选择Myeclipse,都能体会到Java的IDE的先进和高明之处,直到最近,公司项目采git和Gradle构建,我的领导兼上司告诉我用Intelj idea这个开发工具要很好多,其实之前也听说过Intelj idea的大名,号称是最智能的IDE。我用了一段时间,发现很多惊喜之处,这才下定决心从Myeclipse转到Idea上去,本篇博客就来讲讲idea优胜于Myeclipse的几大优点:

一: idea的优胜于myeclipse的几点:
 1:流畅度和集成工具:Intelj idea完美集成了maven、gradle、git、svn等版本控制工具,而在myeclipse中这些插件的兼容性都比较差,myeclipse运行本来就占内存,运行很卡顿,再用插件用起来很卡,同一台机器测试下,idea要比myeclipse流畅很多。以下的测试数据来源于我的笔记本,window10系统,任务管理器下,Myeclipse占用内存812.5MB,而Intelj idea是520.7MB,cpu:myeclipse是12.2% idea是0.1%。其中Myeclipse版本是:2016-stable,idea是2016.3.4版本
 

2:反编译和debug:LIntelj idea自带反编译效果,这样就可以愉快的看源码了,遇到问题可以直接点进去源码看,这对于我们技术的提升大有裨益。而在myeclise中需要安装反编译插件,我使用了myeclipse有一年之久,其中安装反编译插件失败了很多次,配置麻烦。并且idea还有个逆天的功能就是断点可以跑到源码包里显示变量的值,这在myeclipse是不可能做到的.debug中可以直接显示一个对象的字段的值,而myeslipe你需要鼠标移动上去才会jar包中的源码,可以直接点进去查看源码

 
3:搜索:Intelj idea在全局搜索(ctrl+shirt+F)的时候基本都是秒到的,而myeclipse搜索需要漫长的等待。这对于加快工作效率很重要,因为搜索关键字段这个功能在代码编程中太容易用得到了。而idea在这方面更胜一筹

 
4:uml图:关于画类的继承结构图,myeclipse中继承了uml工具,可以做到手动画,而在Intelj idea中是可以直接自动完成的,只需要在类上面点击show Digram,直接画出标准的结构类图,层次结构分明,省去了我们很多时间。以下是利用idea自动构建的ArrayList的层次结构UML图:


5:提示功能:intelj idea的智能提示功能,细节做的很完善,说个小细节,它的自动补全,如果你加了分号,它是不会再给你加的。而在myeclipse中首先你得开起全部字母的匹配提示,因为它默认的只是.触发提示,然后你开启了,假如输入个String变量它非得给你加个后面string,这点很烦人,我曾想过解决方法,百度谷歌一大推,找到了教程也是很麻烦的.以下图是myeclipse的代码提示功能开启,而idea是不需要配置的

6:对于jsp、xml的支持:myeclipse对jsp支持可以用‘烂’这个词形容了,提示功能你手动得开启,经常莫名的xml自动校验,一些没有出错的代码也给你报错,首先是一大堆的校验,还很难取消搞的人很懊恼。而idea这些烦恼都是没有的,对jsp、xml的支持很棒,并且有很多非常好的快捷输入方式,举个例子:你输入ul:li*5,按下tab键就可以出来一个ul和5个li的选项卡等等

 
7:重构:一堆复杂的乱代码,通过idea很快就可以完成重构,抽取方法、变量、方法重命名,代码检测,在myeclispe也是支持重构的,不过并没有idea如此强大

8:本地历史:这是个小功能,但是在myeclispe中没有出现,你对于一个文件的修改历史,可以完整的看到,包括几点修改、修改了什么,并且可以随时恢复,这点对于误操作很重要。myeclipse中有时候编程忘记了自己修改了什么,只能通过ctrl+Z来回退,想象你退回去了,新的操作又没了,又得重新修改,很麻烦。以下图示本地历史功能的演示,其中可以看到昨天和前几天的修改,都很清楚明了

9:自动感知框架,当你的项目用了java框架的时候,idea可以“感受”出来,它会提供给你很多建议和优化的忠告

二:idea的不足之处

 
1:插件没有myeclipse丰富,这个和myeclipse的悠久的历史有很大的关系,idea毕竟诞生的时间没有myeclipse时间那么弥久,因此在插件丰富程度上要输于它的。但是大部分插件idea是有的,并且支持的的很好,比如小y前阵子接受公司的一个项目,名字叫ZKoss,听过的人很少吧。之前是用myeclipse开发啊,它有zkoss中zul视图的插件,我以为idea没有,但是当我导入的时候,它自动我提示安装插件(很人性化,必须赞一个)
 
2:目前很多项目是用myeclipse写的,而idea的项目结构又不遵循eclipse定制的那套结构,因此在转化的期间就会很不习惯
 
3:idea的学习成本要比myeclipse高,因为它有很多的新的概念,尤其在转换ide的时候会遇到很多问题,比如在myeclipse中很司空见惯的配置tomcat,在idea中就成了比较棘手的问题,我也是网上找了很多教程,才学会怎样在idea中配置tomcat.
 
总结:关于idea,我说的远不止这些,还有很多令人惊喜的功能,总体来说它是一个很智能、灵活的IDE,另外一点,我也并不是贬低myeclispe,毕竟我也用了很久,对myeclipse也有一份感情,它也有很方便之处。但是IDE在进步,编程技术在进步,我个人会选择Intelj idea。经常使用idea,对你的编程水平是大有裨益的!
 一款好的编程IDE,就像春雨一般润物细无声,悄悄渗透在你的编程的一支支细节之中,提升你在编程中的体验。

从Myeclipse到Intelj Idea的更多相关文章

  1. myeclipse学习总结一(在MyEclipse中设置生成jsp页面时默认编码为utf-8编码)

    1.每次我们在MyEclispe中创建Jsp页面,生成的Jsp页面的默认编码是"ISO-8859-1".在这种情况下,当我们在页面中编写的内容存在中文的时候,就无法进行保存.如下图 ...

  2. 【解决方案】Myeclipse 10 安装 GIT 插件 集成 步骤 图解

    工程开发中,往往要使用到集成GIT ,那么下面说说插件安装步骤 PS:以Myeclipse 10 为例,讲解集成安装步骤. ----------------------main------------ ...

  3. MyEclipse生成注册码

    今天正在使用的MyEclipse出现了使用过期,在网上发现一个可以生成注册码的程序,现在分享给各位. /** * myEclipse生成注册码 * 点击顶部:MyEclipse --> subs ...

  4. myeclipse 内存不够用报错PermGen space 和 An internal error has occurred.

    最近项目中又增加了新的模块,项目的代码又多了不少.运行的时候总是报如下错误 Exception in thread "http-apr-80-exec-6" java.lang.O ...

  5. WebLogic的安装和配置以及MyEclipse中配置WebLogic

    WebLogic 中间件: 是基础软件的一大类,属于可复用软件的范畴,顾名思义,中间件属于操作系统软件与应用软件的中间,比如:JDK,框架,weblogic. weblogic与tomcat区别 : ...

  6. MyEclipse对Maven的安装

    好记性不如烂笔头,记录一下. 操作系统:windows 7 MyEclipse2015 JDK1.7 maven的下载链接,点这里下载apache-maven-3.0.4-bin.tar.gz. 下载 ...

  7. MyEclipse 的 配置文件

    D:\soft\i\myeclipse10\MyEclipse 10\configuration.settings\org.eclipse.ui.ide.prefs MAX_RECENT_WORKSP ...

  8. myeclipse 无法启动 java.lang.IllegalStateException: Unable to acquire application service. Ensure that the org.eclipse.core.runtime bundle is resolved and started (see config.ini).

    把myeclipse10 按照目录完整拷贝到了另外一台电脑, 另外的目录 原安装目录 D\:\soft\i\myeclipse10 新安装目录 E\:\soft\myeclipse10 双击启动失败, ...

  9. myeclipse学习总结三(MyEclipse文件查找技巧)

    一.查找文件 使用快捷键[ctrl+shift+R]弹出弹出文件查找框,如下图所示: 二.查找包含某个字符串的文件 使用快捷键[ctrl+H]在弹出对话框中选File Search选项,然后在第一个文 ...

随机推荐

  1. 【深度学习系列】PaddlePaddle可视化之VisualDL

    上篇文章我们讲了如何对模型进行可视化,用的keras手动绘图输出CNN训练的中途结果,本篇文章将讲述如何用PaddlePaddle新开源的VisualDL来进行可视化.在讲VisualDL之前,我们先 ...

  2. php短信接口代码

    这篇文章主要为大家详细介绍了php短信接口代码,php短信发送.php批量发送.php获取余额等代码,感兴趣的小伙伴们可以参考一下 本文实例为大家分享了几个常用的php短信接口代码,供大家参考,具体内 ...

  3. php 抽奖概率 随机数

    <?php $prize_arr = array( '0' => array('id' => 1, 'title' => 'iphone5s', 'v' => 5), ' ...

  4. python通过scapy模块进行arp断网攻击

    前言: 想实现像arpsoof一样的工具 arp断网攻击原理: 通过伪造IP地址与MAC地址实现ARP欺骗,在网络发送大量ARP通信量.攻击者 只要持续不断发送arp包就能造成中间人攻击或者断网攻击. ...

  5. Python调用外部程序——os.system()和subprocess.call

    通过os.system函数调用其他程序 预备知识:cmd中打开和关闭程序 cmd中打开程序 a.打开系统自带程序 系统自带的程序的路径一般都已加入环境变量之中,只需在cmd窗口中直接输入程序名称即可. ...

  6. C# winform引用com组件,创建AXHOST组件失败解决方案

    解决方法非常简单,请首先关闭你的开发工具然后删除所有*.vshost.exe 的文件. 重新打开visual studio开发工具,重新编译你的程序.

  7. requests关于Exceeded 30 redirects问题得出的结论

    昨天一个朋友在爬网页时出现的一个问题,以及后续我对这个问题进行了简单的测试. 先说出现的问题的简单描述. 首先是使用urllib请求网页: #urllib.request发起的请求 import ur ...

  8. 更改Patrol Agent的密码

    大家可以使用P3console去做,具体方法请见:http://wenku.baidu.com/link?url=HbSzxNV2SPrlpk_Bfmcg0CNZuAlyX4jgdp4vbrxmynv ...

  9. Linxu指令--crond

    前一天学习了 at 命令是针对仅运行一次的任务,循环运行的例行性计划任务,linux系统则是由 cron (crond) 这个系统服务来控制的.Linux 系统上面原本就有非常多的计划性工作,因此这个 ...

  10. Linux指令--cat,tac

    原文出处:http://www.cnblogs.com/peida/archive/2012/10/30/2746968.html cat命令的用途是连接文件或标准输入并打印.这个命令常用来显示文件内 ...