扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:中国IT实验室 来源:中国IT实验室 2007年9月30日
关键字:
在本页阅读全文(共3页)
编辑
任何一款开发环境最基本的特征就是编辑器。你把大多数时间都花费在这里,因此编辑器应该舒适、界面友好,并且功能强大。自从Emacs以来,基本上每一款编辑器都内嵌了语言的公共资源的基本信息,这样它能够提供语法高亮。JDT使用Java模型走的更远。例如,它知道类和接口对象的区别,因此能够给它们标以不同的颜色。它甚至能够分析源码的注释,然后告诉你调用的方法是不是不推荐的,同时在调用的方法上画条线以强调这部分代码需要注意。
在这个Java编辑器中最有用的命令之一是Ctrl-Space(内容助手)。记不得某个对象的方法,或者如何拼写某个类名,那么请按Ctrl-Space。Eclipse会给你提供在给定点正确的所有候选项的列表。Eclipse 3.2继续改进这个特性。例如,你是否发现自己敲入过如“LongJavaName”的长标示符?现在你可以敲入“LJN”,然后按Ctrl-Space,Eclipse就知道你是什么意思。这叫做CamelCase completion(注:CamelCase是一种命名习惯,就是把多个单词组成一个词,并且每一个单词的首字母大写)。当搜索类型的时候(Ctrl-Shift-T)该方法也是有效的。
你是不是厌烦了敲入像“StringBuffer buffer = new StringBuffer()”这样的常见语句?你可以不必重复了。在3.2中,你可以这样输入:“SB”,Ctrl-Space,Space,Ctrl-Space,“= new ”,Ctrl-Space,“()”。这样只需敲16次而不是47次。那变量名字的前缀不同又怎样?没有问题――在Ctrl-Space之前敲入它即可。例如,在3.2中,“Element root”+Ctrl-Space自动完成为“Element rootElement”(见图1)。
图1 在3.2中内容助手(Ctrl-Space)通过对CamelCase支持和提供已经准备好的字符变的更智能
还有一个节省时间的途径。在3.2中,Ctrl-Space会根据你的使用方式动态地调整提示的顺序。因此,例如,如果你把ArrayList的实例赋给List变量,那么ArrayList建议就会排在最前面以便你更快地取得它。代码生成甚至在Javadoc中也起作用。因此你可以创建一个@links或者正则表达式而不需要记住那些冗长的名字。
你是否问过自己,“如果IDE足够智能,能够指出这行的错误,为什么它不能改正它呢?”。Eclipse有一个称作快速修补(Quick Fix)的特性,它做的要比那多。把光标移到有问题的那行上,然后按Ctrl-1,Eclipse会提供改正错误的建议。
Eclipse的每一次发布都会添加新的快速修补。例如,在3.2中,如果使用粗类型(raw types)时得到警告,把光标移到那行,按下Ctrl-1,然后选择“Add type parameters”来修改。同样是在3.2中,快速修补不仅能够修正同一文件中的许多常见问题,甚至能够处理多个文件,这样就不用对每一个问题分别进行处理。
另外一个我想提到的重要特性是“类型的重命名”(rename type)。你是不是也像我一样,经常把变量和方法命名成与类型相似。例如,如果你有一个Bar类型,或许你有一个叫做fBar的变量,一个叫createBar的方法(见图2)。问题是,如果你想把Bar进行重命名,那么其他许多地方也要被修改。然而在3.2中,根据类型的变化来改变那些与类型有相似名字的变量和方法变得很容易。这个神奇的重命名是3.2中我最喜欢的特性。
图2 当你在Eclipse 3.2中修改类型的名字时,它提供了修改与类型有相似名字的变量和方法的名字的途径
运行
在一些IDE中,你设置某个工程是主要工程,然后使用一个全局运行命令来运行程序。Eclipse的工作方式不同于此。在Eclipse中,你有个初始配置列表,包括运行,调试,测试代码的足够信息,如命令行参数,类路径,JRE版本等等。通过使用过滤和执行环境,Eclipse 3.2使得管理初始配置很容易。
过滤可以减少列出来的配置,使得出现的都是你感兴趣的。执行环境使得你可以描述Java运行时的相容性,你可以使用如“J2SE-1.4”这样普通的名字。Eclipse会选择满足或者超过你对环境要求的JRE。
你是否发现在开发的时候要多次进行测试?在3.2中,你可以同时运行多个测试,同时你也可以返回察看前一次运行的历史纪录。Eclipse 3.2同时也支持最新版――4.0版的JUnit。
团队合作
你是否发现自己在一行不知道是谁编写的,为什么在这里编写的代码处开始工作?Eclipse 3.2通过读取CVS历史纪录可以通过不同颜色的注释来展示谁在当前的文件作了什么改动(见图3)。悬浮的改动框显示了开发者的名字,日期和关于改动的注释。它也会高亮在同一版本中修改的文件其余部分。
图3 CVS Quick Diff注释用不同颜色显示了谁在这个文件里做了什么。悬浮的部分显示了改动的细节。
我相信你有这样的经历:你调用其他人的代码,这些都工作良好直到新版本的出现。那时你会得到过期警告或者错误,编译器错误,直到你根据它们的改动修正你的程序。Eclipse 3.2中有一个比较酷的特性称作“重构脚本”,这使得那些不再那么令人痛苦。
当然,重构只是意味着不改变其功能而修改源代码。例如,或许有个域名拼写错误,或者某个方法需要一个新的参数。如果你是被修改的代码的作者,那么Eclipse对自动操作这些改变提供了很好的支持。现在它也对使用者提供了帮助。
每一个重构操作都会被纪录在历史里。Eclipse 3.2使得你可以在脚本文件中纪录这些改变,然后在稍后使用。你可以在CVS中保存这些脚本,也可以在JAR文件中包含它们。这样,JAR的使用者在他们得到新版本时能够回放改动。这是不同于打补丁。补丁只会操作它们创建的特定的源文件。重构脚本可以操作使用被重构过的API的任意文件。
为了其他人使用,维护一个不断改变的API是个苦差事。现在Eclipse使得它变得容易。当你重命名一个方法,Eclipse 3.2会把老方法留在那里,把它标记为过期的,把它重定向到调用新方法,然后当你引入新的JAR文件时,生成的重构脚本可以自动地修改所有的调用者。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者