メニューバーとツールバーに追加する単一のコマンドをバインドし、これらのコマンドのキーボード ショートカットを用意するのに適しているため、現在、多くの SWT アクションを実装しています。
さて...メニューバーに追加せずにプレーンなSWT/JFaceにアクションを登録するにはどうすればよいでしょうか。
イベントで使用Display.addFilter
して、プレーンな SWT でこれを解決するために使用しKeyDown
ます。例については、この質問を参照してください。
org.eclipse.ui.bindings 拡張機能を使用して、新しいキーを追加します。
シーケンスを割り当てます(M1、M2、M3、および M4 は、システムに応じて、Shift、Command、および Alt などのキーを表すために使用されます)。たとえば、コマンドのキー コンボとして Alt+D を割り当てたので、シーケンス フィールドに「M3+D」と入力しました。
キーバインディングを機能させるには、 schemaIdを選択する必要があります。バインディング拡張の下に作成できます。ID を割り当てるだけです。次に、「plugin_customization.ini」ファイルにエントリを追加する必要があります。
org.eclipse.ui/KEY_CONFIGURATION_ID=your.binding.scheme.id
または、「org.eclipse.ui.defaultAcceleratorConfiguration」をスキームIDとして使用することもできますが、これには多くのEclipseのキーコンボが含まれており、あなたのものをオーバーライドすると思います.
contextIdフィールドを空白のままにしておくことができます。その場合、デフォルトで org.eclipse.ui.contexts.window になります。
最後に、コマンドの ID を指定するだけで設定完了です!