将文件标记为活动 - eclipse插件

时间:2013-01-10 14:06:26

标签: eclipse file eclipse-plugin

我写了一个eclipse插件,让用户创建我自己的项目类型,项目的模板有一些配置文件,我想让用户选择哪一个将是活动的,这意味着哪一个我将在编译项目时使用,我添加了一个这个文件的动作,让用户将其设置为活动状态,我的问题是,是否有任何方法可以在包资源管理器中标记它(可能是带有边框的粗体ar)因此,当用户看到这个时,他可以知道哪一个是现在活跃的

由于

1 个答案:

答案 0 :(得分:1)

您可以使用装饰器扩展点org.eclipse.ui.decorators。将其添加到plugin.xml:

<extension
      point="org.eclipse.ui.decorators">
   <decorator
         adaptable="true"
         class="MyDecoratorClass"
         id="some.id.for.decorator"
         label="Active Build Configuration Decorator"
         lightweight="true"
         location="BOTTOM_RIGHT"
         state="false">
      <enablement>
         <and>
            <objectClass
                  name="org.eclipse.core.resources.IResource">
            </objectClass>
            <or>
               <objectClass
                     name="org.eclipse.core.resources.IProject">
               </objectClass>
               <objectClass
                     name="org.eclipse.core.resources.IFile">
               </objectClass>
            </or>
         </and>
      </enablement>
   </decorator>
</extension>

MyDecoratorClass(或您选择的任何名称)中提供实施,以检查项目的活动配置以及添加文本或图像。也许有这样的事情:[]

每当用户进行修改,要求您更新装饰器以便可以装饰最新的更改时,您可以使用:

// the resource whose properties changed and needs to be re-decorated
IResource resource = ...;

IDecoratorManager manager = PlatformUI.getWorkbench().getDecoratorManager();
IBaseLabelProvider decorator = manager.getBaseLabelProvider("id.of.my.decorator");
if (decorator != null)
    ((ILabelProviderListener) manager).labelProviderChanged(new LabelProviderChangedEvent(decorator, resource));