如今IntelliJ已经走向开源,我认为审视它和其他流行的JAVA IDE——NetBeans和Eclipse的对比将得到有意义的结论(编者注:因为这三大IDE都已经开源,在无需付费这方面已经完全一致,所以功能的比较也能够趋于公平了)。我个人已经使用NetBeans和Glassfish好多年了,但是现在写这篇文章时我会尝试着不让长期使用这些Java IDE带来的影响搅扰我的判断。
1)代码格式化:
IntelliJ IDE,Eclipse IDE以及Java NetBeans IDE在代码格式化方面类似。这些技术能够格式化整个源文件、被选中的部分源文件以及用户特定的代码。
2)查找和替换:
所有这三种IDE都支持带大小写匹配和正则表达式等选项的查找和替换功能。
Eclipse包含了一个为实现查找和替换的通用对话框,这个对话框覆盖着编辑器的窗口。
IntelliJ具有一个实现替换的特殊对话框窗口和一个实现查找的快速自动弹起顶条。IntelliJ的设计很巧妙。
NetBeans 使用了相似的方式,但它的自动弹出窗口是在编辑器窗口的底部。
3)代码补全:
这三种IDE中都有相似的代码补全功能,同时它们的设计也是相同的。IntelliJ具有一个被称为“驼峰(Camel Hump)”的特性,其功能是在单词列表中查找合适的文本。
4)用户提示:
Eclipse:一个像灯泡一样的图标会出现在左边条上,左边条带有某行所对应的行号。当光标停留在这个灯泡图标上时,具有提示作用的解释文本就会弹出,同时一整列的解决方案随即就显示出来了。
IntelliJ:使用IntelliJ的用户需要在解决方安列的提示文本上手动点击来获得用户提示。
NetBeans:使用NetBeans时,用户需要在提供可能的解决方案提示文档上以滚动滑条的方法得到用户提示。
宏
NetBeans:Netbeans支持宏编辑和帮助。用户可以移动、重命名、编辑和设置快捷方式。幸运的是,每隔两个位置用户就可以为宏编辑快捷方式,但用户在没有设置快捷方式的情况下是不能够运行宏的。
InelliJ:在使用IntelliJ时,用户可以对宏进行记录、编辑和重命名。用户不能设置宏的快捷方式。一旦用户设置了宏名,那么宏就会被自动添加。
Eclipse:Eclipse IDE不支持宏特性。
5)语法高亮
所有这三种IDE都支持语法高亮。它们都允许用户改变预定义颜色。
6)代码导航
导航器的一些特性如下:
◆结构视图
◆过滤器
◆快速查找
◆弹出导航器
NetBeans IDE,Intellij和Eclipse支持结构视图、过滤器和快速查找。而NetBeans IDE和IntelliJ不支持弹出导航器特性,但Eclipse支持这项特性。
7)任务管理:
任务管理一些特定的子部分如下:
◆活动(active)源文件中的任务列表
◆项目中德任务列表
◆过滤
◆新任务定义
Eclipse:它具有经典的任务视图。它允许用户根据诸如描述、资源、路径、地点和优先级等可获得的域对任务进行分类。它支持工程中的任务列表,过滤以及新任务定义。
NetBeans IDE:-NetBeans IDE具有和Eclipse相同的任务管理方式。但是它不支持任务优先级。NetBeans IDE在不同的窗口中可以显示错误。
IntelliJ IDE:它具有一个任务树状视图,任务树的叶子是任务,节点是文件。从一个任务移动到另一个任务是个困难而复杂的过程。它的设置中有一个默认的TODO命令。
8)重构
重构的特定子部分如下:
◆Find用法
◆重命名
◆移动
◆安全删除
Eclipse IDE:Eclipse IDE支持find用法、重命名和移动特性。当一个用户打算改变或者重命名一个方法时,标示符将会被设置成高亮,用户继而可以改变相应的方法名。
IntelliJ: IntelliJ支持Find用法、重命名、安全删除和移动特性,在用户新命名、重构、预览和删除按纽之前,一个单视图会呈现在用户眼前。
NetBeans IDE:NetBeans支持所有四项功能(find用法,重命名,移动以及安全删除)。Netbeans的预览设计同Eclipse类似。但它的预览窗口是在屏幕下方显示,程序员浏览起来不大方便。
9)自动代码生成:
自动代码生成有两个字部分,它们是
◆构造器
◆设置器/获得器(Getters)
NetBeans IDE:NetBeans IDE支持函数构造器和设置器。
IntelliJ IDE:支持函数构造器和设置器。
Eclipse:Eclipse也具有类似设计,同时支持函数构造器和设置器,它还具有一些其他能力,比如设置插入点,进而可以在该点处生成代码。