`
salever
  • 浏览: 254808 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

【Eclipse plug-in】 org.eclipse.ui.activities 的使用

    博客分类:
  • RCP
 
阅读更多

整理一下org.eclipse.ui.activities的使用

 

扩展点的定义

org.eclipse.ui.activities的定义位于org.eclipse.ui插件中,具体见

 

 

 <extension-point id="activities" name="%ExtPoint.activities" schema="schema/activities.exsd"/>
  

 

扩展点的概述

Eclipse API 写道
The org.eclipse.ui.activities extension point is used to declare activities and associated elements. Activities are used by the platform to filter certain plugin contributions from the users view until such a time that they express interest in them. This allows Eclipse to grow dynamically based on the usage pattern of a user.

 

 

看Eclipse API的描述,这个扩展点是用来声明activity的,至于activity是干什么的,这里也说不太清楚,我一般用来进行过滤插件、菜单、视图等。

 

比如一个RCP程序中,引入了一些Eclipse下面的插件,于是就多出来许多相关的菜单,尤其是工具栏菜单,在不改动代码的情况下,我们可以采用这个扩展点过滤掉它们。

 

 

扩展点的使用

这里先看看Eclipse是如何使用这个扩展点的,下面的代码位于org.eclipse.equinox.p2.ui.sdk中

 

 

   <extension
         point="org.eclipse.ui.activities">
      <activity
            description="%classicCategoryDesc"
            id="org.eclipse.equinox.p2.ui.sdk.classicUpdate"
            name="%classicCategoryName">
      </activity>
      <activityPatternBinding
            activityId="org.eclipse.equinox.p2.ui.sdk.classicUpdate"
            isEqualityPattern="false"
            pattern=".*org\.eclipse\.update\.internal.*">
      </activityPatternBinding>
      <activityPatternBinding
            activityId="org.eclipse.equinox.p2.ui.sdk.classicUpdate"
            isEqualityPattern="false"
            pattern=".*org\.eclipse\.ui\.update.*">
      </activityPatternBinding>
      <category
            description="%classicCategoryDesc"
            id="org.eclipse.equinox.p2.ui.sdk.category.classicUpdate"
            name="%classicCategoryName">
      </category>
      <categoryActivityBinding
            activityId="org.eclipse.equinox.p2.ui.sdk.classicUpdate"
            categoryId="org.eclipse.equinox.p2.ui.sdk.category.classicUpdate">
      </categoryActivityBinding>
   </extension>
 

 

主要就是用来屏蔽旧的update机制下的一些视图 菜单等。

 

示例

下面来一个示例

 

场景:在RCP中引入了org.eclipse.ui.ide插件以后,首选项里面就会多出来General这一个首选项,下面有很多首选项页面。这些页面都是跟RCP本身无关的。这里就考虑使用 org.eclipse.ui.activities 过滤掉它们。

 

 

   <extension
         point="org.eclipse.ui.activities">
          <activity
            id="org.salever.rcp.demo.preference.activity"
            name="prefFilter">
      </activity>
      <activityPatternBinding
            activityId="org.salever.rcp.demo.preference.activity"
            isEqualityPattern="false"
            pattern=".*org\.eclipse\.ui\.preferencePages.*"><!-- 这里是关键-->
      </activityPatternBinding>

 

 

其中

 

 

 pattern=".*org\.eclipse\.ui\.preferencePages.*"

 

是关键,这里的pattern就是用来过滤的,定义一定要准确,否则将无法起作用。

 

其他的过滤,依此类推就行了,不赘述了。

分享到:
评论
5 楼 salever 2012-02-16  
wwang1234 写道
原来评论成功了,我还傻傻重试


这一段是完整的实现,
<extension 
      point="org.eclipse.ui.activities"> 
       <activity 
         id="org.salever.rcp.demo.preference.activity" 
         name="prefFilter"> 
   </activity> 
   <activityPatternBinding 
         activityId="org.salever.rcp.demo.preference.activity" 
         isEqualityPattern="false" 
         pattern=".*org\.eclipse\.ui\.preferencePages.*"><!-- 这里是关键--> 
   </activityPatternBinding> 
</extension>
4 楼 wwang1234 2012-02-08  
原来评论成功了,我还傻傻重试
3 楼 wwang1234 2012-02-08  
salever兄,小弟是看你的Eclipse插件入门开始工作的
首先,非常感谢你的充沛精力和热心
2 楼 wwang1234 2012-02-08  
salever兄,小弟是看你的Eclipse插件入门开始工作的
首先,非常感谢你的充沛精力和热心
我的尝试失败了,下面这段代码可以加进自己的插件plugin.xml中么
plugin.xml中除了这段代码外,还需别的代码不呢?
   <extension
         point="org.eclipse.ui.activities">
      
1 楼 wwang1234 2012-02-08  
salever兄,小弟是看你的Eclipse插件入门开始工作的,非常感谢你的充沛精力和热心
在这里有个问题。我的尝试失败了,下面这段代码可以加进自己的插件plugin.xml中么
plugin.xml中除了这段代码外,还需别的代码不呢?
   <extension
         point="org.eclipse.ui.activities">
          <activity

相关推荐

    Fat Jar Eclipse Plug-In教程.

    - **重启Eclipse**: 关闭正在运行的Eclipse实例,并以`eclipse-clean`命令重新启动Eclipse,确保Eclipse能够正确识别新安装的插件。 ##### 2. 删除: - 要删除此插件,只需将其对应的目录(`net.sf.fjep.fatjar_x.x.x`)...

    org.eclipse.jgit-5.10.0.202012080955-r-API文档-中文版.zip

    赠送jar包:org.eclipse.jgit-5.10.0.202012080955-r.jar; 赠送原API文档:org.eclipse.jgit-5.10.0.202012080955-r-javadoc.jar; 赠送源代码:org.eclipse.jgit-5.10.0.202012080955-r-sources.jar; 赠送Maven...

    org.eclipse.jgit.lfs-5.10.0.202012080955-r-API文档-中文版.zip

    赠送jar包:org.eclipse.jgit.lfs-5.10.0.202012080955-r.jar; 赠送原API文档:org.eclipse.jgit.lfs-5.10.0.202012080955-r-javadoc.jar; 赠送源代码:org.eclipse.jgit.lfs-5.10.0.202012080955-r-sources.jar;...

    org.eclipse.paho.ui.app-1.0.2-win32.win32.x86_64.zip

    开发MQTT客户端比较好用的软件平台,使用方法网上很多介绍 org.eclipse.paho.ui.app-1.0.2-win32.win32.x86_64.zip apache-apollo-1.7.1-windows-distro.zip

    org.eclipse.jgit-5.10.0.202012080955-r-API文档-中英对照版.zip

    赠送jar包:org.eclipse.jgit-5.10.0.202012080955-r.jar; 赠送原API文档:org.eclipse.jgit-5.10.0.202012080955-r-javadoc.jar; 赠送源代码:org.eclipse.jgit-5.10.0.202012080955-r-sources.jar; 赠送Maven...

    eclipse-4.7.0-linux.gtk.x86-64.tar.gz

    2. **解压缩**:使用tar命令(如`tar -zxvf eclipse-4.7.0-linux.gtk.x86_64.tar.gz`)来解压文件,生成一个名为eclipse的目录。 3. **启动Eclipse**:进入解压后的目录,找到并运行`eclipse`可执行文件。 4. **工作...

    MQTT客户端(32和64位)org.eclipse.paho.ui.app-1.1.1-win32.rar

    需要jdk环境,包含 Mqtt客户端64位(org.eclipse.paho.ui.app-1.1.1-win32.win32.x86_64) Mqtt客户端32位(org.eclipse.paho.ui.app-1.1.1-win32.win32.x86_64)

    org.eclipse.paho.ui.app-1.0.0-win32.win32.x86_64.zip

    ** org.eclipse.paho.ui.app-1.0.0-win32.win32.x86_64.zip ** 这个压缩包包含的是Eclipse Paho的用户界面应用程序,专为Windows 64位(x86_64)系统设计。版本号为1.0.0,表明这是一个官方的稳定版本。这个工具集...

    Mqtt客户端(org.eclipse.paho.ui.app-1.0.2-win32.win32.x86_64.rar)

    Mqtt客户端(org.eclipse.paho.ui.app-1.0.2-win32.win32.x86_64.rar),结合文章:https://blog.csdn.net/weixin_42401291/article/details/102828779

    jd-eclipse-site-1.0.0-RC2.zip、jd-eclipse-2.0.0.zip

    JD-Eclipse is a plug-in for the Eclipse platform. It allows you to display all the Java sources during your debugging process, even if you do not have them all. Installation Download JD-Eclipse ZIP ...

    org.eclipse.jdt.ui_3.11.0.v20150527-0925.jar 下载

    eclipse 自动生成的get set方法 自动加上文本注释,并且注释内容包含字段中我们加的文档注释

    hadoop-eclipse-plugin-2.10.0.jar

    Eclipse集成Hadoop2.10.0的插件,使用`ant`对hadoop的jar包进行打包并...- `hadoop2x-eclipse-plugin-master/src/contrib/eclipse-plugin/build.xml` 开源源地址: https://github.com/winghc/hadoop2x-eclipse-plugin

    eclipse-inst-linux64.tar.gz

    总结,"eclipse-inst-linux64.tar.gz"是Eclipse针对64位Linux的安装程序,通过一系列命令行操作即可在Linux环境中轻松安装并使用Eclipse。了解这些步骤,对于Linux用户来说,能有效提升开发效率,享受Eclipse带来的...

    MQTT客户端_Win64_Paho.rar(org.eclipse.paho.ui.app-1.0.2-win32.win32.x86_64)

    在本压缩包"MQTT客户端_Win64_Paho.rar"中,包含的是适用于Windows 64位系统的Eclipse Paho MQTT客户端应用——org.eclipse.paho.ui.app-1.0.2-win32.win32.x86_64。Paho是Eclipse基金会的一个项目,旨在提供可靠的...

    hadoop-eclipse-plugin-3.1.1.tar.gz

    使用Hadoop-Eclipse-Plugin时,建议遵循良好的编程习惯,如合理划分Mapper和Reducer的功能,优化数据处理流程,以及充分利用Hadoop的并行计算能力。同时,及时更新插件至最新版本,以获取最新的功能和修复。 通过...

    GNU ARM Eclipse Plug-in

    《GNU ARM Eclipse Plug-in:为Eclipse开发环境增添ARM支持》 GNU ARM Eclipse Plug-in是专为Eclipse集成开发环境(IDE)设计的一款扩展插件,由开发者ilg-ul和justxi共同贡献。该插件的主要目的是为了在Eclipse...

    hadoop-eclipse-plugin-3.3.1.jar

    Ubuntu虚拟机HADOOP集群搭建eclipse环境 hadoop-eclipse-plugin-3.3.1.jar

    qt-eclipse-integration-linux.x86-1.6.1.tar.gz(qt4.6.1)

    使用命令行终端,进入压缩包所在目录并执行`tar -zxvf qt-eclipse-integration-linux.x86-1.6.1.tar.gz`,这将生成一个名为“qt4-eclipse-plugin”的文件夹。 2. **安装插件**:接着,打开Eclipse,选择“Help” -&gt;...

    Eclipse.Plug-ins.Third Edition.Dec.2008中文版

    Eclipse.Plug-ins.Third Edition.Dec.2008中文版

Global site tag (gtag.js) - Google Analytics