最終,我想將自己的自定義自然添加到(特別是)Android項目。爲此,我想添加到android項目的配置菜單中:添加Shush Nature和Remove Shush Nature。但是,我似乎無法對Android或Java項目執行此操作。將自定義屬性添加到現有Android項目
我認爲android項目(根據他們的.project)具有性質:com.android.ide.eclipse.adt.AndroidNature
。
所以我創建了兩個定義:
<extension
point="org.eclipse.core.expressions.definitions">
<definition
id="test.androidProjectNature">
<with variable="selection">
<iterate operator="or" ifEmpty="false">
<test
property="org.eclipse.core.resources.projectNature"
value="com.android.ide.eclipse.adt.AndroidNature">
</test>
</iterate>
</with>
</definition>
<definition
id="test.shushProject">
<with variable="selection">
<iterate operator="or" ifEmpty="false">
<test
property="org.eclipse.core.resources.projectNature"
value="mobi.shush.plugin.nature">
</test>
</iterate>
</with>
</definition>
據稱,定義test.androidProjectNature
必測項目是否是一個Android項目,test.shushProject
必測項目是否有我的自定義特性。
我的問題是,我無法作出以下命令什麼那麼:
<extension
point="org.eclipse.ui.menus">
<menuContribution
locationURI="popup:org.eclipse.ui.projectConfigure?after=additions">
<command
commandId="Shush-Plugin.addRemoveShushNature"
label="Disable Shush Nature"
style="push">
<visibleWhen>
<reference
definitionId="test.shushProject">
</reference>
</visibleWhen>
</command>
<command
commandId="Shush-Plugin.addRemoveShushNature"
label="Enable Shush Nature"
style="push">
<visibleWhen>
<reference
definitionId="test.androidProjectNature">
</reference>
</visibleWhen>
</command>
</menuContribution>
啓用噓自然是出現在使用新建>項目創建的項目(不是Java項目) 。在我看來,這個問題與android沒有直接關係,因爲事實上,即使我在org.eclipse.jdt.core.javanature
上添加了一個支票,它也不會出現在java項目中。在另一個說明中,構建器和自然的默認擴展示例似乎將兩個菜單添加到僅由新建>項目創建的項目(再次)。
非常有趣! – amd
謝謝你的建設性意見。 @艾哈邁德 –