WSAD的内建编辑器处于最突出位置而且是可定制的。它配备了代码格式校订、自动类型导入、标签定制和自动代码填充(也就是辅助编码)等功能。VisualAge中最招人恨同时也是最惹人爱的特性就是one-method编辑范例。在WSAD下,你可以选择一次编辑一种方法/属性或者一次就编辑全部类文件,这就和VisualAge和不一样了,不过两种视图工作起来还是一样的。
键盘映射则从编辑器中整个取消了,这或许会令许多用户感到失望的。Eclipse也有同样的问题。但差别是Eclipse对缺乏键盘支持这一情况已经做了文档化并进行了详尽的解释说明。而在WSAD下则提都不提了。
WSAD跟踪局部源代码的修改,提供了查看版本差别乃至回滚特定版本的方式。源文件的当前版本只是硬盘上的一个定期文件。同VisualAge不一样的是,WSAD下无须在代码库之间来回导入和导出文件。
WSAD的Classpath设置是对开发环境的重要改进,对那些采用同一类库的不同版本来维护多个应用程序的开发人员来说这一特性实在是太理想不过了。各个项目的Classpath是相互分离的。假如你想在WSAD项目中用到某些类,那么你尽可设置一个classpath变量并将其指向某个jar文件或目录即可。随后你就可以在自己的应用程序中映射该变量。
该系统的优点是你可以让各个项目拥有多个版本的同一类库。从而令系统的灵活性大大增加。你可以直接在项目的classpath中添加jar 文件和目录而无须采用工作台的classpath变量,图B显示了我的classpath设置。
图B
调试(Debugging)是单独的透视。这就是说,调试的屏幕设置可以在运行之间保存下来。多线程调试很简单和直观。WSAD调试的主要问题是你必须重启应用程序才能令代码修改生效。
Refactoring风头正劲,WSAD也有该特性。Refactoring高亮对象并从对象的context菜单中选择refactoring任务。然后出现的一系列对话框会指导你经过多个步骤完成任务。 Refactoring工具还能定位和修改其他类中对你的对象的引用。内建的refactoring 向导程序可以移动类、抽取方法和重新命名变量。
WSAD还有一个内建的to-do列表。这可不是常见的活动项目列表。因为to-do功能固化在了开发环境内,所以其用途大大增加了。比方说,你可以设置指定行上指定方法的to-do项目。当你双击to-do列表中的项目时即可打开相应的源文件并滚动到指定的行。在编辑器内会有一个图标表示某行关联to-do项目。假如你把鼠标置于图标之上就会显示出to-do项目的有关文本信息。而在源代码文件中则无须任何特殊的注释。
除了允许开发人员自己创建任务以外,WSAD还可以自动地创建任务。所有的编译错误和警告信息都同任务列表中的任务关联。当你解决问题之后,任务即自动地从列表中删除。
WSAD还存在一些问题不是很突出的bug,同时还缺乏一些用户希望得到的特性。正如我们先前说到的那样,键盘映射就没有。以下是其表现较弱的一些领域:
代码宏就是随时用到的小块代码,通过关键词的采用,它们会自动插入到文件中,同时在编辑Java源代码时则并不存在。不过,当你在用WSAD编辑XML、HTML或者JSP文件时可以用到代码宏。
自动缩排特性在工作中会出现问题。比如,当缩进设置为三个空格时,自动缩排却会缩进4个占位而非空格,结果插入的是tab标记。代码格式矫正会纠正这一问题,但从维护代码这一方面来说这样的情况是令人恼火的。重新对整个文件格式化绝对不是一个优秀的解决办法。
自动导入在采用代码助理的时候工作不正常,要不就是不显示该特性。当我从Code Assist 下拉列表中选择一个类的名字时,我希望这个导入的类能插入到当前的光标位置,而WSAD却插入了包括包名的类名。我也没有找到修改这一行为的设置。
总得来说,WSAD是相当稳固的。它拥有大多数现代IDE的特性,而且还包含了一些其他IDE所不具有的特性。比如局部源代码历史、refactoring、调试功能和集成任务管理器等等都有显著的改进。不过,缺乏键盘映射、宏代码和少量的bug还是说明该产品还存在一些需要改进的地方。如果你确实需要WSAD所提供的J2EE特性,那么WSAD是你绝佳的选择,否则还是采用更为成熟一些的Eclipse吧!