私の RCP アプリケーションには、2 種類のエディターがあります (1 つは *.xsd ファイル用で、もう 1 つはその他のテキスト ファイル用です)。メイン メニューに新しい要素を追加しました。xsd エディターがアクティブな場合にのみ表示したいのですが、他のエディターがアクティブな場合は非表示にする必要があります (Eclipse では、開いているファイルが Java ファイルの場合は「リファクタリング」オプションが表示され、開いているファイルが xml の場合は非表示ですファイル)。メインメニューで要素を表示/非表示にする方法は、エディタの種類によって異なりますか?
1634 次
3 に答える
2
org.eclipse.ui.menus拡張ポイント、特にvisibleWhen
要素を見てください。メインメニューのサブメニューにコマンドを追加して、activeEditorId ==エディターIDのときにそれらを表示することができます。
<visibleWhen>
<with variable="activeEditorId">
<equals value="org.eclipse.example.my.editor"/>
</with>
</visibleWhen>
コア式も参照してください。
于 2012-07-16T18:42:47.107 に答える
1
私の知る限り、メニュー項目の可視性を変更することはできません。エディターがアクティブになっている場合は、最初からアイテムを追加しないでください。メニュー項目をどのように追加したかについてコードを投稿していただければ (これを行うには複数の方法があるため)、正確な確認方法についてさらに詳しく知ることができます。
于 2012-07-15T13:50:58.910 に答える
0
メニュー項目のコマンドのアクティブなハンドラーがない場合、その項目はメニューに表示されません。
現在の選択に基づいてメニュー内のコマンドの可用性を制御するためにactiveWhenを使用する例については、この質問を参照してください。
于 2012-07-16T13:37:39.990 に答える