WEB开发网
开发学院软件开发Java 在Eclipse中去掉多余的UI组件的几个方法 阅读

在Eclipse中去掉多余的UI组件的几个方法

 2009-09-24 00:00:00 来源:WEB开发网   
核心提示: 2.使用Eclipse的Activities扩展plugin.xml并不能解决所有问题,当我们实在没有办法在plugin.xml中限制某些extension的出现的时候,可以考虑使用 Eclipse的Activities.Activities的官方定义大家可以google一下eclipse的he

2.使用Eclipse的Activities扩展

plugin.xml并不能解决所有问题,当我们实在没有办法在plugin.xml中限制某些extension的出现的时候,可以考虑使用 Eclipse的Activities.Activities的官方定义大家可以google一下eclipse的help.我个人的理解就是它可以和 perspective一样控制UI的显示,但是Perspective设计的太易于扩展了,假如Plugin A在perspective上扩展了一个UI,那么Plugin B在每次进入这个perspective的时候就一定可以看得见它,而且在Eclipse的扩展机制下,Plugin B是没有权利去删了Plugin A的contribution的(Eclipse的ExtensionRegistry倒是提供了一个removeExtension方法,但运行的时候会报错).在这样的情况下,Activities的价值就体现出来了,你只要给它一个Extension的id,它就可以帮你把这个Extension disable掉.例如:

<extension
         point="org.eclipse.ui.activities">
      <activity
            id="my.example.activity"
            name="WizardActivity">
      </activity>
      <activityPatternBinding
            activityId="my.example.activity"
            pattern="my\.example/mywizard">
      </activityPatternBinding>
 </extension>

比较重要的是activityPatternBinding中的pattern属性,它是由plugin id + "/" + local-id组成.比如在插件my.example中扩展了 org.eclipse.ui.newWizards,id是mywizard,那么上面这个activityPatternBinding就会disable掉my.example的mywizard扩展,你在 GUI中就看不见这个 wizard了.pattern是支持正则表达式的,所以如果有"."的话需要用转义字符\.注意,这里的disable的意思并不是说我把 mywizard这个扩展删掉了,而是屏蔽了它,mywizard仍然在 ExtensionRegistry中.

Tags:Eclipse 去掉 多余

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接