根据文件夹名称将不同的装饰器应用于不同的文件夹
Apply different Decorator to different folder based on folder name
是否可以根据文件夹名称将不同的装饰器应用于不同的文件夹。
我开发了一个插件,可以创建一个自定义项目,有 4 个文件夹。
我想要这样,每次创建新项目时,每个文件夹都必须有不同的图标。
是否可以通过装饰器实现?如果没有,请告诉我其他方法。
目前,我正在通过以下方式应用装饰器。
但在这种情况下,相同的图标应用于所有文件夹,这是我不想要的。
<extension
point="org.eclipse.ui.decorators">
<decorator
adaptable="true"
icon="img/folder-script.png"
id="abcd.main.ui.decorator.folder.script"
label="Script Folder Decorator"
lightweight="true"
location="TOP_LEFT"
state="true">
<enablement>
<objectClass
name="org.eclipse.core.resources.IFolder">
</objectClass>
</enablement>
</decorator>
</extension>
您可以使用 objectState
作为 enablement
的一部分来测试名称:
<enablement>
<and>
<objectClass
name="org.eclipse.core.resources.IFolder">
</objectClass>
<objectState
name="name"
value="the folder name">
</objectState>
</and>
</enablement>
是否可以根据文件夹名称将不同的装饰器应用于不同的文件夹。
我开发了一个插件,可以创建一个自定义项目,有 4 个文件夹。 我想要这样,每次创建新项目时,每个文件夹都必须有不同的图标。
是否可以通过装饰器实现?如果没有,请告诉我其他方法。
目前,我正在通过以下方式应用装饰器。 但在这种情况下,相同的图标应用于所有文件夹,这是我不想要的。
<extension
point="org.eclipse.ui.decorators">
<decorator
adaptable="true"
icon="img/folder-script.png"
id="abcd.main.ui.decorator.folder.script"
label="Script Folder Decorator"
lightweight="true"
location="TOP_LEFT"
state="true">
<enablement>
<objectClass
name="org.eclipse.core.resources.IFolder">
</objectClass>
</enablement>
</decorator>
</extension>
您可以使用 objectState
作为 enablement
的一部分来测试名称:
<enablement>
<and>
<objectClass
name="org.eclipse.core.resources.IFolder">
</objectClass>
<objectState
name="name"
value="the folder name">
</objectState>
</and>
</enablement>