我有一个Eclipse RCP应用程序,我可以在其中创建自定义项目(如Eclipse中的Java项目)。
现在我的情况是,应用程序的用户也可以从其他位置(例如从网络)导入现有项目,他们希望通过不同的图标区分工作区中的本地和导入项目。
通过为项目设置自定义性质来设置当前项目图标。性质在plugin.xml中定义:
<extension
id="ProjectNature"
name="Project Nature"
point="org.eclipse.core.resources.natures">
<runtime>
<run
class="myPackage.CustomProjectNature">
</run>
</runtime>
</extension>
<extension point="org.eclipse.ui.ide.projectNatureImages">
<image
id="ProjectNature.image"
natureId="myPackage.CustomProjectNature"
icon="icons/projectIcon.gif">
</image>
</extension>
使用wizzard创建新项目时,设置了性质:
final IProjectDescription description = p_projectHandle.getDescription();
final String[] natures = description.getNatureIds();
final String[] newNatures = new String[natures.length + 1];
System.arraycopy(natures, 0, newNatures, 0, natures.length);
newNatures[natures.length] = CustomProjectNature.NATURE_ID;
description.setNatureIds(newNatures);
p_projectHandle.setDescription(description, null);
导入相同的图标时设置。
有没有办法为其他位置的导入项目设置不同的图标?