IDEA 全称 IntelliJ IDEA,是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、各类版本工具(git、svn、github等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。IDEA是JetBrains公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。它的旗舰版本还支持HTML,CSS,PHP,MySQL,Python等。免费版只支持Java等少数语言。
- 外文名
- IntelliJ IDEA
- 类 型
- java语言开发的集成环境
- 地 位
- 目前最好用的java集成开发工具
- 领 域
- java,Web
目录
- 7 总结
特色功能
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的完美支持
xml全提示支持:所有流行框架的xml文件都支持全提示,谁用谁知道。
● 动态语法检测
任何不符合java规范、自己预定义的规范、累赘都将在页面中加亮显示。
● 代码检查
对代码进行自动分析,检测不符合规范的,存在风险的代码,并加亮显示。
● 对JSP的完全支持
不需要任何的插件,完全支持JSP。
● 智能编辑
代码输入过程中,自动补充方法或类。
● EJB支持
不需要任何插件完全支持EJB(6.0 支持EJB3.0)
● 列编辑模式
用过UtralEdit的肯定对其的列编辑模式赞赏不已,因为它减少了很多无聊的重复工作,而IDEA完全支持该模式,从而更加提高了编码效率。
● 预置模板
预置模板可以让你把经常用到的方法编辑进模板,使用时你只用输入简单的几个字母就可以完成全部代码的编写。例如使用比较高的public static void main(String[] args){}你可以在模板中预设pm为该方法,输入时你只要输入pm再按代码辅助键,IDEA将完成代码的自动输入。
● 完美的自动代码完成
智能检查类中的方法,当发现方法名只有一个时自动完成代码输入,从而减少剩下代码的编写工作。
● 版本控制完美支持
集成了目前市面上常见的所有版本控制工具插件,包括git、svn、github,让开发人员在编程的工程中直接在intellij idea里就能完成代码的提交、检出、解决冲突、查看版本控制服务器内容等等。
● 不使用代码的检查
自动检查代码中不使用的代码,并给出提示,从而使代码更高效。
● 智能代码
自动检查代码,发现与预置规范有出入的代码给出提示,若程序员同意修改自动完成修改。例如代码:String str = "Hello Intellij " + "IDEA"; IDEA将给出优化提示,若程序员同意修改IDEA将自动将代码修改为:String str = "Hello Intellij IDEA";
● 正则表达式的查找和替换功能
查找和替换支持正则表达式,从而提高效率。
● JavaDoc预览支持
支持JavaDoc的预览功能,在JavaDoc代码中Ctrl+Q显示JavaDoc的结果,从而提高doc文档的质量。
● 程序员意图支持
程序员编码时IDEA时时检测你的意图,或提供建议,或直接帮你完成代码。
优点
最突出的功能自然是调试(Debug),可
IntelliJ IDEA与其他IDE对比图
以对Java代码,JavaScript,JQuery,Ajax等技术进行调试。
其他编辑功能抛开不看,这点远胜Eclipse。
首先查看Map类型的对象,如果实现类采用的是哈希映射,则会自动过滤空的Entry实例。 不像Eclipse,只能在默认的toString()方法中寻找你所要的key。
其次,需要动态Evaluate一个表达式的值,比如我得到了一个类的实例,但是并不知晓它的API,可以通过Code Completion点出它所支持的方法,这点Eclipse无法比拟。
最后,在多线程调试的情况下,Log on console的功能可以帮你检查多线程执行的情况。
缺点
前面说过了IDEA的好,最后也要来写写IDEA的不足了。
1. 匮乏的技术文章,目前网络中能找到的技术支持比较少,技术文章也不全面。
2.太过强大的自动提示会让使用者渐渐的依赖上自动提示。