*******************************************************
作者:陈刚,普通程序员,曾有幸以Eclipse插件方式开发过一个中型软件。现将所学
付诸于纸,暂取书名<Eclipse插件开发指南>,将于2005年初由清华大学出版社出版。
blog:http://www.cnblogs.com/glchengang/
*******************************************************
5.3 常用插件扩展点实战(plugin.xml)
在上一节(5.2.2节)已经对原有的plugin.xml做了很详尽的介绍,plugin.xml是插件和Eclipse的接口,Eclipse就象一所大宅子,它的外墙(plugin.xml)有很多的门(扩展点),我们要熟练进出这座大宅子,先得搞清楚它有哪些门,当然我们只需要熟悉一些主要的门就足够应付90%的需求了。
本节将以开发需求为导向来介绍这些扩展点,并且本节所有实例都在5.2.2节所建立的myplugin2项目的基础上来进行讲解演示。
5.3.1 加入透视图(perspectives)
往开发一个插件,最常用的方式就是新增一个属于本插件专有的透视图,然后在此透视图基础上来展开软件开发,本书即采用这种方式。
1、准备工作
我们先将以前用到的那些图标的icons目录复制一份到myplugin2项目中,复制后的路径如图5.9所示:
图5.9 图标的路径
2、修改plugin.xml文件,设置透视图的扩展点
打开plugin.xml文件的编辑框,将如下代码块插入到最后一行的</plugin>之前:
<extension
point="org.eclipse.ui.perspectives">
<perspective
name="myplugin透视图"
icon="icons/selectall.gif"
class="book.chapter_5.SamplePerspective"
id="book.chapter_5.SamplePerspective">
</perspective>
</extension>
说明:
l org.eclipse.ui.perspectives是透视图的扩展点
l name - 透视图的名称
l icon - 透视图的图标
l class - 透视图所对应的类(我们还没编写,下一步将完成此类)
l id - 透视图标识,建议设置成和class一样的名称,省得以后扩展点设置得太多,搞得人糊涂。
3、建立透视图类
在上一步的plugin.xml中提前设置了透视图对应的类book.chapter_5.SamplePerspective,这一步我们就来在包book.chapter_5中创建此类。透视图的类必须实现IPerspectiveFactory接口,此接口只有一个方法createInitialLayout,我们让它先空实现好了。SamplePerspective代码如下:
//--------文件名:SamplePerspective.java--------------------
public class SamplePerspective implements IPerspectiveFactory {
public void createInitialLayout(IPageLayout layout) {}
}
4、运行插件
按以前所说的方法运行插件后,在新开的Eclipse环境中选择主菜单“窗口→打开透视图→其它”。在弹出如图5.10的透视图选择窗口中,我们可以看到一个名为“myplugin透视图”的项。
图5.10 选择透视图
选择并打开“myplugin透视图”项后,显示如图5.11的Eclipse界面。我们发现该透视图光秃秃的什么也没有。没关系,我们下一小节就会往这个透视图加入两个视图。
图5.10 myplugin透视图的效果图
5、总结
由本小节可以看到在Eclipse创建一个界面(菜单、按钮、透视图)是多么的简单,我们都不用编写实际界面的创建代码,只要设置一些扩展点就行了。