喜欢使用IntelliJ Idea的25个理由
IntelliJ Idea是一个相对较新的Java IDE。它是我所使用过的(我用过大部分Java开发环境)Java开发环境中最为有用的一个。高度优化的IntelleJIdea使普通任务变得相当容易。
通常不是较大的标签特性使一个产品真正有用。而是这些小的方面:里面的许多小的细节使整个包无缝集成及乐于使用。
下面是我真正喜爱Idea的一些理由。
1、感知语法词选择
反复使用Ctrl-w使所选表达式逐步增大直到选取整个文件。但是这一点听起来并不是很重要,它在与其它特性如“introduce variable”refactoring(“引入变量”重整)相结合使用时才真正好用。我可以把脱字符置于复杂表达式上,按Ctrl-w直到选取所需范围然后按Ctrl-Alt-v为表达式引入一个新的变量。如果我要替换这个表达式的其他事件Idea甚至也可以自动做到。
2、多种导航形式
在一个工程里,Idea有很多种方法用于转换。除鼠标之外所有的命令都可以通过键盘实现(这一点对于像我这样难以忍受不停地切换到鼠标的人来说绝对不错)。Ctrl-n可以通过键入类名查找一个类。Ctrl-shift-n可以查找文件。Ctrl-e得到最近编辑的文件,通过键入文件名或者鼠标键选择。命令不仅可以容易地在你的工程两个视图里导航并且使整合操作变得轻而易举。Alt-f1可以是你在任何一个其他视图里选择当前文件。工程导航地方法太多在这儿不能全部列举。所有命令没必要像观点一样都给出概念。
3、 本地历史
开启本地历史,你源代码中的每一个改变(在tool和externally里)都被跟踪。这个特性救了我很多次所以我推荐它。不同的地方在一个绝对漂亮的差异查看器里高亮显示出来。
4、灵活的JUnit支持
单元测试可以独立运行。特殊的测试方法可以单独拉出来独立运行。Idea能够在一个包或者工程里自动运行所有测试而不需要手工启动一个麻烦的测试套件。在GUI运行器里的堆迹线上双击可以直接切换到源代码的相应行。就我个人认为我更喜欢文本运行器。它不但秀美而且速度更快功能更多。
5、设计优良的整合支持
Idea支持很多整合功能。更重要的使它们设计的好容易使用。有一些你会一直使用,也有一些几乎用不到。当你发现你需要他们时它们就成了一个大的时间节约器。
6、 代码助手
在Idea里有一些真正强大的代码编写助手。在这里我只能介绍给你一点它的好处。一个比较好的例子是“委托方法”助手。它允许你在你的类里面为一个对象实例委托方法调用。它并不是你每天都使用的东西,但当你需要它的时候你就会发现自己节省了大量的时间。另一个例子是产生冗余代码和等价特性。你会发现这是一个自己经常使用的特性。其他一些代码助手特性为:产生Getters/Setters,产生构造器与“surround with…”(译者注:被什么保护)等特性。
7、灵活的代码重格式化
关于代码怎样重格式化的选择有许多。它可以为每一个工程单独设置,所以没必要担心自己是否必须支持不同的代码标准。重格式化一个文件或者一个完整的工程眨眼间就可以完成。
8、 XML支持
Idea支持XML中的代码实现。如果没有定义图表或者DTD(文件类型定义)Idea将基于文件中已经包含的来实现。否则可能基于为文件定义的图表或者DTD来实现。Idea同时还会校正XML。
9、 直观简洁的GUI
更为好玩的是每一个程序中的函数都可以通过键盘访问的到。在一个开发工具里这是应该有的但可悲的是大多数IDE对键盘导航并不注意。
为了完成工作不必要在不同的视图之间切换,也不必要在不同的窗口之间选择了。
10、与文件系统自动同步
不管你的IDE是多么优秀,通常都需要在工具之外作一些工作。Idea在这一点上做的很好。大多数工程都可以在Idea里不用改变他们的结构就可以使用。Idea还可以检查文件在外部的更改情况。这不需要人工刷新以告诉Idea一个文件已被更改。
11、定制的键盘映射
Idea自带的默认键盘映射非常有用。如果有时需要改变也很容易做到。有些键也可以设置阻挡比如外来的工具与Ant目标等。
12、 动态的错误高亮显示
在键码时Java代码,XML与Java文档标签被动态解析,错误也会被报告。Ant建立文件甚至可为Ant工程句法提供额外支持。
13、 检查
运行代码检查以报告大量的代码中潜在的错误点。它可以编制成脚本以作为一个批量工作运行,结果也可以以网页的形式提交。
14、 完全理解JSP
Idea理解JSP的结构。作用于普通Java代码的众多功能同样适用于JSP(比如整合功能)。同时支持JSP调试。
15、灵巧的编辑功能
一些小技巧如键入匹配的引号及括号使得生活更加容易:)。
16、 支持EJB
Idea理解EJB,尽管它不包括对个别应用服务器的特殊支持。不管怎样最好与Ant一起使用。EJB支持容易使用而且实在-本来就是这样。
17、几乎没有向导
从前许多厂家都绑定大量的向导而不是设计一个简单易用的接口。虽然有向导但只是一个滥用的工具。Idea只包含了一个用于帮助创建新工程的向导,并且仍然能够创建一个对新手来讲容易使用的程序。
18、灵巧的模板
这些灵巧的模板是代码的片断,它们被用来做各种各样令人惊讶的事情。我第一次使用“iterate over collection”模板时就被震惊了。它不仅挑拣出正确的默认收集变量而且还知道我已经放进去了什么以及默认的方法。这个特性很难在纸上描述。下载一个测试版本试验一下吧。
19、最好的代码实现支持
Idea现在有三种代码实现支持包括实现默认得变量名称,JavaDoc以及其他代码细节。
20、集成Ant
Idea支持Ant建立工具。不仅是运行目标它还支持编译与运行程序前后运行目标,另外也支持绑定键盘快捷键。
在编辑一个Ant建立XML文件时,Idea还对组成Ant工程的XML部分提供支持。
21、未使用代码高亮显示
如果Idea检查出某一个变量或者方法没有被使用,它会把它作为一个不明显的警告显示出来。检查可用来做更详细的死代码分析。甚至JavaDoc标签也能被查出来。
22、小技巧
Ctrl-d复制选中的代码。如果没有选择则复制整行。在没有选择的情况下Ctrl-c拷贝一整行,Ctrl-x剪切一整行。
Ctrl-Shift-j会做一个想VI那样的连接,除非它是句法敏感的。比如有这么一行:
String s = "This is " +
" a split string";
连接之后成为:
String s = "This is a split string";
23、有规律的查找与替换表现
规律查找是可能的,但更美妙的事实是你也可以做规律替换。这一点可节约大量的时间。
24、快速JavaDoc
JavaDoc对任何一个标识符来说都可以通过Ctrl-q轻易地查看到。在编码实现期也可以访问。
25、意识动作
在Idea觉察到它可以通过某种方法帮助你时它会提供一些有用地选择。例如你要使用一个表达式使它可以与指定地变量相匹配,Idea会察觉到这一点然后给你一些选择,要么使用表达式要么改变你在使用地变量地类型。