(IBM)Eclipse的使用简介及插件开发

(IBM)Eclipse的使用简介及插件开发
(IBM)Eclipse的使用简介及插件开发

China

搜索

: 在

只用 + - " " ( )

IBM 主页 | 产品与服务 | 支持与下载 | 个性化服务

developerWorks 中国网站 : Java : 所有的文章

Eclipse 入门-- Eclipse 的使用简介及插件开发

内容:

一.Eclipse 简介

1.文件存放

2.Eclipse 开发环境

3.编译与运行

4.版本管理

5.使用插件

二.开发Eclipse 插件参考资料关于作者

倪大鹏 (ndp@https://www.360docs.net/doc/ee6353893.html, )

2001 年11 月 IBM 宣布捐出了价值 4 千万美金的开发软件给开放源码的 Eclipse 项目。如此受青睐的 Eclipse 是什么样子呢,如何使用呢?本文的第一部分会使你对Eclipse 有一个初步的认识。并且,Eclipse 这个号称未来能进行任何语言开发的IDE 集大成者,又将如何实现它的这一宏伟目标?第二部分介绍的Eclipse 的插件开发将是其中的关键所在。

Eclipse 是替代IBM Visual Age for Java (以下简称IVJ )的下一代IDE 开发环境,但它未来

的目标不仅仅是成为专门开发Java 程序的IDE 环境,根据Eclipse 的体系结构,通过开发插件,它能扩展到任何语言的开发,甚至能成为图片绘制的工具。目前,Eclipse 已经开始提供C 语言开发的功能插件。更难能可贵的是,Eclipse 是一个开放源代码的项目,任何人都可以下载Eclipse 的源代码,并且在此基础上开发自己的功能插件。也就是说未来只要有人需要,就会有建立在Eclipse 之上的COBOL ,Perl ,Python 等语言的开发插件出现。同时可以通过开发新的插件扩展现有插件的功能,比如在现有的Java 开发环境中加入Tomcat 服务器插件。可以无限扩展,而且有着统一的外观,操作和系统资源管理,这也正是Eclipse 的潜力所在。

虽然目前Eclipse 项目还没有最后完成,但从已有的版本中已经能领略到Eclipse 设计主导思想和主要功能特点。现在就了解Eclipse 不但能使广大程序员对这款业界期望很高的IDE 能一睹为快,更为重要的是如果能参加到Eclipse 项目的开发中或是阅读它的开放源代码,这对广大程序员来说无疑是一个千载难逢的提高编程水平的好机会。Eclipse 计划提供多个平台的版本,象Windows ,Linux ,Solaris ,HP-UX 和AIX ,以下只介绍Windows 版本。本文第一部分先介绍Eclipse 的基本使用方法。第二部分介绍如何进行Eclipse 的插件开发。

一.Eclipse 简介

Eclipse 是开放源代码的项目,你可以到https://www.360docs.net/doc/ee6353893.html, 去免费下载Eclipse 的最新版本,一般Eclipse 提供几个下载版本:Release ,Stable Build ,Integration Build 和Nightly Build ,建议下载Release 或Stable 版本,笔者用的是Build20020125(Stable 版本)。Eclipse 本身是用Java 语言编写,但下载的压缩包中并不包含Java 运行环境,需要用户自己另行安装JRE ,并且要在操作系统的环境变量中指明JRE 中bin 的路径。安装Eclipse 的步骤非常简单:只需将下载的压缩包按原路径直接解压既可。需注意如果有了更新的版本,要先删除老的版本重新安装,不能直接解压到原来的路径覆盖老版本。在解压缩之后可以到相应的安装路径去找Eclipse.exe 运行。如果下载的是Release 或Stable 版本,并且JRE 环境安装正确无误,一般来说不会有什么问题,在闪现一个很酷的月蚀图片后,Eclipse 会显示它的缺省界面:

dW 全部内容

图一

乍一看起来,Eclipse的界面有点象JBilder,但实际操作进程中会发现它更象IVJ,毕竟开发Eclipse的主导用量是开发IVJ的原班人马(可参考https://www.360docs.net/doc/ee6353893.html,)。另外还值得一提的是Eclipse项目的参预者除了IBM以外,还有象Borland,Rational Software,RedHat,Merant等一大批业界的姣姣者,这也为Eclipse的未来奠定了良好的基础。

下面将分别对Eclipse的各种特性作简单介绍,包括:文件存放,开发环境,编译与运行,版本管理,使用插件。

1.文件存放

大多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是不可视的。

2. 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,然后添加文件类型,如*.html,再为其指定编辑器即可。

在编辑窗口,还值得注意的是,习惯了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进行配置。多样化的视图不但可以帮助程序员以不同角度观察代码,也可以满足不同的编程习惯。

3.编译与运行

在IVJ中调试功能非常强大,多种跟踪方式,断点设置,变量值察看窗口等等。这些在Eclipse中都也有提供。在本文下面介绍插件的时候,会结合例子更加详细的介绍如何使用配置项目环境,如何运行和调试程序。

在Java视图中,工具栏中有两个按钮,分别用来进行调试和运行。并且可能由于安装的插件不同Eclipse会存在多种运行/调试程序的方式,为了确定当前项目用那一种方式运行,需要在项目的属性选项中的设置LauncheràRun/Debug选项。通常我们需要用的是"Java Applicantion"方式。在这种方式下,如果当前位置是包含main()方法的Java程序,点击调试/运行按钮就会立即开始执行调试/运行功能。如果当前位置是在包或项目上,Eclipse会搜索出当前位置所包含的所有可执行程序,然后由程序

员自己选择运行那一个。

在目前的Eclipse的Release和Stable版本中缺省安装了插件开发环境(Plug-in Development Environment,即PDE,它本身也是一个插件),此时系统除了"Java Applicantion" 运行方式,可能还有另外两种方式:"Run-time WorkBench"和"Run-time WorkBench with Tracing",当用PDE开发插件的时候会用到这两种运行方式,在下面我们也有提到。

4.版本管理

可以把Eclipse的版本管理分为个人(或称为本地)和团队两种。

Eclipse提供了强大的个人版本管理机制,每一次被保存的更改都可以得到恢复。而且可以精确到每一个方法的版本恢复。操作也十分方便,在任何一个能看到所要操作文件的观察窗口中,例如资源浏览窗口,选中该文件,点击右鼠标键,选择Compare with或Replace with,如果是恢复已经被删除的方法则可以选择Add from local history,之后相应的本地历史记录就会显示出来,按照你的需求找到相应的版本就可以了。强大的个人版本管理功能为程序员提供了更多的信心:只管编下去,任何不小心的错误都可以恢复,在Eclipse下开发,是有"后悔药"的!

Eclipse缺省为版本管理工具CVS提供了接口,可以非常方便的连接到CVS服务器上。通过CVS版本管理,Eclipse为团队开发提供良好的环境。要连接CVS服务器需要先打开团队视图(Team Perspective),然后在Reponsitories观察窗口中点击鼠标右键并选择新建(New),在打开的对话框中可以填入要连接的CVS库所需要的信息,如CVS服务器类型,目前Eclipse支持三种方式:pserver、extssh和ext,还要填入用户名,主机名,密码,reponsitory地址等信息。

在Eclipse中使用CVS需要注意的是一些术语和功能的变化,CVS中的Branch这里被称为Stream,取消了CVS中check out、import和commit等功能,统统用鼠标右键菜单中的Team->Synchronized with Stream来替代。这些功能都通过图形界面完成,在每次操作中都会有当前文件和以前各个版本的比较窗口,操作非常直观,易于掌握,因此这里也就不再做进一步介绍了。

5.使用插件

使用插件可以丰富Eclipse的功能。下面将介绍如何应用插件来嵌入Tomcat服务器。这个插件并不是Eclipse项目组开发的,而是一家叫sysdeo的公司开发,非常小巧,只有27.8K。你可以到https://www.360docs.net/doc/ee6353893.html,/eclipse/tomcatPlugin.html去免费下载。另外,这个插件只支持Tomat4.0以上的版本,可以在https://www.360docs.net/doc/ee6353893.html,得到Tomcat的最新版本。

要安装插件只需将下载的zip文件按原路径解压到"你的Eclipse的安装路径\plugins"下面,然后重新启动Eclipse。启动后在菜单栏上选择PerspectiveàCustomize,在打开的对话框中选中OtheràTomcat。之后马上会发现Eclipse有了两处变化:菜单栏中多了一个Tomcat选项,工具栏中多了两个按钮,上面是大家可能非常熟悉的Tomcat小猫,如下图三。除此之外,在菜单栏中选择:WorkbenchàPreferences,打开对话框后会发现这也多了一个Tomcat选项,在这里要求指定你的Tomcat安装根路径。之后还要检查一下在Preferences对话框中的JavaàInstalled JRE所指定的JRE和启动Tomcat的JRE是否为同一个JRE,如果不是,可能会导致Tomat不能正常启动。如果以上检查没有问题,就可以用工具栏上的"小猫"直接起动Tomcat了。要注意的是,启动过程很慢,要耐心等到以下信息出现:

Starting service Tomcat-Standalone

Apache Tomcat/4.0.1

Starting service Tomcat-Apache

Apache Tomcat/4.0.1

之后就可以在外部浏览器(如IE)中输入http://localhost:8080来测试Tomcat是否正常。

图三

如果启动正常,可以进一步尝试在Eclipse中调试Servlet或JSP程序。下面我们将用Tomcat自带的Servlet例程HelloWorldExample.java来示范一下如何在Eclipse中调试Sevlet程序。

首先要在Java视图中新建一个Java项目,为了方便,可以直接将项目路径指定到HelloWorldExmaple程序所在路径,如图四:

图四

之后按"Next",进入Java Settings对话框,选择Libraries标签,并用Add External JARs按钮来指定Servlet.jar包的位置。这里直接用了Tomcat中的Servlet.jar包。如图五:

图五

最后,点击"Finish"完成项目的生成。在新生成项目中的default package可以找到HelloWorldExample.java,双击打开文件,并可尝试给HelloWorldExample加上一个断点(双击编辑窗口左侧边界)。之后在外部浏览器中输入http://localhost:8080/ examples/servlet/HelloWorldExample,再回过来看Eclipse发生了什么变化,是一个调试窗口呀!在Eclipse中进行的调试操作和绝大多数的IDE大同小异,如设置断点,单步跟踪,变量值察看等等,在这里也就不用再详述了。

二.开发Eclipse插件(Plug-ins)

Eclipse最有魅力的地方就是它的插件体系结构。在这个体系中重要的概念是扩展点(extension points),也就是为插件提供的接口。每一个插件都是在现有的扩展点上开发,并可能还留有自己的扩展点,以便在这个插件上继续开发。

由于有了插件,Eclipse系统的核心部分在启动的时候要完成的工作十分简单:启动平台的基础部分和查找系统的插件。在Eclipse中实现的绝大部分功能是由相应的插件完成的,比如WrokBench UI插件完成界面的外观显示,Resource Management插件完成维护或生成项目或文件等资源管理工作(在下面的第二个例子就会用到这个插件),而Version and Configuration Management (VCM)插件则负责完成版本控制功能,等等。虽然以上提到的每一个功能都是绝大多数IDE环境所必备的功能,Eclipse却也把它们都做成了插件模式,甚至用来开发Java程序的开发环境(Java development tooling,JDT)也只不过是Eclipse系统中的一个普通插件而已。整个Eclipse体系结构就象一个大拼图,可以不断的向上加插件,同时,现有插件上还可以再加插件。下面的插件开发示例就是在WorkBench UI插件中的观察窗口扩展点上开发的。

本文第一部分介绍过Eclipse的开发界面其中之一就是观察窗口,它通常配合编辑窗口显示一些有用的信息,在这里我们只简单生成一个显示欢迎信息的观察窗口,假设新插件的名子叫Welcome。

第一步,先用向导新建一个Java项目。我们可以在菜单栏选择FileàNew,或用工具栏的向导按键,或是在资源窗口用鼠标右键菜单中的New,打开向导对话框,然后用缺省方式创建项目。并在项目中建立一个Welcome.java文件,代码如下:

package com.nidapeng.eclipse.plugin;

import https://www.360docs.net/doc/ee6353893.html,posite;

import https://www.360docs.net/doc/ee6353893.html,bel;

import org.eclipse.swt.SWT;

import org.eclipse.ui.part.ViewPart;

public class Welcome extends ViewPart {

Label label;

public Welcome() {

}

public void createPartControl(Composite parent) {

label = new Label(parent, SWT.WRAP);

label.setText("Welcome to Eclipse");

}

public void setFocus() {

}

}

为使这个程序能正常编译,要配置它的编译环境,即指定所需的CLASSPATH。在Eclipse中可以用几种方法,常用的是两种:第一是在资源窗口或Java包窗口选中该项目,点击鼠标右键,在打开的菜单中选择属性(Properties),之后在属性对话框中选择Java Build PathàLibraries,用Add External JARs功能添加三个包,它们都是Eclipse的现有插件的类包,可以在"你的Eclipse安装路径\plugins"下面的相应路径中找到。分别是org.eclipse.core.runtime插件中的runtime.jar,org.eclipse.swt中的swt.jar和org.eclipse.ui中的workbench.jar。第二种指定CLASSPATH的方法是先将以上提到的三个包直接导入到Eclipse中的某下一个项目中。如果导入到和Welcome.java相同的项目中,则无需进一步指定CLASSPATH,否则需要在项目的属性菜单中选择Java Build PathàProjects,然后选中这三个包所在的项目。

在我们的项目中还要生成一个XML文件,它的名字必须plugin.xml。代码如下:

id="com.nidapeng.eclipse.plugin"

name="Welcome to Eclipse"

version="1.0"

provider-name="Ni Dapeng">

point="org.eclipse.ui.views">

name="Welcome"

id="com.nidapeng.eclipse.plugin.category1">

name="Welcome to Eclipse"

category="com.nidapeng.eclipse.plugin.category1"

class="com.nidapeng.eclipse.plugin.Welcome"

id="com.nidapeng.eclipse.plugin.view1">

在plugin.xml中一共有四个主要的标签:plugin,requires,runtime,extension。其中plugin标签的属性提供的是我们要开发的Welcome插件的基本信息,除了name,version,provider-name等,最重要的是id,它要求不能和现有的Eclipse插件id有冲突,因此我们用包名作为插件的id。requires标签中所列出的是需要的插件,这里我们要用到Eclipse Workbench和SWT

API,因此导入了org.eclipse.ui插件。runtime标签指明的是我们开发的插件所在JAR包的文件名。extension标签是插件扩展点的信息。org.eclipse.ui.views是Eclipse系统提供的观察窗口扩展点,我们的例子是一个观察窗口(View),这表明我们是要在 org.eclipse.ui.views扩展点上进一步开发。extension中还包括category和view两个标签,在后续的启动Welcome插件步骤中,我们就会知道这两个标签的含义。要注意的是category和view标签的id的唯一性,并且在view的属性中声明了Welcome 插件的类名。

在Eclipse中为plugin.xml提供了缺省可视化的编辑器,在编写plugin.xml过程中可以借助这个编辑器完成一些工作。如果你直接录入了plugin.xml文件源代码,还可以用这个编辑器校验你的代码:如果编辑器不能正确读入,就表明你的plugin.xml有一些问题。

在确认Weclome.java和plugin.xml都正确无误之后,可以用Eclipse菜单栏中的Export命令将Weclome.java导出为JAR文件,它的名子应该和plugin.xml中runtime声明的JAR相一致。同时导出plugin.xml。安装Welcome插件的方法和本文第一部分介绍的安装Tomcat插件方法是一样的:首先在"Eclipse的安装路径\plugins"路径下面建立一个com.nidapeng.eclipse.plugin路径,然后将Weclome.jar和plugin.xml拷到这个路径下。之后必需重新启动Eclipse,在Eclipse启动的时候,它会搜索所有在插件路径下的插件并注册它们(仅仅是注册,只有在需要某个插件的时候,Eclipse才会启动它)。在重新启动的Eclipse的菜单栏中选择PerspectiveàShow ViewàOthers,在打开的对话框中我们会找到在plugin.xml中extension的category标签中声明的name 属性:Welcome。在Welcome的支结点中包含了view标签name属性:Welcome to Eclipse。选中它并确认,Welcome窗口就会显示在Eclipse Workbench上的某个位置。如果在执行了以上操作,但没有显示新窗口,可以再次打开Show View菜单,此时在菜单中应该有新一顶选择:Welcome to Eclipse,然后选中它。

上面我们完成了一个观察窗口的插件,但这个操作过程对开发稍微复杂一些的插件就显得不太方便了:每次测试都要将代码打包,发布,再重新启动Eclipse系统!为此Eclipse提供了一个专门为开发插件而做插件(有点绕嘴):Plug-in Development Environment(PDE)。本文前面曾提到,目前Eclipse的Release或Stable版本缺省提供了这个插件,因此如果安装的Eclipse是这两个版本中的一个就可以直接进行下面的步骤。下面我们再用PDE环境开发一个稍微复杂一些的插件。

第一步仍然要新建一个项目,只是在向导中不是用Java项目,而是Plug-in Development中的Plug-in Project。在应用向导生成新项目的时候,要注意两点:第一是PDE的项目名称就是plugin的id,因此要保证它的唯一性,这里我们的项目名是com. nidapeng.eclipse.plugin.pde。其次为了进一步说明Eclipse插件的结构,在Plug-in Code Generators中,选择用向导模板生成一个缺省的插件,如图六:

图六

这个用缺省方式生成的插件类对于我们将要的代码并不是必需的,也可以用生成空插件的方式建立我们的项目,这样做只是

为进一步说明Eclipse的插件结构。

项目生成之后,在我们的项目中会包含一个PdePlugin.java文件,它就是以缺省方式生成的插件类。注意到它继承了AbstractUIPlugin类,而AbstractUIPlugin类实现了org.eclipse.ui.plugin接口。事实上,所有的Eclipse插件都会有一个相应的实现plugin接口的类,这个类将是新插件的主类(类似于有main()函数的Java类),它负责管理插件的生存期。在我们的AbstractUIPlugin继承子类中,可以用singleton模式来保存在Eclipse中的生成的该插件的第一个也是唯一实例,一般来说,在该继承子类中也要实现一个getDefault()方法以返回当前插件的实例。而且,当Eclipse首次使用该插件的时候,这个主类将是第一个被调用的类,因此我们也可以在它的代码中执行一些初始化的工作。而且如果插件需要使用Preferences,Dialogs或Images资源,也可以通过这个类中的相应方法来得到它们的实例,如用其中的getDialogSettings(),getPreferenceStore(),getImageRegistry()方法。

但是象前面提到的,PdePlugin.java对下面的例子并不是必需的,我们不用对它进行任何修改。在我们第一个例子中的Weclome插件,根本就没有生成AbstractUIPlugin的继承子类,此时系统会自动为Weclome插件生成一个缺省的主类(类似于Java类构造函数,如果没有声明,系统会指定一个默认的构造函数)。

下面的代码是才真正实现了我们新插件的功能,假设这个插件名子是NoticeView:

package com.nidapeng.eclipse.plugin.pde;

import org.eclipse.core.resources.*;

import org.eclipse.core.resources.IResourceChangeEvent;

import org.eclipse.core.runtime.CoreException;

import java.util.ResourceBundle;

import https://www.360docs.net/doc/ee6353893.html,bel;

import https://www.360docs.net/doc/ee6353893.html,posite;

import org.eclipse.ui.part.ViewPart;

import org.eclipse.swt.SWT;

import org.eclipse.swt.widgets.Display;

public class NoticeView extends ViewPart implements 

Runnable,IResourceChangeListener ,IResourceDeltaVisitor{

private ResourceBundle resourceBundle;

private Label label;

private Display disp;

private String dispTxt;

public NoticeView() {

ResourcesPlugin.getWorkspace().addResourceChangeListener(this,

IResourceChangeEvent.PRE_CLOSE

| IResourceChangeEvent.PRE_DELETE

| IResourceChangeEvent.PRE_AUTO_BUILD

| IResourceChangeEvent.POST_AUTO_BUILD

| IResourceChangeEvent.POST_CHANGE);

}

public static IWorkspace getWorkspace() {

//ResourcesPlugin插件的主类!

return ResourcesPlugin.getWorkspace();

}

public void createPartControl(Composite parent) {

label = new Label(parent, SWT.WRAP);

label.setText("change your project status...");

disp = Display.getDefault();

}

public void setFocus() {

}

// 实现IResourceChangeListener接口中的resourceChanged方法

public void resourceChanged(IResourceChangeEvent event) {

IResource res = event.getResource();

switch (event.getType()) {

case IResourceChangeEvent.PRE_CLOSE :

dispTxt = res.getFullPath() + " is about to closed!";

break;

case IResourceChangeEvent.PRE_DELETE :

dispTxt = res.getFullPath() + " is about to be deleted!";

break;

case IResourceChangeEvent.POST_CHANGE :

try {

event.getDelta().accept(this);

} catch (CoreException e) {

e.printStackTrace();

}

break;

case IResourceChangeEvent.PRE_AUTO_BUILD :

try {

event.getDelta().accept(this);

} catch (CoreException e) {

e.printStackTrace();

}

break;

case IResourceChangeEvent.POST_AUTO_BUILD :

try {

event.getDelta().accept(this);

} catch (CoreException e) {

e.printStackTrace();

}

break;

}

disp.syncExec(this);

}

// 实现IResourceDeltaVisitor接口中的visit方法

public boolean visit(IResourceDelta delta) {

IResource res = delta.getResource();

switch (delta.getKind()) {

case IResourceDelta.ADDED :

dispTxt = "Resource "+res.getFullPath()+" was added.";

break;

case IResourceDelta.REMOVED:

dispTxt = "Resource "+res.getFullPath()+" was removed.";

break;

case IResourceDelta.CHANGED :

dispTxt = "Resource "+res.getFullPath()+" has changed.";

break;

}

return true; // visit the children

}

// 实现Runnable接口中的run方法

public void run() {

try {

label.setText(dispTxt);

} catch (Exception e) {

e.printStackTrace();

}

}

}

象上面的第一个Welcome插件,这个新插件同样继承了ViewPart,不同的是实现了三个接口:Runnable, IResourceChangeListener ,IResourceDeltaVisitor。其中的Runnable大家应该很熟悉:多线程的接口。而IResourceChangeListener和IResourceDeltaVisitor是Eclipse系统中的资源接口,这里的资源是指Eclipse中的项目或文件等。在下面运行NoticeView插件的过程中你可以通过添加、打开、删除项目或文件来触发这两个接口中的事件,并在我们的观察窗口中显示相关信息。

在程序中比较奇怪部分的是在resourceChanged()函数里面,并没有象大家想象的那样直接调用label.setText()方法来显示信息,而是调用了disp.syncExec(this),其中的disp是Display类型的对象。这是因为resourceChanged()方法运行的线程和lable 所在插件运行的Eclipse主线程并不是同一个线程,如果直接调用label.setText()方法,会抛出一个异常。

下面还需要对项目中的plugin.xml进行一些改动,主要就是加上扩展点声明:

id="com.nidapeng.eclipse.plugin.pde"

name="Pde Plugin"

version="1.0.0"

provider-name="NIDAPENG"

class="com.nidapeng.eclipse.plugin.pde.PdePlugin">

id="NoticeView"

name="Notice View"

point="org.eclipse.ui.views">

name="Notice"

id="com.nidapeng.eclipse.plugin.pde.category1">

name="Notice Resource View"

category="com.nidapeng.eclipse.plugin.pde.category1"

class="com.nidapeng.eclipse.plugin.pde.NoticeView"

id="com.nidapeng.eclipse.plugin.pde.view1">

这个xml文件和Welcome插件的plugin.xml非常接近,这里就不做过多的说明了。

要运行这个插件,可以直接用Eclipse中的运行按钮,因为这个项目是一个Plug-in Project,此时项目会自动以Run-time Workbench方式运行。运行后,会生成一个和当前Eclipse完全一致的平台,在这个平台上可以直接运行NoticeView插件,查看这个插件到底会执行什么功能,也可以用直接Run-time Workbench方式调试插件。这里省去了安装插件,重启动Eclipse等过程,可以看到用PDE开发插件的过程比直接用Java开发环境简洁了很多!

Eclipse的开发不仅仅限于插件的开发,它还可以取代Java中的标准Swing,进行基于Java的独立应用程序GUI开发。它带来的好处是显而易见的:高速,资源占用低,跨平台,代码开放,有大公司的支持等等。

由于Eclipse目前还在开发阶段,笔者在用它调试程序时发现有些性能还不是十分的稳定,一些地方会遇到奇怪的问题,要求使用者能想一些办法解决。不过,以现在Eclipse的开发速度,相信过不了多久,它的各种功能会逐步完善。目前Eclipse虽然有种种不足,但瑕不掩玉,笔者对Eclipse的总体印象还是非常不错的,运行速度,资源占用都要好于IVJ,操作起来也大多顺手,而且即使在现阶段也很少有意外退出等重大的Bug发生,希望未来的Eclipse能真正达到IVJ的功能,VisualCafe的速度,成为广大程序员开发软件的一大利器!

参考资源:

https://www.360docs.net/doc/ee6353893.html,是Eclipse的资源总站。

关于作者

倪大鹏,有五年的软件开发经验,其中的近四年时间里是在从事与Java相关技术的应用与开发。你可以通过e-mail: ndp@https://www.360docs.net/doc/ee6353893.html,与他联系。

到页首

您对这篇文章的看法如何?

真棒!(5)

好材料 (4)

一般;尚可 (3)

需提高 (2)

太差! (1)

(c) Copyright IBM Corp. 2001, (c) Copyright IBM China 2001, All Right Reserved

关于 IBM | 隐私条约 | 使用条款 | 联系 IBM

eclipse使用技巧

代码篇: 1.在源代码中快速跳转: eclipse中的跳转甚至比https://www.360docs.net/doc/ee6353893.html,还方便,方法是按住Ctrl键,然后鼠标指向变量名,方法名,类名,就会出现链接,点击就可跳到定义处。 2.实时语法检查: 编辑区右侧如果有红色小方块,直接点击就可跳到有错的行;黄色小方块是警告,可以忽略,但最好检查一下;如果某个函数尚未完成,要提 醒自己注意怎么办?加上注释// TODO,右侧就会有蓝色小方块,提示你此处尚未完成。当一个源码的右侧没有任何提示时,说明这个文件已经 完成了。 3.自动生成getter/setter方法: 只需要申明protected,private类成员变量,然后在Package Explore中找到该类,右键点击,选择“Source”“Generate Getters and Setters”。 4.更改类名/变量名: 如果涉及到多处修改,不要直接在源码中更改,在Package Explore中找到要改名的类或变量,右键点击,选择“Refactor”“Rename”, eclipse会自动搜索所有相关代码并替换,确保不会遗漏或改错。 5.匹配Try: 如果写的代码需要抛出或者捕捉异常,在JBuilder中,你需要首先引入这个异常类,然后再在写好的代码前后加try,catch或者在方法后面加 throws,在eclipse里完全不必要这样,只需要写好代码,然后按ctrl + 1,这时会出来提示,提示你是throw还是catch这个异常,选择你需要 的,按下enter就可以了。 6.快速书写循环代码: 在写循环或者选择条件的语句时,先写出关键字如if、while,然后按alt + /自己去看有什么好处吧。接下来会出来提示代码,按下tab可以在 框框中跳,按下确定跳出代码提示。 热键篇: ctrl + D:删除行 ctrl + M:当前窗口的最大化或最小化 ctrl + L:跳到指定的行 ctrl + 1:代码纠错提示 alt + /:代码辅助提示 F11:运行上次运行的程序

Eclipse 3.4 安装及使用说明

Eclipse 3.4 安装及使用说明 1. 安装Eclipse 3.4 由于Eclipse是绿色软件,所以直接解压至任意目录即可(例如D:\eclipse)。 2.在Eclipse中安装tomcat插件 解压tomcatPluginV31.zip,获取com.sysdeo.eclipse.tomcat_3.1.0并直接复制到eclipse目录plugins文件夹下即可。如果插件安装成功,新建项目时(File->New->Project)会看到Tomcat Project,如图1所示,否则说明安装不成功。 图 1 接下来在Eclipse中配置Tomcat服务器。在eclipse的菜单中选择: Window->Preferences->Tomcat(没有安装Tomcat插件就不会出现这项),设置Tomcat

Version: 选择“Version 5.x”, Tomcat Home: “C:\Program Files\Apache S oftware Foundation\Tomcat 5.5\”,即Apache Tomcat的安装目录。 图 2 3.采用Eclipse开发简单的Web应用 3.1 创建新项目 新建Tomcat Project,项目名称为“testPrj”,如图3,单击Next按钮进入下一步,如图4,web服务应用根目录为“web”,单击Finish按钮完成项目创建。

图3

图 4 3.2 修改项目的配置及目录结构 单击如图5所示的下三角符号,打开弹出菜单,选择“Filters”,打开过滤器窗口,如图6所示,把“*.resources”项的勾选去掉以显示.classpath文件。打开该文件并进行修改:把“”修改为“”;把“”修改为“”,然后保存该文件。接下来删除“bin”文件夹,删除W EB-INF下的“s rc”文件夹,把“work”文件夹移至web目录下,在项目根目录下添加“s rc”和“test”文件夹,最后项目目录如图7所示。

eclipse 操作技巧

eclipse是一个基于插件的开源项目,功能很强大,除了java外,通过安装插件可以编写大多数常用语言,可以说是一个非常强大,全面的ide开发工具。所以这里有必要介绍一下它的一些使用技巧,便于开发。 这些技巧包括常用菜单、界面的操作和快捷键的使用。 ◆Eclipse可以建立多个工作区,每个工作区是一个文件目录,所有的相关文件都存放在 这个目录下,在启动时会有对话框提示选择工作区。启动以后看到的就是工作台,工作台包含多个透视图,每个透视图又包含多个不同的窗口。 ◆Eclipse可以设置文件的关联打开程序,操作方法: Window->Preferences->General->Editors->File Associations. ◆Eclipse可以以方法为独立的编辑单位和以类为编辑单位之间进行切换,操作方法:点 击按钮[show source of selected Element only]。 ◆Eclipse的窗口可以通过点击右上角的标签大小化、恢复的操作,类似于Window的操 作。 ◆Eclipse中可以实现目录折叠恢复功能,操作方法:点击视图上方的折叠、恢复标签。 ◆Eclipse提供了自动刷新功能以避免每次在Eclipse以外更改文件后手工刷新,操作方法: window->Preferences->General->Workspace->选中Refresh automatically。 ◆Eclipse中打开一个Java文件,鼠标点击一个元素(类、方法),会在Declarition窗口中 直接显示这个元素的源代码,类似于以前的Open Declarition功能(通过Ctrl+鼠标左键)。 另外还可以在Javadoc视图中显示这个元素的javadoc。 ◆Eclipse中可以显示行号,操作方法:Window->Preference->General->Editors->Text Editors->选中show line numbers。 ◆Eclipse提供了强大的Java代码格式化功能,配置方法:Window-Preference->Java->Code Style->Formatter。 ◆Eclipse提供了注释隐藏功能,可以通过Window-Preference->Java->Editor->Folding->选 中Enable folding配置,但是当隐藏后,调试代码时会出现代码行不一致的情况,所以还是建议不要使用此功能。 ◆Eclipse提供了所选元素动态高亮显示功能,选中一个元素以后编辑器中的该元素的所 有调用被高亮显示,配置方法:Window-Preference->Java->Editor->Mark Occurrences。 ◆Eclipse中浏览窗口主要包括:Navigator、Package Explorer、Project Explorer、Hierarchy、

Eclipse插件开发文档记录

Eclipse插件开发文档记录 一、参考网站 二、插件开发之基础篇(1) 名词翻译 有一些名词在翻译的过程中可能会出现歧义,在这里统一一下。 アーキテクチャ=architecture=架构 プラットフォーム=platform=平台 コンポーネント=component=组件 其余的随时补充。 的架构 Eclipse被作为java的IDE(集成开发环境)被广泛的应用,但是从本质上看Eclipse是一个整合了各种开发工具的平台。因此,它采用了可以自由的增加各种功能的插件架构技术。Eclipse平台的基本架构如图1-1所示。 图1-1 Eclipse的架构 在这里,在最底层位置的是作为Eclipse插件架构基干的OSGi运行时。虽然在早期的Eclipse版本中已经开始使用插件架构了,但是在的时候才首次引入了OSGi。OSGi是open services gateway initiative的简称、原本是一种为嵌入式硬件开发的,使网络上的服务提供者和使用者交互(結びつける)的注册服务。Eclipse使用OSGi来进行插件的管理。 OSGi运行时之上所有被配置的组件群都是以插件的方式提供的。SWT和JFa ce提供了用户接口(User Interface)的API。由于SWT和JFace并不依赖于Ecl ipse,也有可能被作为类库单独使用。Eclipse不仅把基本的用户接口作为工作台API(WorkBench API)提供出来,在后面要讲到的工作区(Workspace)内的资源通过资源API(Resource API)的形式也被作为基本API提供出来了。在这之上构建起了帮助系统以及基于更新管理器的自动更新等功能。

Eclipse使用方法[精髓]

附录C 3.2.2使用简介 C.3 使用开发工具进行编程 当下载并安装完毕Eclipse 3.2.2开发工具后,可以使用该开发工具进行代码的开发了,本节将使用该工具开发一段代码,介绍如何使用该开发工具进行编程,请按照如下步骤进行操作。 (1)首先打开Eclipse 3.2.2开发工具,稍等片刻之后,会进入到图C-8所示的界面,在这里将设置工程文件默认的存放路径。 图C-8 设置工程文件默认的存放路径 (2)本书选用默认路径作为工程文件的存放路径,当设置完成之后,就可以单击“OK”按钮,稍等片刻进入Eclipse 3.2.2的主程序。如图C-9所示。 图C-9 Eclipse 3.2.2主程序的欢迎界面 (3)这时可以将欢迎界面关掉,并单击“File” 菜单,将鼠标移动到“New”菜单项上,此时可以看

到图C-10所示的界面。 (4)在图C-11所示的“New”子菜单中选择“Project…”菜单项来创建工程文件,单击之后,会弹出一个图C-12所示的对话框。 (5)在该对话框中将选择所要创建工程的类型,可以选择“Java Project”选项,并单击“Next”按钮来进行创建。单击完“Next”按钮后,会进入图C-13所示的界面,在这里将设置工程文件的名称。 (3)可以在“Project Name”文本框中设置该工程的名称,例如这里将该工程的名称设置为“T est”,当设置完毕之后,可以单击“Fini sh”按钮完成设置。单击完“Fini sh”按钮后,可以在开发工具的主界面左侧看到本工程的工程树。如图C-14所示。 图C-12 选择工程文件的类型图C-13 设置工程文件的名称 图C-14 主界面中的工程树 (4)由于还没有创建文件,所以创建工程完毕之后,工程树比较空,这时可以为该工程创建代码文件,单击“File”菜单,并在其中“New”子菜单中选择“Class”选项。这样会弹出一个用来创建文件的向导提示框,如图C-15所示。

Eclipse完全手册

Eclipse 完全手册
Eclipse 是一个开放源码的、可扩展的应用开发平台,该平台为编程人员提供了一流的 Java 集成开发环境。作为一套开源工具,可用于构建 Web Services、J2EE 等各种类型的应用,其 所提供的功能不亚于、甚至要超过由专业的集成环境供应商所提供的商业化产品,如 JBuilder。
Eclipse 最有魅力的地方就在于它的插件体系结构。在这个体系中重要的概念是扩展点 (extension points),也就是为插件提供的接口。每一个插件都是在现有的扩展点上开发的, 并可能还留有自己的扩展点,以便在这个插件上继续开发。
由于有了插件,Eclipse 系统的核心部分在启动的时候要完成的工作十分简单:启动平台的 基础部分和查找系统的插件。在 Eclipse 中实现的绝大部分功能是由相应的插件完成的,比如 WrokBench UI 插件完成界面的外观显示,Resource Management 插件完成维护或生成项目或 文件等资源管理工作,而 Version and Configuration Management(VCM)插件则负责完成版 本控制功能,等等。虽然以上提到的每一个功能都是绝大多数 IDE 环境所必备的功能,Eclipse 却把它们都做成了插件模式,甚至用来开发 Java 程序的开发环境(Java development tooling, JDT),也只不过是 Eclipse 系统中的一个普通插件而已。整个 Eclipse 体系结构就像一个大拼 图,可以不断地向上加插件,同时,现有插件上还可以再加插件。
虽然大多数用户很乐于将 Eclipse 当做 Java IDE 来使用,但 Eclipse 的目标不仅限于此。 Eclipse 平台为工具提供者(Tools Provider)提供一套使用机制和一组需要遵循的规则,从而使 得开发出的工具之间可以实现无缝的集成。这些机制通过定义良好的 API 接口、类和方法提供 给用户使用,平台同样为新的工具的开发提供强有力的组件支持(如 Plug-in Development Environment,PDE——插件开发环境)。主要针对希望扩展 Eclipse 的软件开发人员,因为它 允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有 同等的发挥场所。
这种平等和一致性并不仅限于 Java 开发工具。尽管 Eclipse 是使用 Java 语言开发的,但 它的用途并不限于 Java 语言;例如,支持诸如 C/C++、COBOL 和 Eiffel 等编程语言的插件已 经可用, 或预计会推出。 Eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础, 比如内容管理系统。

Eclipse用户界面指南

简介 本文是一篇介绍Eclipse 用户界面设计指南的文章。 Eclipse是一个通用的工具平台——一个可以用来做任何事情的开放,可扩展的IDE。它的真正价值来自工具插件,它能够“教”Eclipse怎样和其他东西协同工作-Java文件,Web内容,图片,视频-几乎是你能够想到的任何东西。Eclipse 使你能够独立开发出软件工具,能够和其他工具无缝集成,并且你不用知道一个工具在哪里结束而另一个在哪里开始。我们所熟知的工具的最初概念这里则完全消失了。 这个平台非常灵活而且可扩展性强,,但这个灵活性也有一个严重的缺点。特别是程序无法保证平台内的已注册组件的用户界面一致性。本文试图为组件创建定义标准用户界面指南,从而解决这个问题。如果你在自己的工具中采用了这些指南,就可以很好地保证和平台及其他工具的一致性,并且对于你的用户来说更容易理解。 这些指南主要供Eclipse用户界面的设计者和实现者使用。 Workbench 首先,让我们来看一下Eclipse workbench用户界面,和它里面的各种组件。 Workbench是多个窗口的集合。每个窗口包含菜单栏,工具栏,快捷方式栏,以及一个或者多个透视图。

透视图是一个包含一系列视图和内容编辑器的可视容器。视图完全存在于某个透视图中而且不能被共享,而任何打开的内容编辑器可以在透视图间共享。如果两个或者多个prespective打开了同样的视图,他们共享这个视图的同一个实例,虽然在不同透视图之间视图的布局可能不同。对于不同的 Workbenck窗口中的透视图,编辑器和视图都不能共享。一个透视图就好像是一本书里面的一页。它存在在一个窗口中,并且和其他透视图一起存在,和书中的一页一样,每次你只能看到一个透视图。 Workbench的主菜单栏通常包括File,Edit,Navigate,Project,Window,Help 这些顶层菜单。其他的顶层菜单位于Edit和Project菜单之间,往往是和上下文相关,这个上下文包括当前活动的透视图,最前面的编辑器(不管是否活动)以及活动视图。

Eclipse插件开发之Wizard的学习与创建

本篇文章主要介绍了"Eclipse插件开发之Wizard的学习与创建",主要涉及到Eclipse插件开发之Wizard的学习与创建方面的内容,对于Eclipse插件开发之Wizard的学习与创建感兴趣的同学可以参考一下。 Wizards的学习与创建 第一章wizard了解 一个Wizard主要由Wizard Dialog、Wizard、Wizard Page三部分组成,如图。 其中Wizard Dialog定义了Wizard中的按钮并管理所提供的向导项页面;Wizard用于控制向导中的外观和行为;Wizard Page定义了向导项页面显示内容的控制机制。 Eclipse提供的三个扩展点: 新建向导org.eclipse.ui.newWizard 导入向导org.eclipse.ui.importWizard 导出向导org.eclipse.ui.exportWizard 第二章wizard的创建实例 下面将以org.eclipse.ui.newWizardsd的使用为例,创建wizard。 通过FileàNewàProjectàPlug-in DevelopmentàPlug-in Projectà输入项目名—>模板选择Coustom plug-in wizard—>可选模板都不用àfinish。 创建plugin.xml和如图所示的类。 主要包括向导类(MyNewWizard)和向导页面(可多个,实例中FirstWizardPage和SecondWizardPage)。 向导类继承Wizard类并实现INewWizard接口。 想到页面类主要是继承WizardPage类。 这两个类的常用方法见附录 plugin.xml 内容如下所示 id要求唯一,category的显示参考下图。

Eclipse使用指南

Eclipse使用指南(北京)技术有限公司

1 修订记录

2 目录 1修订记录 (1) 2目录 (1) 3概述 (1) 4基本操作 (1) 4.1常用的快捷键 (1) 4.2设置T ask (2) 4.3eclipse.ini配置 (2) 4.4代码模板 (2) 5插件 (3) 5.1Subversion插件 (3) 5.2Tomcat插件 (4) 6常见问题解答 (4) 6.1Javaw.exe启动有问题 (4) 6.2Ant不能执行 (4) 6.3ant超时解决办法 (4) 7参考资源 (5) 7.1插件地址 (5)

3 概述 本文是关于Eclipse的使用指南。内容包括:eclipse配置、快捷键的使用、使用建议、代码模版的配置、相关参考资源等。 4 基本操作 4.1 常用的快捷键 它可以大大的增强您的开发效率,要想成为高手的必备技能之一。 对于一个仅仅知道几个快捷键的选手,不要急于一天就能掌握所有的操作。可以每天重点使用几个,对于一个java程序员,几周就可以熟练掌握。 1. Alt+shift+s 操作source源代码的一些方式 2. F4 查看类的结构和继承关系 3.可以用Ctrl+shift+L可以查阅,它能增加巨大的效率。 4. Ctr+H:查找具体的类 5. F3 :等价于Ctr+被选中的某个单词 6.Ctrl+/:可以在选中一定的区域后,可以直接的全部加上注释。Ctrl + shift +/可以注释块。 7. Tab+shift:按钮可以跳tab距离。 8.全部选中+tab:可以向前跳置tab的距离。 9. F5和F6:是常用的调试按钮。非常的有用。 10.F4:在选中的类中可以查看类图的集成结构。 11.Shift+鼠标右键,可以选择一行,比直接的按住右键好用多了。 12.Ctr + Shift + o organize import 非常的好用。 13.Ctr + o Quick outline 14.Ctr + Shift + e 在单独的窗口中。列出当前所有的文件, 15.Ctr + T 查询调用该函数父函数。比F4好用。 16.Alt + shift + R 重命名选中的函数rename 17.Ctr + F3 可以查看类

Eclipse与ClearCase结合使用方法

eclipse与clearcase结合使用方法 ClearCase开发eclipse项目(二) 为User2 设置工作区域以访问由User1 所共享的模型 在本节章,User2 将通过创建一个web视图并在其工作空间中导入Piggy Bank UML 项目,来设置他个人的工作区域。要创建一个视图并导入此共享的Piggy Bank 建模项目,请遵循以下步骤: 1.启动User2 的客户端机器上的Software Architect。 2.当收到提示时,选择你的工作空间或者创建一个新的工作空间。 3.这会激活Software Architect 中的ClearCase Remote Client。为得到更多信息,参见 前面的在Software Architect 中激活ClearCase Remote Client 一节(由User1所执行)。 4.从Software Architect 中的ClearCase 透视图创建一个新的ClearCase Web 视图 (命名为baseccrc_view2)。为得到更多信息,参见在Software Architect 中创建一个ClearCase Web 视图,并加载Base ClearCase VOB 工件。 5.在Software Architect(ClearCase透视图)中的ClearCase Navigator 视图中,右键点 击baseccrc_view2 并选择Update Resource(如图21所示)以将UML Project 工件获取到你的本地Web 视图(baseccrc_view2)中。 图21:将UML Project 工件获取到你的本地Web 视图

Eclipse插件安装方法总结

第一种方法很简单,在Eclipse的主目录(%ECLIPSE_HOME%)下有一个plugins目录和features目录。将插件解压缩后,在解压缩后的文件夹里一般可以看到plugins文件夹,有的插件解压缩后还可以看到一个features文件夹。一般将plugins文件夹下的内容直接拷贝到%ECLIPSE_HOME%\plugins目录下,如果解压缩后的插件目录下还有features文件夹,则把该文件夹下的内容也拷贝到%ECLIPSE_HOME%\features下。重新启动Eclipse之后就可以使用刚刚安装的插件了。如果不能使用插件,可能是因为插件还未启用。可以到Help/Software Updates/Manage Configuration下将“Disable”的插件“Enable”即可。这种插件安装方式简单、快捷,但是有缺陷,若插件太多,会使内容非常混乱,而且分不清哪个是系统自带的,哪个是以后安装的。当安装了许多插件之后,Eclipse变的很大,不便于更新和管理众多插件。每次重新安装Eclipse,就要花时间来安装那几个常用的插件。 第二种方法也很简单,它主要借助于Eclipse的向导来安装插件。通过Help/Software Updates/Find and Install,在弹出的菜单中选择“Search for new features to install”,点“Next”,在下一菜单中选择“New Local Site”或“New Archived Site”,找到你下载的插件所在目录,选中安装即可。这种方法安装插件比较安全,不易出错,缺点就是对于插件的要求也比较挑剔,所以能够支持这种方式安装的插件也比较少。一般要求插件目录下不光有plugins和features文件夹,还要有site.xml文件(site.xml是进行自动安装的配置文件,eclipse会根据文件的信息自动安装插件)。支持J2ME开发的EclipseME插件就是通过这种方式安装的。 第三种方式就是在Eclipse主目录下创建一个links目录,然后将你自己的插件放在你想放的任何地方,这个时候你放插件的目录就是插件目录(%PLUGIN_HOME%),然后在你的%ECLIPSE_HOME%\links\目录下创建一个link文件,比如要安装一个vss插件,可以在links目录下创建一个vss.eclipse.link文件,link文件的名称随便取。这个vss.eclipse.link 文件指向的存放vss插件的目录(%PLUGIN_HOME%)。假如你的vss插件的zip/rar文件解压缩后放在C:\eclipse_plugins\vss.eclipse下(如果是插件是jar文件则可以不用解压缩),则vss.eclipse.link文件的内容就应该是:path=C:\\eclipse_plugins\\vss.eclipse。注意:path所指的文件路径一定要增加一个“\”转义符来分开。以这种方式安装插件要有一定的讲究。即:插件目录下面一定要有eclipse目录,然后在eclipse目录下分别建立features 和plugins。例如:如vss.eclipse.zip解压成vss.eclipse目录,这个目录包含一个plugins 子目录。先在vss.eclipse目录中新建一个子目录eclipse,然后把plugins目录移动到刚建立的eclipse 目录中,然后再在刚刚建立的eclipse目录下建立一个features目录。即目录结构要是这样的:C:\eclipse_plugins\vss.eclipse\eclipse\plugins、 C:\eclipse_plugins\vss.eclipse\eclipse\features。其它压缩文件解压后若已经包含 eclipse\plugins、eclipse\features目录,则不需要建立eclipse目录结构。启动Eclipse后,Eclipse会到link文件指定的目录下去查找eclipse\features 目录和eclipse\plugins 目录,看是否有合法的功能部件和插件。也就是说,目标目录必须包含一个\eclipse 目录。如果找到,附加的功能部件和插件在运行期配置是将是可用的,如果链接文件是在工作区创建之后添加的,附加的功能部件和插件会作为新的配置变更来处理。对于第三种方式的说明: 1. 插件可以分别安装在多个自定义的目录中; 2. 一个自定义目录可以安装多个插件; 3. link文件的文件名及扩展名可以取任意名称,比如ddd.txt,myplugin都可以; 4. link文件中path=插件目录的path路径分隔要用“\\”或是“/”; 5. 在links目录也可以有多个link文件,每个link文件中的path参数都将生效; 6. 插件目录可以使用相对路径;

Eclipse for C++使用说明

Eclipse(for C++)使用说明 1、启动eclipse,在命令行中输入eclipse,出现窗口,如下图所示: 2、添加工程 在file菜单中选择import,出现窗口如下: 3、在General下选择Existing Projects into Workspace,单击next,出现如下窗口:

4、点击Browse,选择工程位置,出现下图所示 5、单击Finish,工作区如下图所示:

6、修改build选项,有两种方法 方法一:在项目名称上单击右键,选择Properties 方法二:选中项目,在菜单栏,选择Project/Properties 出现下图: 在左边选择C/C++ Build,修改Build directory:选择File system,选择makefile所在的文件夹,点击OK 7、在菜单栏选择Project/Build All,整个项目开始编译,如下图所示:

8、Run,在菜单栏选择Run/Run Configurations,出现窗口如下: 选择Arguments,点击File System,然后选择可执行文件所在目录,点击Apply,Close 然后在工具栏点击,程序即可运行 9、Debug 在Project explorer中,选择可执行文件,然后在菜单栏选择Run/Debug As,出现如下对话框,或者在工具栏点击图标,配置如下图:

点击OK,会弹出如下窗口: 选择Yes,整个工作区将切换到debug模式,如下图所示:

10、切换工作区视图 11、其他 A、查看函数的定义,按下CTRL键后,将鼠标移动到函数名称上左键单击,即可跳转 到函数的定义处。 B、如果想返回到上一视图,在工具栏点击 C、将鼠标移动到函数定义处,然后按下F2键,即可在浮出的窗口中查看该函数的代码 D、在左边Project explore中双击文件,即可在工作区中打开该文件进行编辑 12、在Eclipse中使用CVS 在项目名上单击鼠标右键,在弹出的菜单中选择Team,会出现相关选项

Eclipse插件RCP中文入门教程

RCP中文入门教程 赵阳 2005.12.26 简单地讲, 一个RCP应用就是一个可独立于Eclispe IDE开发环境运行的Eclipse 插件. 下面我们以一个简单的例子开始我们的RCP旅程. 一、新建插件工程 因为RCP应用本身就是一个Eclispe插件, 所以从新建一个Eclispe插件工程开始. 1)启动Eclispe, 从Eclispe的 File菜单创建一个插件工程: File à New à Project à Plug-in Development à Plug-in Project 点击Next, 进入New Plug-in Project插件向导: 在Project Name中输入工程名称:simplebrowser (最好小写) 勾选”Create an OSGi bundle mainfest”使用OSGi打包清单. OSGi是Eclipse 3.0 以上版本用于动态装载插件的标准, 在Eclipse 2.1中是不需要的. 最好选中它. 点击Next按钮.

修改Plug-in ID 及其他插件属性值. 这里采用默认值, 在”Rich Client Application”一栏中, “Would you like to create a rich client application ?”一项选择”Yes”设置创建的插件为RCP应用. 点击Next. 在模板中选择最基本的Hello Rcp模板, 点击“Finish”按钮, Eclispe将会创建一个简单的RCP应用并且自动打开插件清单编辑器的主页面. 在这里你可以方便的配置你的RCP应用, 免去手工编写和修改配置文件的麻烦.

Eclipse常见问题及解决方法

、修改字体大小 二、修改代码的背景颜色 先取消这个勾 备注:个人觉得看代码看久了眼睛会很累,所以建议把字体调大点和 背景颜色改成比较暗的比较好。 _r 二一- J * r 七 - 三、修改项目的编码格式。(防止导入项目出现中文注释乱码) 备注:这招不是万能的,有可能这样设置了还是产生中文乱码。 选择自己喜欢的颜 色, 或者自定义颜色

四、导入项目出现中文注释乱码的解决方法。 1.中文注释乱码症状: 2.解决方法:安装系统文件浏览器插件。 下载地址 3.安装方法:(文件插件,复制到你ecli pse安装目录下的plug ins文件夹内, 重启eclipse,就会在工具栏内有个快速打开图标)如图: 4.使用方法:(点击文件,在点插件的图标) 进入文件路径后,选中文件,用记事本打开: 用记事本打开文件后,全部复制代码,再回到ecl ip se里, 全部代替有乱码的代码,就行了。 五、还有几种出现错误的情况: 1.导入项目,工程文件显示有个红色的X,但没有具体显示 哪里错了。只显示下面这句话: An droid requires comp iler comp lia nee level or . Foun d" in stead. Please use An droid Tools > Fix Project Prop

erties. 解决方法:选中文件,右键->android tools->fix project properties 如下图: 2.导入文件,工程文件有个红色的叹号,或者没有生成文 件。 解决方法:clea n —下出现问题的工程。 3.找不到activity 类: Un able to find exp licit activity class {xxxx} 解决方法:在中增加activity 的申明,如: vactivity an droid: name=".xxxActivity" > 这里选中需要 clean 的工程。 六、Eclipse下的调试技巧 断点大家都比较熟悉,在Eclipse Java编辑区的行头双击就会得到一个断点,代码会运行到此处时停止。 条件断点,顾名思义就是一个有一定条件的断点,只有满足了用户设置的条件,代码才会在运行到断点处时 停止。 在断点处点击鼠标右键,选择最后一个"Break poi nt Prop erties" 断点的属性界面及各个选项的意思如下图, 2、变量断点

Eclipse 插件开发 -- 深入理解菜单(Menu)功能及其扩展点

引言 Eclipse 具有丰富的菜单功能,给开发人员提供了很好的用户体验。总体而言,Eclipse 菜单种类包括视图/ 编辑器菜单,主菜单(Main Menu),视图/ 编辑器菜单(ViewPart/EditorPart Menu)和上下文菜单(Context Menu)。插件开发人员通过灵活应用这些菜单,可以给用户提供很好的体验。由于视图和编辑器菜单功能类似,因此本文重点讲述视图菜单(视图下拉菜单及其工具栏菜单),除此之外,还将讲述主菜单和上下文菜单。 如图1 所示为Project Explorer 视图的菜单,包括视图下拉菜单和工具栏菜单(折叠树节点)。通常而言,出现在视图工具栏的菜单都会出现在视图的下拉菜单,也就是说,比较常用的视图菜单放在视图的工具栏。 图 1. Project Explorer 视图的菜单 如图2 所示为Project Explorer 视图中的上下文菜单,只有当我们右键点击时才会出现。通常而言,出现频率较高的菜单项才会出现在菜单中。上下文菜单具有很强的灵活项,它可以随着我们点击的对象不同,弹出的菜单也会有相应的变化。 图 2. Project Explorer 视图中的上下文菜单

如图3 所示为Eclipse 的主菜单,包括最上面的主菜单项(不可移动)及其下面的工具栏菜单(可以移动,并且Eclipse 提供了显示/ 不显示这些菜单的功能),Eclipse 并不建议我们为每一个插件都添加新的主菜单,这样容易造成冗余,而且不方便用户操作。通常,我们可以把菜单项添加到Eclipse 已有的菜单,如插件的查找功能可以添加一个查找菜单项到Eclipse 的Search 主菜单上。 图 3. Eclipse 的主菜单 前面讲到Eclipse 的各种菜单,那么,如何在开发插件或RCP 应用程序的时 候添加这些菜单?本文下面的篇幅将详细介绍如何扩展Eclipse 的菜单功能, 使读者深入了解Eclipse 的菜单功能,并能够开发具有这些菜单的应用程序。 因此,必须掌握三方面的内容:菜单种类,菜单的扩展点,菜单控制(显示/ 隐藏或启用/ 禁用菜单项)。下面从概念上介绍这三方面内容,下一小节将会进 行详细介绍。 菜单种类 正如前面所讲到的,Eclipse 的菜单包括视图菜单,主菜单及上下文菜单三个种类。 菜单项的扩展点 Eclipse 提供了两种扩展点供用户添加菜单项到相应的位置。这两种扩展点为https://www.360docs.net/doc/ee6353893.html,mands(本文简称为Commands 方式)和 org.eclipse.ui.actionSets(本文简称为Actions 方式)。Actions 方式为界面上不同区域的表现方式提供了相应的扩展点,并且没有分离其界面表现和内在实现。恰恰相反,Commands 方式通过三步有效的达到界面表现和内部实现的分离:

Eclipse操作指南

Eclipse操作指南和地质建模数据附录 第一部分Eclipse操作指南 一功能介绍 ECLIPSE100是一个全隐式,三维、三相,还包括天然气、凝析油选项功能综合的黑油模拟软件。 Eclipse的输入资料是用关键字系统自由格式输入的。任何标准的编辑程序都可以编辑输入文件。EDIT是一个可供选择的专门用于屏幕编辑的Eclipse编辑程序。当数据输入后,EDIT程序能检查输入数据。 Eclipse软件提供的角点模型和常规筷中心模型非常实用,在一、二和三维模拟中,径向和笛卡尔块中心点模型也都很有用。三维径向模型能模拟0~360o界面上的圆形流动(关键词COORDSYS)。 Eclipse角点模型是唯一的能对正确代表油藏最复杂的几何地质图形进行模拟。前处理程序FILL和GRID常用来准备eclipse油藏模拟的角点数据。独立图形的处理GRAF和GRID 程序能用多种方法显示网格。例如,在进行大型的三维模拟时,用户可要求同时显示在XZ 方向的多条横剖面。网格的平面透明覆盖图是十分有用的,它能正确地对地质平面图进行检查。 Eclipse软件有一套综合的单井控制选择程序。生产井能在给定的油量、水量、液量、气量、油藏流体废弃产量、井底压力和井口压力等数值下进行运算。油藏工程师应对上述数值中一项定出一个目标值,而对其余数值的各项定出限制值。生产井只要不超过限制,在规定的目标下工作。若一个限制值将要超越他的限制界限,那么生产井将自动改变它的控制模式,使井保持在允许的限制条件下工作。效率系数还可用于考虑正常的停产时间。该程序将能计算处于正常流动条件下的流量和流动压力,但累计流量按照有效系数进行扣除。这有助于历史拟合的全过程,生产井可处于另处一种控制类型。输入这些井实际生产的油、气和水量,使井处于相同的产液量的条件下生产,这样,甚至当含水率和气/油比不完全拟合时,压力下降的速度也是大致正确的。实际生产的和计算的这两个产量都可以编入汇总文件,以便进行图形对比。 二建模 1 建立实际模型(Flogrid建模) 煤层气产能数值模拟是跟实际的地质情况紧密联系的,在煤层气田地质和开发资料数据充足的情况下,需要建立包含各种地质参数的三维地质模型,在此基础上全面布井(虚拟井),进一步对所有井开展值模拟工作,从而达到气田产能预测的最终目的。

Eclipse插件开发中RCP的一些知识

有关Eclipse开发中的一些知识 1. Eclipse的整个窗口称为workbench window 2. 右上角切换perspective的工具栏成为shortcut bar 3. workbench window可同时打开多个。通过配置也可让每一个新打开的perspective显示在新window中 4. 在一个window中,每个perspective可以用不同组的view,但所有的view 共享同一组editor 5. view重用于在信息的列表或层次结构中导航,如resources;或显示当前active 的editor的属性 6. 对view的修改马上会马上保存 7. editor常用于编辑和浏览资源。可用文本表示,也可用图像表示 8. editor的修改遵循open-save-close生命周期模型 9. part用于统称view和editor 10. 同一时间内,只能有一个active的part 11. active的part是常用操作,如copy、past、cut的目标 12. active的part也决定状态栏的内容 13. 某一个editor不再active时,view仍可能显示该不再active的eidtor的相关信息。比如Hierarchy View。 14. editor中,显示文件名的区域称为tab,asterisk表示未save,setDirty()。 15. active part由editor变为view时,menu bar和tool bar的一些operation 可能会被disable掉。

16. editor可stack放置,也可side-by-side放置 17. 当某一resource没有相关联的editor时,将试图启用外部工具 18. 可用ctrl+F6来打开已启动的editor的列表 19. view含有两个菜单,一个用于控制其位置,一个称为”view pull-down menu”,常含有排序、过滤等功能 20. 文件导出的方式有:DND、Export、COPY/PAST 21. 文件导入的方式有:DND、Import、COPY/PAST。(DND和COPY是否支持依赖于操作系统) 22. 删除project时,可以仅从workspace中删除而仍保留在操作系统中,也可OS中也删除。File和Folder不支持此功能 23. search中的show previous search可显示以前的搜索结果。其中的pin,可在再次搜索时另启动一个新的search view 24. marker包括bookmark、task marker、debugging breakpoint、problem 25. task可以关联到文件、关联到文件中的某一行、也可以没有任何关联。在task view中可以对已完成的task打勾 26. dock cursor的种类 27. 可自定义perspective的action set 28. 开启一新的perspective后,window的标题栏会改变 29. 可自定义perspective的command,以改变menu bar和tool bar中可显示的内容 30. 可自己定义File->new菜单中显示那些内容、也可自定义window->open perspective中显示那些试图供选择

在Eclipse中使用debug(Eclipse调试常用技巧)

Eclipse调试常用技巧 发表时间:2010-04-06 最后修改:2010-11-26 记得刚刚毕业的时候,自己连断点也不会打,当时还在用JCreate,就连毕业设计也是用System.out找Bug的,想想真的很笨。开始工作后,一个星期过去了,在一个1、2百万行的系统中找Bug,我依然在用System.out,当时最痛苦的就是修改代码,每次找到疑似Bug,就输出一下,然后重启(那时也不知道代码热替换),直到有一天带我的导师发现了这样笨笨的调试Bug,才让我第一次认识了断点,也知道了代码修改完了可以进行热替换,我这个中国教育的半牺牲品才算向美好生活迈进了一小步。 1、条件断点 断点大家都比较熟悉,在Eclipse Java编辑区的行头双击就会得到一个断点,代码会运行到此处时停止。 条件断点,顾名思义就是一个有一定条件的断点,只有满足了用户设置的条件,代码才会在运行到断点处时停止。 在断点处点击鼠标右键,选择最后一个"Breakpoint Properties" 断点的属性界面及各个选项的意思如下图,

2、变量断点 断点不仅能打在语句上,变量也可以接受断点, 上图就是一个变量的打的断点,在变量的值初始化,或是变量值改变时可以停止,当然变量断点上也是可以加条件的,和上面的介绍的条件断点的设置是一样的。 3、方法断点 方法断点就是将断点打在方法的入口处, 方法断点的特别之处在于它可以打在JDK的源码里,由于JDK在编译时去掉了调试信息,所以普通断点是不能打到里面的,但是方法断点却可以,可以通过这种方法查看方法的调用栈。

4、改变变量值 代码停在了断点处,但是传过来的值不正确,如何修改一下变量值保证代码继续走正确的流程,或是说有一个异常分支老是进不去,能不能调试时改一下条件,看一下异常分支代码是否正确? 在Debug视图的Variables小窗口中,我们可以看到mDestJarName变量的值为" F:\Study\eclipsepro\JarDir\jarHelp.jar" 我们可以在变量上右键,选择"Change Value..."在弹出的对话框中修改变量的值, 或是在下面的值查看窗口中修改,保用Ctr+S保存后,变量值就会变成修改后的新值了。 5、重新调试 这种调试的回退不是万能的,只能在当前线程的栈帧中回退,也就说最多只能退回到当前线程的调用的开始处。 回退时,请在需要回退的线程方法上点右键,选择"Drop to Frame"

相关文档
最新文档