`

org.eclipse.ui.menus扩展点

 
阅读更多
    eclipse插件开发中常使用命令来声明实现一个菜单,具体步骤是:1.声明一个命令;2.创建使用该命令的菜单项;3.创建该命令对应的处理器(handler)。
   
    1.通过org.eclipse.ui.commands扩展点声明一个command,每个command即为一个ui功能点的声明。
    声明一个category来管理自己建的commands:
    id:cn.com.aquarion.category
    name:MyCategory
    description: My command's group
    声明一个command用于打开视图:
    id:com.aquarion.commands.openView
    name:Open my view
    categoryId:cn.com.aquarion.category

    2.通过org.eclipse.ui.menus扩展点创建使用命令的菜单项
    声明一个menuContribution,定义command出现的位置,并定义它的可见性
    locationURI:menu:org.eclipse.ui.main.menu?after=additions;该命令将出现的位置,这个标识该菜单项为新建并出现在主菜单栏中
    在menuContribution下声明一个menu
    label:Fav
    id:com.aquarion.menus.viewMenu
    mnemonic:v;表示键盘可访问性
    在menu下使用一个命令
    commandId:com.aquarion.commands.openView,即在选中该菜单触发的command
    id:com.aquarion.menu.openView
    mnemonic:O
    icon:图标

    经过以上两步,运行该插件可以看到菜单项和菜单已经出现在主菜单中。如果需要菜单项出现在工具栏中,可以将locationURI的值改成toolbar:org.eclipse.ui.main.toolbar?after=additon
这个属性为标识菜单出现的位置,所以我们也可以将我们定义的菜单声明在已有的菜单下,里例如说将菜单新建到已有的eclipse的菜单中,locationURI的值可以如以下定义:
    menu:help?after=additions
    menu:navigate?after=open.ext2
    menu:window?after=newEditor
    menu:file?after=open.ext
   
    由上面的例子中看到locationURI分成三部分:模式(scheme),例如menu:、标识符(identifier)例如:help和参数列表(argument list)例如after=additions
   
    scheme标识新建项将被添加至的UI对象类型,它可以是以下的值:
    menu:程序的主菜单或视图的下拉菜单
    popup:视图或编辑器的上下文菜单
    toolbar:程序的工具栏或视图的工具栏
   
    标识符(ID):对于任意视图,这个标识符与它的工具栏的标识符或上下文菜单的标识符或下拉菜单的标识符的其中一个一致。常用的有:
    org.eclipse.ui.main.menu------------eclipse的主菜单标识符
    org.eclipse.ui.main.toolbar---------eclipse主工具栏的标识符
    org.eclipse.ui.popup.any------------任意上下文菜单

    argument list:允许给新建项的位置进行细粒度的定义。after和before为新建项的布局,“=”,最后为菜单,上下文菜单或工具栏的某一项的标识符。最后的标识符也可以为additions,表示新建项处于默认位置。
   
   
   
   
   
   
分享到:
评论

相关推荐

    Eclipse插件开发扩展点大全(中文)

    Eclipse插件开发的核心是通过利用Eclipse平台提供的各种扩展点来实现。本资源"**Eclipse插件开发扩展点大全(中文)**"正是针对这一主题,提供了详尽的中文指南,帮助开发者深入理解和利用这些扩展点。 Eclipse的...

    eclipse常用扩展点使用

    `org.eclipse.ui.commands`和`org.eclipse.ui.menus`扩展点则是定义和关联命令及菜单项的。这些扩展点让你可以在Eclipse的工作台中添加新的操作,如文件的保存、关闭,或是自定义的构建命令。命令可以通过菜单、工具...

    RCP的Navigator例子源代码(包括修改默认的new右键菜单)

    在Eclipse RCP中,自定义右键菜单通常涉及到`org.eclipse.ui.menus`和`org.eclipse.ui.handlers`这两个扩展点。为了修改默认的“新建”菜单,开发者需要创建一个新的命令(Command),定义其ID、标签、图标和执行...

    Eclipse Commands Framework教程

    - 通过 `org.eclipse.ui.menus` 扩展点可以向Eclipse菜单系统贡献新的菜单项。 - 可以定义菜单条(menu bar)、菜单项(menu item)、工具栏(toolbar)等。 2. **定义菜单扩展的位置**: - 可以通过特定的路径来指定...

    eclipse插件开发步步教你

    例如,`org.eclipse.ui.editors`扩展点用于定义新的文本编辑器,`org.eclipse.ui.views`扩展点则用于创建自定义视图。在`plugin.xml`中,我们可以声明我们的插件要使用哪些扩展点,并提供相应的实现。 为了开发...

    CNF导航----building-common-navigator-framework-viewer-III

    1. **通过`org.eclipse.ui.popupMenus`扩展点贡献操作**:这种方式允许您在整个 Eclipse 工作台中贡献单独的操作委托。CNF 查看器可以被配置为接受这些贡献(这是默认行为)或忽略它们。例如,由 Platform/UI 提供的...

    Eclipse 插件 例子代码

    - **菜单和工具栏贡献**:通过扩展点`org.eclipse.ui.menus`和`org.eclipse.ui.toolbars`,插件可以添加自定义的菜单项和工具栏按钮。 - **首选项页(Preference Page)**:通过扩展点`org.eclipse.ui.preference...

    Eclipse插件开发指南

    <extension point="org.eclipse.ui.menus"> <command commandId="com.example.helloworld.HelloWorldPlugin.run" label="Hello World" style="push"> <extension point="org.eclipse.ui.commands"> ...

    Eclipse RCP详细教程

    1. **定义扩展点**:在插件的`plugin.xml`文件中定义一个扩展点,例如`org.eclipse.ui.menus`。 2. **添加菜单和工具栏**:在扩展点中定义菜单和工具栏的结构以及绑定的动作。 ```xml <extension point="org....

    rcp的文本编辑器的实例

    要为编辑器添加菜单项和工具栏按钮,我们需要扩展`org.eclipse.ui.menus`和`org.eclipse.ui.toolbars`点。这样可以添加如“新建”、“打开”、“保存”等标准操作,并与编辑器的业务逻辑关联起来。 7. **测试和...

    Eclipse RCP开发

    - **菜单集成**:将命令添加到菜单中,通常通过`org.eclipse.ui.menus`扩展点完成。 #### 11. 视图 - **创建视图**:定义一个新的视图类,继承自`org.eclipse.ui.part.ViewPart`。 - **添加视图到透视图**:可以在...

    eclipse插件开发ppt

    常见的扩展点包括视图(Views)、编辑器(Editors)、操作(Actions)、菜单(Menus)、对话框和向导(Dialogs & Wizards)、透视图(Perspectives)、首选项(Preferences)等,这些扩展点覆盖了Eclipse中的几乎...

    eclipse 3.6 rcp 开发

    <extension point="org.eclipse.ui.menus"> <menu id="my.menu" name="My Menu"> <command commandId="com.example.command" style="push"> <label>Action Label ``` **3.4 添加全局快捷键** - **绑定...

    eclipse-plug-popmenu

    开发者需要定义一个或多个`org.eclipse.ui.popupMenus`扩展点,将菜单项绑定到相应的上下文。例如,通过监听选中的资源或编辑器状态来决定何时显示菜单。菜单项的动作实现则可以是简单的Java方法,也可以是复杂的...

    eswt j2me ui 教程

    4. **单线程UI**:API非线程安全,需要在入口点显式包含事件分发循环。 5. **包结构**:eSWT由三个包组成,核心包(core)和扩展包(expanded)继承自桌面SWT,移动包(mobile)则专门为移动世界定义了新的组件。 *...

    JFace的源码,从官网下的

    在下载的源码中,`org.eclipse.jface`包下包含了JFace的全部源代码。这个包下面有多个子包,如`binding`, `dialog`, `text`, `viewers`, `wizard`等,分别对应上述提到的概念。 - `binding`:包含了数据绑定相关的...

    Eclipse插件开发学习笔记(ch4-7)

    Eclipse是一款广泛使用的开源集成开发环境(IDE),其强大的可扩展性主要体现在丰富的插件系统。本主题将深入探讨在Eclipse中进行插件开发的知识点,这些内容主要源自《Eclipse插件开发学习笔记》的第四至第七章。 ...

Global site tag (gtag.js) - Google Analytics