Android项目的对象类

时间:2011-11-23 21:24:35

标签: eclipse eclipse-plugin adt

我正在开发一个适用于Android的Eclipse插件。为了使插件控件仅在所选文件夹是我添加的项目时可见

org.eclipse.core.resources.IProject

作为插件清单中的对象类。但是,这使控件对任何Eclipse项目都可见。是否有可能使插件仅对Android项目可见?我没有找到像IAndroidProject这样的界面。

2 个答案:

答案 0 :(得分:1)

这不会通过接口或“instanceof”测试来完成。你需要利用Eclipe的“自然”概念。

基本上,您需要调用“IProject.getNature()”并检查是否返回“null”(不是Android项目)或实际的IProjectNature实例。如果我没记错的话,Android项目的ID就是com.android.ide.eclipse.adt.AndroidNature

编辑:请注意,如果您尝试通过plugin.xml声明(“when”或“enabledWhen”等)来实现此目的,则需要包含“和”两者:

  • “instanceof”测试检查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>

它是神奇的。