2001年1月发布IntelliJ IDEA 1.0版本,同年七月发布2.0,接下来基本每年发布一个版本(2003除外),当然每年对各个版本都是一些升级。3.0版本之后,IDEA屡获大奖,其中又以2003年的赢得的“Jolt Productivity Award”,“ JavaWorld Editors’s Choice Award”为标志,从而奠定了IDEA的IDE中的地位。目前版本为9.0,2010年4月23日发布,更新版本为9.0.2。IDEA的宗旨:“Develop with pleasure”。
Ultimate Edition 旗舰版 可以有30天免费试用
Community Edition 社区版本
当前版本 Version: 10.0.5
编辑本段快捷键
1.写代码时用Alt-Insert(Code|Generate…)可以创建类里面任何字段的getter与setter方法。
2.按Ctrl-N再键入类的名字可以快速地在编辑器里打开任何一个类。从显示出来的下拉列表里选择类。同样的方法你可以通过使用Ctrl-Shift-N打开工程中的非Java文件。
3.Ctrl-D删除当前行。
4.Ctrl-Shift-u,Ctrl+Shift+alt+u显示类继承结构图,再按alt-m。
5.Alt-F1,回到当前文件所在的目录结构。
6.Ctrl-Shift-v,粘贴最近复制过的一些信息。
7.Ctrl-Shift-F7,高亮显示所有该文本,按Esc高亮消失。
8.Ctrl-E 最近打开的文件。
9.Ctrl-P 方法参数提示。
10.Alt+ Up/Down 在方法间快速移动定位。
11.Ctrl+W 选中代码,连续按会有其他效果。
12.Shift + F6 选中目录结构的文件,重命名
13.Ctrl + Alt + F12 进入当前文件所在磁盘位置
14.Ctrl + Shift + F 搜索文件
15.Ctrl + Shift + R 搜索指定范围文件,替换文字
16.Ctrl + Tab Switcher 导航 与 Ctrl + E 类似效果
17.Ctrl + Shift + C 复制当前文件磁盘路径到剪贴板
编辑本段IDEA的优越性
最突出的功能自然是调试(Debug),可以对Java代码,JavaScript,JQuery,Ajax等技术进行调试。
其他编辑功能抛开不看,这点远胜Eclipse。
首先查看Map类型的对象,如果实现类采用的是哈希映射,则会自动过滤空的Entry实例。 不像Eclipse,只能在默认的toString()方法中寻找你所要的key。
其次,需要动态Evaluate一个表达式的值,比如我得到了一个类的实例,但是并不知晓它的API,可以通过Code Completion点出它所支持的方法,这点Eclipse无法比拟。
最后,在多线程调试的情况下,Log on console的功能可以帮你检查多线程执行的情况。
前面已经说过了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的很多实际功能的确走在时代的前列,至于其的问题我们不如包容点,毕竟有些问题在现在的硬件基础上根本就不能算是问题。
当然,无论 如何的夸她,都只是别人的体验,若真想了解她,唯一的就是自己亲自去体验。