トラブルシューティングに問題があるというこの問題があります。同じビューを含む 2 つのパースペクティブがあります。このビューには、instanceof に基づいて有効になるメニューがあります。ツリーからアイテムを選択して右クリックすると、instanceof が適合するため、メニューが有効になります。次に、同じビューを持つ別のパースペクティブに変更すると、ツリー内の選択は変更されませんが、選択されている同じアイテムを右クリックすると、メニューが有効になりません。メニューを再度有効にするには、ビューをクリックしてから戻す必要があります。plugin.xml を定義する方法は次のとおりです。パースペクティブを変更しない場合は正常に機能するため、plugin.xml は問題ないと思います。パースペクティブを変更するとメニューが更新されるのに、再チェックしない理由を理解する必要があります。
また、このビューを含まないパースペクティブに切り替えると、戻ったときにメニューが有効になります。
<extension
point="org.eclipse.ui.commands">
<command
id="com.cerner.automation.touchstone.workflow.Modify"
name="%com.cerner.automation.touchstone.workflow.Modify.label">
</command>
<extension
point="org.eclipse.ui.handlers">
<handler
commandId="com.cerner.automation.touchstone.workflow.Modify">
<enabledWhen>
<with
variable="selection">
<iterate
ifEmpty="false"
operator="and">
<instanceof
value="com.cerner.automation.touchstone.model.ModuleItem">
</instanceof>
</iterate>
</with>
</enabledWhen>
</handler>
</extension>
<extension
point="org.eclipse.ui.menus">
<menuContribution
locationURI="popup:com.cerner.automation.touchstone.views.ModuleView">
<command
commandId="com.cerner.automation.touchstone.workflow.Modify"
icon="icons/modify.png"
label="%com.cerner.automation.touchstone.workflow.Modify.label"
style="push">
</command>
</menuContribution>
</extension>