前言:经历了从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. Spark算子--countByKey

    转载请标明出处http://www.cnblogs.com/haozhengfei/p/1633ffc63e2c925e930adadc9528c830.html  countByKey--Actio ...

  2. Linq 实例

    1.分页 ).Take(); 2.分组 1)一般分组 //根据顾客的国家分组,查询顾客数大于5的国家名和顾客数var 一般分组 = from c in ctx.Customers group c by ...

  3. yourphp目录结构

    Yourphp企业网站管理系统是一款完全开源免费的PHP+MYSQL系统.核心采用了Thinkphp框架等众多开源软件,同时核心功能也作为开源软件发布的网站后台管理系统. 二.目录说明 /Cache ...

  4. CCF系列之图像旋转(201503-1)

    试题编号: 201503-1时间限制: 5.0s 内存限制: 256.0MB 问题描述 旋转是图像处理的基本操作,在这个问题中,你需要将一个图像逆时针旋转90度. 计算机中的图像表示可以用一个矩阵来表 ...

  5. mysql修改表和列

    mysql修改列 mysql增加列,修改列名.列属性,删除列语句   mysql修改表名,列名,列类型,添加表列,删除表列     alter table test rename test1; --修 ...

  6. [知了堂学习笔记]_css3特效第一篇--旋转的背景&翻书效果

    一.html遮盖层与css3的旋转动画 >效果图(加载可能会慢一点儿,请稍等...): >实现思路:在一个大的div中装入一个底层img和顶层的div(里面的内容按照以上图片呈现的样式布局 ...

  7. Spring的RestTemplata使用

    spring-web的RestTemplata是对java底层http的封装,使用RestTemplata用户可以不再关注底层的连接建立,并且RestTemplata不仅支持Rest规范,还可以定义返 ...

  8. 用CSS写气泡

    新学到的一个小效果 用CSS实现如下图效果,其中demo结构为:<div id="square"></div> 实现这个效果需要用到两个知识点: 1.用bo ...

  9. nagios中监测dns 227.7.128.68的网络状态

    [root@nhserver2 ~]# cd /usr/local/nagios/etc/objects [root@nhserver2 objects]# vim hosts_dns.cfgdefi ...

  10. 《.NET 设计规范》第 9 章:常用的设计模式

    第 9 章:常用的设计模式 9.1 聚合组件 考虑为常用的特性域提供聚合组件. 要用聚合组件来对高层的概念(物理对象)进行建模,而不是对系统级的任务进行建模. 要让聚合组件的名字与众所周知的系统实体相 ...