1. org.eclipse.ui.actionSets
<actionSet> -- [附件图片中的Menu Bar 和Tool Bar]
给 Eclipse 增加主菜单和工具栏 (Workbench Window Actions)
Action需要实现的接口 implements IWorkbenchWindowActionDelegate
这种情况下,如果需要打开的窗口是模态窗口,并且阻塞整个Eclipse平台:
那么:使用IWorkbenchWindow window
并且在 init方法中初始化(注:此方法在IWorkbenchWindowActionDelegate已声明)
public void init(IWorkbenchWindow window) {
this.window = window;
}
此时,再在run方法中启动伱的界面
public void run(IAction action) {
MessageDialog.openInformation(window.getShell(),"Hello Plug-in","Hello, Eclipse world");
}
注意上面的window.getShell()。
工具栏、菜单栏扩展点示例:
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?>
<plugin>
<extension
point="org.eclipse.ui.actionSets">
<actionSet
label="Sample Action Set"
visible="true"
id="hello.actionSet">
<menu
label="Sample &Menu"
id="sampleMenu">
<separator
name="sampleGroup">
</separator>
</menu>
<action
label="&Sample Action"
icon="icons/sample.gif"
class="hello.actions.SampleAction" <!-- 指定Action类-->
tooltip="Hello, Eclipse world"
menubarPath="sampleMenu/sampleGroup"
toolbarPath="sampleGroup"
id="hello.actions.SampleAction">
</action>
</actionSet>
</extension>
</plugin>
2. org.eclipse.ui.popupMenus 给 Eclipse 增加上下文右键菜单
<objectContribution> -- [附件中Views区,如在Navigator中选中某一文件,点击右键]
针对选择的对象不同,显示上下文菜单 (Object Action)
Action需要实现的接口 implements IViewActionDelegate
<viewerContribution> -- [附件中的Editor区,没错,就是Editor区]
针对在不同的View里面,显示上下文菜单 (View Actions)
伱可以自己定义这个右键菜单出现在上面编辑器中。
比如: targetID – “org.eclipse.jdt.ui.MembersView” [没试过,不是很确定]
此时,Action需要实现的接口 implements IViewActionDelegate
比如: targetID – “#CompilationUnitEditorContext” (Java Editor)[确定]
此时,Action需要实现的接口 implements IEditorActionDelegate
另外还有个专门用于文件编辑器的右键菜单的,targetID 记不得了!好像是“#TextEditorContext”
Java Editor中,如果需要打开的窗口是模态窗口,并且阻塞整个Eclipse平台:
需要使用到IEditorSite editorSite 或者 IWorkbenchPartSite partsite
在setActiveEditor方法中初始化这两个对象(此方法在IEditorActionDelegate接口中已声明)
public void setActiveEditor(IAction action, IEditorPart targetEditor) {
partsite = targetEditor.getSite();
editorSite = targetEditor.getEditorSite();
}
此时,再在run方法中启动伱的界面
public void run(IAction action) {
new PPMEAddCommentGUI(editorSite.getShell(),SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL); //1
new PPMEAddCommentGUI(partsite.getShell(),SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL); //2
}
注意上面的editorSite.getShell() 和partsite.getShell()
Java Editor右键上下文菜单扩展点示例:
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?>
<plugin>
<extension point="org.eclipse.ui.popupMenus">
<viewerContribution
id="org.eclipse.ui.articles.action.contribution.popup.editor"
targetID="#CompilationUnitEditorContext">
<menu
label="Comment Edit"
path="additions"
id="second">
<groupMarker
name="contents">
</groupMarker>
<separator
name="sampleGroup">
</separator>
</menu>
<action
id="org.eclipse.ui.articles.action.contribution.editor.action1"
label="Delete"
icon="icons/sample.gif"
menubarPath="second/contents"
class="OldAction3"> <!-- 指定Action类-->
</action>
<action
id="org.eclipse.ui.articles.action.contribution.editor.action2"
label="Edit"
icon="icons/sample.gif"
menubarPath="second/contents"
class="OldAction2"> <!-- 指定Action类-->
</action>
<action
id="org.eclipse.ui.articles.action.contribution.editor.action3"
label="Create"
icon="icons/sample.gif"
menubarPath="second/contents"
class="OldAction2"> <!-- 指定Action类-->
</action>
</viewerContribution>
</extension>
</plugin>
3. org.eclipse.ui.viewActions
<viewerContribution>
给 Eclipse 的 View 上面的工具栏和菜单栏增加 View 系统菜单和工具栏
4. org.eclipse.ui.editorActions
<editorContribution>
针对不同的编辑器环境(比如JavaEditor, JSPEditor),在Eclipse主菜单上面增加不同的菜单和工具栏
也就是说,给 JavaEditor 在 Eclipse 主菜单上面增加的菜单和工具栏,在 JSPEditor 打开的时候就看不到
分享到:
相关推荐
### Eclipse插件RCP中文入门教程关键知识点解析 #### 一、Eclipse平台概述与起源 Eclipse平台是一个开源的、基于Java的可扩展开发框架,由一系列服务和框架构成,旨在通过插件组件构建高度定制化的开发环境。...
RCP 的扩展点是其核心组成部分之一,插件可以通过定义自己的扩展点来提供特定的功能。在 Eclipse 中,插件可以通过 plugin.xml 文件中的扩展点来配置其功能,并提供对应的类来实现这些功能。熟悉 RCP 的扩展点是开发...
本教程旨在逐步指导初学者进行Eclipse插件的开发,通过实例演示如何利用Eclipse平台的API和扩展点来实现各种功能。 首先,我们要理解Eclipse插件的基本概念。Eclipse插件是基于OSGi模块系统构建的,每个插件都是一...
扩展点(Extension Point)是 Eclipse RCP 中用于定义插件之间交互的一种机制。通过定义扩展点,一个插件可以公开其部分功能供其他插件使用。扩展点通常在插件的 `plugin.xml` 文件中定义,其他插件可以通过贡献扩展...
6. **插件开发工具**: Eclipse提供了PDE(Plugin Development Environment)工具,用于简化插件和RCP(Rich Client Platform)应用的开发,包括图形化的plugin.xml编辑器。 7. **运行时模型**: 插件在Eclipse运行...
本篇文章将深入探讨Eclipse插件开发中的关键知识点,包括插件扩展点、RCP(Rich Client Platform)应用开发以及如何在Eclipse RCP中整合第三方库。 首先,让我们了解Eclipse插件扩展点。扩展点是Eclipse平台提供的...
这个压缩包包含的“eclipse RCP学习项目源码&扩展控制台插件for eclipse3.5”是针对Eclipse 3.5版本的一个学习资源,它涵盖了RCP应用开发的基础和如何创建自定义控制台插件。 首先,RCP项目源码是理解Eclipse RCP...
Eclipse RCP是一种基于Eclipse平台的富客户端平台技术,它允许开发者创建独立于Eclipse环境的Java桌面应用程序。RCP通过提供一套标准组件和API,简化了桌面应用程序的开发流程,使开发者能够专注于业务逻辑而非界面...
本文将深入探讨Eclipse插件开发的相关知识点,结合提供的"全书分为4篇共24章"的学习笔记和源码,帮助你更全面地理解和实践Eclipse插件开发。 第一篇:基础篇 在这一篇中,你将学习到Eclipse插件开发的基础知识,...
下面将详细阐述Eclipse插件开发的相关知识点。 1. **Eclipse插件体系结构**: Eclipse采用插件化架构,每个功能模块都是一个插件,这些插件通过OSGi(开放服务网关协议)框架进行交互。开发者可以通过编写插件,...
以下将详细介绍Eclipse插件开发的相关知识点。 一、Eclipse插件体系结构 Eclipse基于OSGi(Open Service Gateway Initiative)框架构建,它将整个IDE分解为可互换的模块,即插件。每个插件都有自己的生命周期、依赖...
Eclipse不仅是一个强大的Java IDE,更是一个开放式的平台,支持广泛的插件扩展。这意味着开发者可以为Eclipse添加各种功能,从简单的代码编辑到复杂的项目管理等。Eclipse的核心功能在于其插件化的设计,这使得它...
Eclipse插件开发是Java开发领域中的一个重要组成部分,它允许开发者构建基于...掌握以上知识点,并通过实际项目练习,开发者可以熟练地进行Eclipse插件开发,利用RCP和SWT构建出高效、美观且功能强大的桌面应用程序。
下面将详细介绍Eclipse插件开发的相关知识点。 一、Eclipse插件体系结构 Eclipse基于OSGi(Open Service Gateway Initiative)框架构建,采用模块化设计,每个模块称为插件。这些插件通过API进行交互,形成了一个可...
4. **扩展点与扩展**:Eclipse中的扩展点是定义其他插件可以插入的接口,而扩展则是实现这些接口的具体插件。通过这种方式,插件之间可以互相协作。 5. **插件部署**:开发完成后,插件通常被打包成一个.jar文件或....
eclipse RCP(Rich Client Platform)是一种基于eclipse的插件式开发平台,允许开发者使用eclipse结构风格设计弹性的可扩展的应用程序。RCP插件式开发方式可以重用eclipse中的方法和编码模式,提高开发效率和代码...
Eclipse扩展点 Eclipse扩展点是Eclipse平台的一种机制,允许开发者扩展Eclipse的功能,使其满足特定的需求。扩展点是Eclipse插件的核心组件,通过...扩展点可以应用于插件开发、Eclipse平台开发和RCP应用开发等领域。
Eclipse RCP的扩展点与扩展机制研究,金星善,库少平,RCP (Rich Client Platform) 是基于Eclipse开发平台而推出的一套用来开发富客户端程序的应用框架。Eclipse的插件机制,使得我们可以通过扩展Ecli