eclipse-plugin を開発しており、package-explorer のコンテキスト メニューに貢献しています。古い を使用してorg.eclipse.ui.popupMenus
、コントリビューションで name-filter を指定できるため、選択したファイルに特定の名前がある場合にのみメニュー エントリが表示されます。
<extension
point="org.eclipse.ui.popupMenus">
<objectContribution
adaptable="false"
id="..."
nameFilter="file.xml"
objectClass="org.eclipse.core.resources.IFile">
...
</objectContribution>
</extension>
ここで、新しい方法を使用してそのコンテキスト メニューを作成し、ファイルがない場合はエントリを無効にすることもできます。
<extension
point="org.eclipse.ui.menus">
<menuContribution
allPopups="false"
locationURI="popup:org.eclipse.jdt.ui.PackageExplorer">
<command
commandId="..."
label="..."
style="push">
</command>
</menuContribution>
</extension>
<extension
point="org.eclipse.ui.commands">
<command
id="..."
name="...">
</command>
</extension>
<extension
point="org.eclipse.ui.handlers">
<handler
class="..."
commandId="...">
<activeWhen>
<with
variable="selection">
<iterate
ifEmpty="false"
operator="and">
<adapt
type="org.eclipse.core.resources.IFile">
</adapt>
</iterate>
</with>
</activeWhen>
</handler>
</extension>
(比較: Eclipse プラグインのメニュー項目を有効/無効にする)
ただし、ファイルが選択されていない場合だけでなく、ファイルが xml ファイルでない場合にも、エントリを無効にする必要があります。-tagの何かをハッキングしようとしました<activeWhen>
が、ファイル名も監視できるようにする解決策が見つかりませんでした。
これを行う可能性はありますか?そしてもし:どのように?