最近,在公司领导的推荐下,忽然发现了一个Java开发的集成环境,经过初步的使用,在当下Eclipse/MyEclipse盛行的时代,这款工具确确实值得我们去关注与使用。
说起Java的IDE,大家琅琅上口的不外乎Jbuilder,Eclipse,NetBeans这三个,而这其中又以Eclipse最为疯狂与狂热,到Google中以“Eclipse”搜索一把,你会发现Google给出了惊人的“约有54,400,000项符合Eclipse的查询结果”,专门搜索中文的百度也有“找到相关网页约2,360,000篇”。可见Eclipse是如何的受人追捧。
JBuilder由于自身的原因,已经渐渐退出了领导者的地位,Netbeans由于sun强力支持也有抬头的迹象,唯独IntelliJ IDEA似乎并没有进入人们的视线,在google中IDEA的搜索结果还不如Eclipse在百度中的搜索结果的三分之一。的确由于市场宣传的原因,知道IDEA的人并不多,何况Eclipse是开源软件,免费的,与500 dollar相比,免费毕竟是个大实惠。但我们在此并不能抹去IDEA的优秀,和IDEA所提倡的"以人为本"的编码精神。
IntelliJ IDEA是一个屡获殊荣的Java和Groovy开发环境,不过在现在Eclipse横行的世道,只剩下一些铁杆粉丝还在坚持使用此开发环境。
我在此稍微进行简要介绍,内容部分来自相关百科搜索。
一、简介:
IDEA 全称 IntelliJ IDEA,是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS整合、代码审查、 创新的GUI设计等方面的功能可以说是超常的。IDEA是JetBrains公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。
官网首页:http://www.jetbrains.com/idea/
最新版本下载:http://www.jetbrains.com/idea/download/index.html
相关开发者社区网站:http://devnet.jetbrains.net/index.jspa
该工具支持操作系统/平台:Windows、Mac OS X、Linux
最新版IntelliJ IDEA 11.1.2界面[官方]初步预览:
注:
该开发工具有免费的版本,也有付费的版本,当然,破解的话也不是不可能的,我稍后在后面的文章中具体介绍吧。
二、特点功能
IDEA所提倡的是智能编码,是减少程序员的工作,IDEA的特色功能有以下25点[1]:
● 智能的选取
在很多时候我们要选取某个方法,或某个循环或想一步一步从一个变量到整个类慢慢扩充着选取,IDEA就提供这种基于语法的选择,在默认设置中Ctrl+w,可以实现选取范围的不断扩充,这种方式在重构的时候尤其显得方便。
● 丰富的导航模式
IDEA提供了丰富的导航查看模式,例如ctrl+e显示最近打开过的文件,ctrl+n显示你希望显示的类名查找框(该框同样有智能补充功能,当你输入字母后IDEA将显示所有候选类名)。在最基本的project试图中,你还可以选择多种的试图方式。
● 历史记录功能
不用通过版本管理服务器,单纯的IDEA就可以查看任何工程中文件的历史记录,但版本恢复时你可以很容易的将其恢复。
● JUnit的完美支持
● 对重构的优越支持
IDEA是所有IDE中最早支持重构的,其优秀的重构能力一直是其主要卖点之一。
● 编码辅助
Java规范中提倡的tostring(),hashcode(),equals(),以及所有的get/set方法,你可以不用进行任何的输入就可以实现代码的自动生成,从而把你从无聊的基本方法编码中解放出来。
● 灵活的排版功能
基本所有的IDE都有重排版功能,但仅有IDEA的是人性的,因为她支持排版模式的定制,你可以根据不同的项目要求采用不同的排版方式。
● XML的完美支持
● 动态语法检测
任何不符合java规范,自己预定义的规范,累赘都将在页面中加亮显示。
● 代码检查
对代码进行自动分析,检测不符合规范的,存在风险的代码,并加亮显示。
● 对JSP的完全支持
● 智能编辑
代码输入过程中,自动补充方法或类。
● EJB支持
不需要任何插件完全支持EJB(6.0 支持ejb3.0)
● 列编辑模式
用过UtralEdit的肯定对其的列编辑模式赞赏不已,因为她减少了很多很多的无聊重复工作,而IDEA完全支持该模式,从而更加提高了编码效率。
● 列编辑模式
预置模板可以让你把经常用到的方法编辑进模板,使用时你只用输入简单的几个字母就可以完成全部代码的编写。例如使用比较高的public static void main(String[] args){}你可以在模板中预设pm为该方法,输入时你只要输入pm再按代码辅助键,IDEA将完成代码的自动输入。
● 完美的自动代码完成
智能检查类中方法,当发现方法名只有一个时自动完成代码输入,从而减少剩下代码的编写工作。
● Ant支持
不需要任何的第三方插件。
● 不使用代码检查
自动检查代码中不使用的代码,并给出提示,从而使代码更高效。
● 智能代码
自动检查代码,发现与预置规范有出入的代码给出提示,若程序员同意修改自动完成修改。例如代码:String str = "Hello Intellij " + "IDEA"; IDEA将给出优化提示,若程序员同意修改IDEA将自动将代码修改为:String str = "Hello Intellij IDEA";
● 正则表达的查找和替换功能
查找替代支持正则表达,从而提高效率。
● JavaDoc预览支持
支持JavaDoc的预览功能,在JavaDoc代码中ctrl+q显示JavaDoc的结果,从而提高doc文档的质量。
● 程序员意图支持
程序员编码时IDEA时时检测你的意图,或提供建议,或直接帮你完成代码
三、IDEA的优点
最突出的功能自然是调试(Debug),可以对Java代码,JavaScript,JQuery,Ajax等技术进行调试。
其他编辑功能抛开不看,这点远胜Eclipse。
首先查看Map类型的对象,如果实现类采用的是哈希映射,则会自动过滤空的Entry实例。 不像Eclipse,只能在默认的toString()方法中寻找你所要的key。
其次,需要动态Evaluate一个表达式的值,比如我得到了一个类的实例,但是并不知晓它的API,可以通过Code Completion点出它所支持的方法,这点Eclipse无法比拟。
最后,在多线程调试的情况下,Log on console的功能可以帮你检查多线程执行的情况。
四、IDEA的不足
前面说过了IDEA的好,最后也要来写写IDEA的不足了。
1. 插件开发匮乏,比起Eclipse,IDEA只能算是个插件的矮子,目前官方公布的插件不足400个,并且许多插件实质性的东西并没有,可能是IDEA本身就太强大了。
2. 在同一页面中只支持单工程,这为开发带来一定的不便,特别是喜欢开发时建一个测试过程来测试部分方法的程序员带来心理上的不认同。
3. 匮乏的技术文章,目前网络中能找到的技术支持基本没有,技术文章也少之又少。
4. 资源消耗比较大,建个大中型的J2EE项目,启动后基本要200M以上的内存支持,包括安装软件在内,差不多要500M的硬盘空间支持。(由于很多智能功能是时时的,因此包括系统类在内的所有类都被IDEA存放到IDEA的工作路径中)。