Eclipse Android项目的对象类
我正在为Android开发一个Eclipse插件。为了使插件控件仅在所选文件夹是我添加的项目时可见 org.eclipse.core.resources.IProjectEclipse Android项目的对象类,eclipse,eclipse-plugin,adt,Eclipse,Eclipse Plugin,Adt,我正在为Android开发一个Eclipse插件。为了使插件控件仅在所选文件夹是我添加的项目时可见 org.eclipse.core.resources.IProject 作为插件清单中的对象类。但是,这使得控件对于任何Eclipse项目都可见。是否有可能使插件只对Android项目可见?我没有找到像IAndroidProject这样的接口。这不是通过接口或“instanceof”测试完成的。你需要利用Eclipe的“自然”概念 基本上,您需要调用“IProject.getNature()”并检
作为插件清单中的对象类。但是,这使得控件对于任何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的某些地方执行此操作的示例。。。但是根据扩展点的不同,它并不总是通过我在这里强调的语法。如果你找到了适合你的方法,那就是好方法:)。