我正在开发一个适用于Android的Eclipse插件。为了使插件控件仅在所选文件夹是我添加的项目时可见
org.eclipse.core.resources.IProject
作为插件清单中的对象类。但是,这使控件对任何Eclipse项目都可见。是否有可能使插件仅对Android项目可见?我没有找到像IAndroidProject这样的界面。
答案 0 :(得分:1)
这不会通过接口或“instanceof”测试来完成。你需要利用Eclipe的“自然”概念。
基本上,您需要调用“IProject.getNature()”并检查是否返回“null”(不是Android项目)或实际的IProjectNature实例。如果我没记错的话,Android项目的ID就是com.android.ide.eclipse.adt.AndroidNature
。
编辑:请注意,如果您尝试通过plugin.xml声明(“when”或“enabledWhen”等)来实现此目的,则需要包含“和”两者:
org.eclipse.core.resources.IProject
和org.eclipse.core.resources.projectNature
。这给出了类似的东西:
<and>
<instanceof value="org.eclipse.core.resources.IProject"/>
<test
property="org.eclipse.core.resources.projectNature"
value="com.android.ide.eclipse.adt.AndroidNature">
</test>
</and>
答案 1 :(得分:0)
只需将下面给出的标签添加到plugin.xml:
<filter name="projectNature" value="com.android.ide.eclipse.adt.AndroidNature"> </filter>
它是神奇的。