年 月 IBM 宣布捐出了价值 千万美金的开发软件给开放源码的 Eclipse 项目如此受青睐的 Eclipse 是什么样子呢如何使用呢?本文的第一部分会使你对Eclipse有一个初步的认识并且Eclipse这个号称未来能进行任何语言开发的IDE集大成者又将如何实现它的这一宏伟目标?第二部分介绍的Eclipse的插件开发将是其中的关键所在
Eclipse 是替代IBM Visual Age for Java(以下简称IVJ)的下一代IDE开发环境但它未来的目标不仅仅是成为专门开发Java程序的IDE环境根据Eclipse的体系结构通过开发插件它能扩展到任何语言的开发甚至能成为图片绘制的工具目前Eclipse已经开始提供C语言开发的功能插件更难能可贵的是Eclipse是一个开放源代码的项目任何人都可以下载Eclipse的源代码并且在此基础上开发自己的功能插件也就是说未来只要有人需要就会有建立在Eclipse之上的COBOLPerlPython等语言的开发插件出现同时可以通过开发新的插件扩展现有插件的功能比如在现有的Java开发环境中加入Tomcat服务器插件可以无限扩展而且有着统一的外观操作和系统资源管理这也正是Eclipse的潜力所在
虽然目前Eclipse项目还没有最后完成但从已有的版本中已经能领略到Eclipse设计主导思想和主要功能特点现在就了解Eclipse不但能使广大程序员对这款业界期望很高的IDE能一睹为快更为重要的是如果能参加到Eclipse项目的开发中或是阅读它的开放源代码这对广大程序员来说无疑是一个千载难逢的提高编程水平的好机会Eclipse计划提供多个平台的版本象WindowsLinuxSolarisHPUX和AIX以下只介绍Windows版本本文第一部分先介绍Eclipse的基本使用方法第二部分介绍如何进行Eclipse的插件开发
一.Eclipse简介
Eclipse是开放源代码的项目你可以到去免费下载Eclipse的最新版本一般Eclipse提供几个下载版本ReleaseStable BuildIntegration Build和Nightly Build建议下载Release或Stable版本笔者用的是Build(Stable版本)Eclipse本身是用Java语言编写但下载的压缩包中并不包含Java运行环境需要用户自己另行安装JRE并且要在操作系统的环境变量中指明JRE中bin的路径安装Eclipse的步骤非常简单只需将下载的压缩包按原路径直接解压既可需注意如果有了更新的版本要先删除老的版本重新安装不能直接解压到原来的路径覆盖老版本在解压缩之后可以到相应的安装路径去找Eclipseexe运行如果下载的是Release或Stable版本并且JRE环境安装正确无误一般来说不会有什么问题在闪现一个很酷的月蚀图片后Eclipse会显示它的缺省界面
图一乍一看起来Eclipse的界面有点象JBuilder但实际操作进程中会发现它更象IVJ毕竟开发Eclipse的主导用量是开发IVJ的原班人马(可参考)另外还值得一提的是Eclipse项目的参预者除了IBM以外还有象BorlandRational SoftwareRedHatMerant等一大批业界的姣姣者这也为Eclipse的未来奠定了良好的基础
下面将分别对Eclipse的各种特性作简单介绍包括文件存放开发环境编译与运行版本管理使用插件
. 文件存放
大多IVJ的初学者都对找不到Java源代码感到非常不适应因为IVJ把所有的源代码都存储到一个reponsitory库文件中想要得到文本格式的源代码必须用Export功能从reponsitory中导出源代码使用了reponsitory的IVJ对源代码的管理功能几乎达到极致正是这一点使得许多程序员对IVJ钟爱有加而Eclipse将源代码以文本方式保存却实现了IVJ对源代码管理的几乎全部功能并且还增加了一些新的功能能达到这一点不能不惊歎于Eclipse开发者的高超技巧
安装Eclipse之后在安装路径的下一层路径中会有一个workspace文件夹每当在Eclipse中新生成一个项目缺省情况下都会在workspace中产生和项目同名的文件夹以存放该项目所用到的全部文件你可以用Windows资源管理器直接访问或维护这些文件
将已有的文件加入到一个项目中目前有三种方式第一种是象在IVJ中的一样用IDE的File菜单中的Import功能将文件导入到项目中这也是推荐的方式第二种是从Windows的资源管理器中直接拖动文件到项目中第三种就是直接将文件拷贝到项目文件夹中然后在Eclipse的资源浏览窗口中选择项目或文件夹并执行从本地刷新功能(Refresh from locate)需要说明的一点是项目文件夹可以放在计算机的任何位置并且可以在Eclipse中用新建项目的方法将项目路径指定到已经存在的项目文件夹然后在Eclipse中刷新即可但要注意的是任何项目文件夹建立或指定目前都只能在Eclipse中用新建项目的方法来实现即使是在缺省存储项目文件夹的workspace路径下新建立一个文件夹在Eclipse环境中也是无法将它变成一个项目也就是说这个文件夹对Eclipse是不可视的
. Eclipse开发环境
和IVJ一样Eclipse开发环境被称为Workbench它主要由三个部分组成视图(Perspective)编辑窗口(Editor)和观察窗口(View)在下面的介绍中希望读者能知道Java视图Java包浏览窗口资源视图资源浏览窗口等区别(其实最主要的也就是要区别视图和窗口)以免在进一步的阅读中产生混淆图二是它们之间的关系结构略图
图二在图二中可以看出Workbench包含多个视图而每个视图又包含不同的窗口由于每个编辑窗口有很大的共性而且缺省情况它们都在同一区域中显示因此我们只在每个视图中标出一个编辑窗口以绿色表示观察窗口则各不相同这里以红色表示
下面首先介绍编辑窗口所有文件的显示和编辑都包含在编辑窗口里缺省情况下打开的多个文件是以标签(TagTable)方式在同一个窗口中排列可以用拖动方式将这些文件排列成各种布局方法是拖动某一个文件的标签(tag)到编辑窗口的边框当光标有相应的变化时再释放
当文件被加入到项目中后在资源浏览或Java包浏览窗口双击文件Eclipse会试图打开这个文件其中Eclipse内嵌的编辑器能缺省打开一些文件如*java*txt*class等等如果是其它类型的文件Eclipse会调用操作系统相应的缺省编辑器打开如word文档PDF文件等同时Eclipse也可以象IVJ一样用指定的编辑器打开相应的文件例如在Eclipse项目中双击HTML文件时可能希望是用Notepad打开而不是用系统缺省的IE浏览器打开实现的方法是打开菜单栏中的WorkBenchàPreferences对话框之后在对话框中选择WorkBenchàFile Editors然后添加文件类型如l再为其指定编辑器即可
在编辑窗口还值得注意的是习惯了IVJ的程序员在编辑Java程序的时候更愿意以方法为独立的编辑单位(即在编辑窗口中只显示单个的方法而不是程序全部的源代码)这种方式也的确是非常合理的开发方式不仅代码的显示更加简捷还能辅助程序员编出封装性更好的类在Eclipse在工具栏上提供了一个切换按钮可以在显示全部代码和只显示所选单元(这里的单元指的是单个方法变量导入的包等)之间切换(可参考下面的图三)建议没
有使用过IVJ的程序员也尝试一下在只显示所选单元状态下进行代码开发
其次要介绍的是观察窗口它配合编辑窗口并提供了多种的相关信息和浏览方式常用的观察窗口有资源浏览窗口(Navigator)Java包浏览窗口(Packages)控制台(Console)任务栏(Task)等等
浏览窗口和Java浏览窗口是观察窗口核心部分前者和Windows的浏览器差不多能浏览项目文件夹中的所有文件后者用来浏览项目中的Java包包中的类类中的变量和方法等信息在Java浏览窗口中可以通过用鼠标右键的菜单中的Open Type Hierarchy打开层次浏览窗口(Hierarchy)这个窗口非常实用它能非常清晰的查看类的层次结构类中的编译出错信息可以在任务窗口中查到同时它也可以成为名符其实的任务窗口向其中添加新的任务描述信息来跟蹤项目的进度控制台则主要用来显示程序的输出信息在调试程序的时候会有更丰富的观察窗口来帮助程序员进行调试如变量值察看窗口断点窗口等等
观察窗口是任何IDE开发环境的核心用好观察窗口是也就是用好IDE开发环境Eclipse提供了丰富的观察窗口能真正用好这些窗口恐怕要得经过一段时间的磨练
最后介绍视图一个视图包括一个或多个编辑窗口和观察窗口在开发环境的最左侧的快捷栏中的上部分显示的就是当前所打开的视图图标视图是Eclipse的最灵活的部分可以自定义每个视图中包含的观察窗口种类也可以自定义一个新视图这些功能都被包括在Perspective 菜单中在Eclipse的Java开发环境中提供了几种缺省视图如资源视图(Resource Perspective它也是第一次启动Eclipse时的缺省视图)Java视图(Java Perspective)调试视图(Debug Perspective)团队视图(Team Perspective)等等每一种视图都对应不同种类的观察窗口可以从菜单栏中的PerspectiveàShow View看到该视图对应的观察窗口当然每个视图的观察窗口都是可配置的可以在菜单栏中的PerspectiveàCustomize进行配置多样化的视图不但可以帮助程序员以不同角度观察代码也可以满足不同的编程习惯
. 编译与运行
在IVJ中调试功能非常强大多种跟蹤方式断点设置变量值察看窗口等等