- 1、本文档共35页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
常用插件扩展点
·PAGE 246·
Eclipse从入门到精通
·PAGE 245·
第18章 常用插件扩展点
第18章 常用插件扩展点
在第17章对plugin.xml作了少量介绍,plugin.xml是插件和Eclipse内核的接口,Eclipse就像一所大宅子,它的外墙(plugin.xml)有很多的门(扩展点),要熟练进出这座大宅子,先得搞清楚它有哪些门(扩展点)。
插件的扩展点非常之多,但很多扩展点都不常用到,只要熟悉一些主要的扩展点即可。本节将面向实际开发需要来介绍这些扩展点,并且本章所有实例都在第17章建立的myplugin2插件项目的基础上创建。
18.1 加入透视图(perspectives)
开发一个插件,最常用的方式就是新增一个属于本插件专有的透视图,然后在此透视图基础上来展开功能,本书也采用这种方式。
18.1.1 准备工作
先将以前用到的包括图标的icons目录复制一份到myplugin2项目中,复制后的路径如图18.1所示。
图18.1 图标的路径
18.1.2 修改plugin.xml文件,设置透视图的扩展点
打开plugin.xml文件的编辑框,将如下代码块插入到最后一行的/plugin项之前:
extension
point=org.eclipse.ui.perspectives
perspective
name=myplugin透视图
icon=icons/selectall.gif
class=.chengang.SamplePerspective
id=.chengang.SamplePerspective
/perspective
/extension
代码说明:
org.eclipse.ui.perspectives是透视图的扩展点。
name:透视图的名称。
icon:透视图的图标。
class:透视图所对应的类(还没编写,下一步将完成此类)。
id:透视图标识,建议设置成和class一样的名称,省得以后扩展点设置得太多,让人糊涂。
18.1.3 建立透视图类
在18.1.2小节的plugin.xml中提前设置了透视图对应的类.chengang.Sample Perspective,这一步就在包.chengang中创建此类。透视图类必须实现Iperspective Factory接口,此接口只有一种方法createInitialLayout,先让它空实现。
SamplePerspective类的代码如下:
//文件名:SamplePerspective.java
public class SamplePerspective implements IPerspectiveFactory {
public void createInitialLayout(IPageLayout layout) {}
}
18.1.4 运行插件
运行插件,然后在新Eclipse环境中选择主菜单“窗口→打开透视图→其他”选项。在弹出窗口中,可以看到一个名为myplugin透视图的项,如图18.2所示。
选择并打开“myplugin透视图”选项后,显示如图18.3所示的Eclipse界面。我们发现该透视图光秃秃的什么也没有。没关系,下面就会向这个透视图中加入两个视图。
图18.2 选择透视图
图18.3 myplugin透视图的效果图
18.1.5 总结
由本节可以看到,在Eclipse插件环境中,创建一个菜单、按钮、透视图界面是多么简单,都不用编写实际界面的创建代码,只要设置一些扩展点就行了。
18.2 在透视图中加入视图(views)
接着18.1节的内容,给透视图加入两个视图,实现的步骤如下所述。
18.2.1 修改plugin.xml文件,设置视图的扩展点
打开plugin.xml文件的编辑框,将如下代码块插入到最后一行的/plugin之前:
extension
point=org.eclipse.ui.views
category
name=myplugin2视图
id=com.glchengang.myplugin2.view
/category
view
name=视图1
icon=icons/prev.gif
category=com.glchengang.myplugin2.view
class=.chengang.View1
id=.chengang.View1
/view
view
name=视图2
icon=icons/project.gif
category=com.glchengang.myplugin2.view
class=.chengang.View
文档评论(0)