Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Eclipse Android项目的对象类_Eclipse_Eclipse Plugin_Adt - Fatal编程技术网

Eclipse Android项目的对象类

Eclipse Android项目的对象类,eclipse,eclipse-plugin,adt,Eclipse,Eclipse Plugin,Adt,我正在为Android开发一个Eclipse插件。为了使插件控件仅在所选文件夹是我添加的项目时可见 org.eclipse.core.resources.IProject 作为插件清单中的对象类。但是,这使得控件对于任何Eclipse项目都可见。是否有可能使插件只对Android项目可见?我没有找到像IAndroidProject这样的接口。这不是通过接口或“instanceof”测试完成的。你需要利用Eclipe的“自然”概念 基本上,您需要调用“IProject.getNature()”并检

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

org.eclipse.core.resources.IProject


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

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

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

编辑:请注意,如果您试图通过plugin.xml声明(“when”或“enabledWhen”或诸如此类)来实现这一点,则需要有一个“and”,其中包含:

  • 检查
    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>

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

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

编辑:请注意,如果您试图通过plugin.xml声明(“when”或“enabledWhen”或诸如此类)来实现这一点,则需要有一个“and”,其中包含:

  • 检查
    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>

只需将下面给出的标签添加到plugin.xml:

<filter name="projectNature" value="com.android.ide.eclipse.adt.AndroidNature"> </filter>


它很神奇。

只需将下面给出的标记添加到plugin.xml中即可:

<filter name="projectNature" value="com.android.ide.eclipse.adt.AndroidNature"> </filter>


这很神奇。

谢谢你提供的宝贵信息。我尽力按照你的回答去做。但我不能那样做。但后来我用谷歌搜索了我的问题,发现了这个。我刚刚加上了一个标签,这个标签就成功了。这个工作很好。可以吗?或者这是一种错误的方法?通常有多种方法来做同样的事情,基本的想法是指向“自然”,因为它是你所需要的;然后,我只给出了如何在plugin.xml的某些地方执行此操作的示例。。。但是根据扩展点的不同,它并不总是通过我在这里强调的语法。如果你找到了适合你的方法,那就是好方法:)。谢谢你提供的宝贵信息。我尽力按照你的回答去做。但我不能那样做。但后来我用谷歌搜索了我的问题,发现了这个。我刚刚加上了一个标签,这个标签就成功了。这个工作很好。可以吗?或者这是一种错误的方法?通常有多种方法来做同样的事情,基本的想法是指向“自然”,因为它是你所需要的;然后,我只给出了如何在plugin.xml的某些地方执行此操作的示例。。。但是根据扩展点的不同,它并不总是通过我在这里强调的语法。如果你找到了适合你的方法,那就是好方法:)。