昨天去TW参加了pre class,就是类似于新员工入职前的培训,有很多很cool的东西,给我印象最深的就是IntelliJ IDEA了(coder么。。。)
刚才在网上搜了搜,发现很少有她的介绍资料,所以贴过来一个让大家看看。
文章中有一句话值得大家注意:
”IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS整合、代码审查、 创新的GUI设计等方面的功能可以说是超常的。“
http://tech.ddvip.com/2008-01/120095951541017.html
--------------------------------------------------------------------------------------
说起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所提倡的"以人为本"的编码精神。
什么是IDEA?谁在开发维护?
IDEA 全称 IntelliJ IDEA,是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS整合、代码审查、 创新的GUI设计等方面的功能可以说是超常的。
IDEA是JetBrains公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。
2001年1月发布IntelliJ IDEA 1.0版本,同年七月发布2.0,接下来基本每年发布一个版本(2003除外),当然每年对各个版本都是一些升级。3.0版本之后,IDEA屡获大奖,其中又以2003年的赢得的“Jolt Productivity Award”,“ JavaWorld Editors’s Choice Award”为标志,从而奠定了IDEA的IDE中的地位。目前版本为6.0,2006年10月2日发布,更新版本为6.0.2。IDEA的宗旨:“Develop with pleasure”。
DEA的优越
前面已经说过了IDEA所提倡的是智能编码,是减少程序员的工作,那么IDEA具体又有哪些值得推崇呢?总结以下25点,希望能有个比较全面的介绍。
1. 智能的选取。在很多时候我们要选取某个方法,或某个循环或想一步一步从一个变量到整个类慢慢扩充着选取,IDEA就提供这种基于语法的选择,在默认设置中Ctrl+w,可以实现选取范围的不断扩充,这种方式在重构的时候尤其显得方便。
2. 丰富的导航模式。IDEA提供了丰富的导航查看模式,例如ctrl+e显示最近打开过的文件,ctrl+n显示你希望显示的类名查找框
(该框同样有智能补充功能,当你输入字母后IDEA将显示所有候选类名)。在最基本的project试图中,你还可以选择多种的试图方式。
3. 历史记录功能。不用通过版本管理服务器,单纯的IDEA就可以查看任何工程中文件的历史记录,但版本恢复时你可以很容易的将其恢复。
4. JUnit的完美支持。
5. 对重构的优越支持。IDEA是所有IDE中最早支持重构的,其优秀的重构能力一直是其主要卖点之一。
6. 编码辅助。java规范中提倡的tostring(),hashcode(),equals(),以及所有的get/set方法,你可以不用进行任何的输入就可以实现代码的自动生成,从而把你从无聊的基本方法编码中解放出来。
7. 灵活的排版功能。基本所有的IDE都有重排版功能,但仅有IDEA的是人性的,因为她支持排版模式的定制,你可以根据不同的项目要求采用不同的排版方式。
8. XML的完美支持。
9. 简洁易用的GUI界面。
10. 与文件系统自动同步。当你最小化IDEA,直接对文件进行编辑之后,重新打开IDEA后IDEA将自动的完成文件的更新,而不用重新导入工程或刷新工程。
11. 自定义的快捷键。强大的快捷键设置,基本可以让程序员离开鼠标工作。
12. 动态语法检测。任何不符合java规范,自己预定义的规范,累赘都将在页面中加亮显示。
13. 代码检查。对代码进行自动分析,检测不符合规范的,存在风险的代码,并加亮显示。
14. 对JSP的完全支持。不需要任何的插件,完全支持JSP。
15. 智能编辑。代码输入过程中,自动补充方法或类。
16. EJB支持。不需要任何插件完全支持EJB(6.0 支持ejb3.0)
17. 列编辑模式。用过UtralEdit的肯定对其的列编辑模式赞赏不已,因为她减少了很多很多的无聊重复工作,而IDEA完全支持该模式,从而更加提高了编码效率。
18. 智能模板。预置模板可以让你把经常用到的方法编辑进模板,使用时你只用输入简单的几个字母就可以完成全部代码的编写。例如使用比较高的public static void main(String[] args){}你可以在模板中预设pm为该方法,输入时你只要输入pm再按代码辅助键,IDEA将完成代码的自动输入。
19. 完美的自动代码完成。智能检查类中方法,当发现方法名只有一个时自动完成代码输入,从而减少剩下代码的编写工作。
20. Ant 支持。不需要任何的第三方插件。
21. 不使用代码检查。自动检查代码中不使用的代码,并给出提示,从而使代码更高效。
22. 智能代码。自动检查代码,发现与预置规范有出入的代码给出提示,若程序员同意修改自动完成修改。例如代码:String str = "Hello Intellij " + "IDEA"; IDEA将给出优化提示,若程序员同意修改IDEA将自动将代码修改为:String str = "Hello Intellij IDEA";
23. 正则表达的查找和替换功能。查找替代支持正则表达,从而提高效率。
24. JavaDoc预览支持。支持JavaDoc的预览功能,在JavaDoc代码中ctrl+q显示JavaDoc的结果,从而提高doc文档的质量。
25. 程序员意图支持。当程序员编码时IDEA时时检测你的意图,或提供建议,或直接帮你完成代码。
IDEA的不足
前面说过了IDEA的好,最后也要来写写IDEA的不足了。
1. 插件开发匮乏,比起Eclipse,IDEA只能算是个插件的矮子,目前官方公布的插件不足400个,并且许多插件实质性的东西并没有,可能是IDEA本身就太强大了。
2. 在同一页面中只支持单工程,这为开发带来一定的不便,特别是喜欢开发时建一个测试过程来测试部分方法的程序员带来心理上的不认同。
3. 匮乏的技术文章,目前网络中能找到的技术支持基本没有,技术文章也少之又少。
4. 资源消耗比较大,建个大中型的J2EE项目,启动后基本要200M以上的内存支持,包括安装软件在内,差不多要500M的硬盘空间支持。(由于很多智能功能是时时的,因此包括系统类在内的所有类都被IDEA存放到IDEA的工作路径中)。
总结
尽管IDEA目前还有些不足,但一个诞生不过5年的产品能得到如此的美誉并不简单,更何况IDEA的很多实际功能的确走在时代的前列,至于其的问题我们不如包容点,毕竟有些问题在现在的硬件基础上根本就不能算是问题。
当然,无论我在此如何的夸她,都只是我的体验,若真想了解她,唯一的就是自己亲自去体验。