Top / Eclipse / プラグイン開発のTIPS集 / キーバインディングを設定する(Eclipse3.3版)

Eclipse3.3になって、キーバインドの設定方法が変わった

キーバインディングを設定する で、Eclipseのキーバインドをどのように設定するか、ちゃんというとあるアクションに対してどうやってキーバインドを関連づけるかについて書きました。

Eclipse3.2までは、org.eclipse.ui.commands 拡張ポイントで「コマンド」を定義し、org.eclipse.ui.bindings 拡張ポイントでキーとコマンドIDを関連づけました。さらに、org.eclipse.ui.actionSets 拡張ポイントのactionタグつまりアクションクラスの設定側で

<action class="nu.mine.kino.plugin.samples.rcp.actions.HogeAction"
 definitionId="nu.mine.kino.plugin.samples.rcp.command" <- commandのid
 id="nu.mine.kino.plugin.samples.rcp.actions.HogeAction"
 label="アクション。"  menubarPath="sampleMenu/sampleGroup" style="push"
 toolbarPath="sampleGroup"/>

などとしてアクションとコマンドIDを関連づけることで、キーバインドを設定しました。

Eclipse3.3からはアクション関連の機構が、アクションクラスを使うのではなく、org.eclipse.ui.handlers 拡張ポイントと、org.eclipse.core.commands.AbstractHandler? クラスを拡張するように変更されているようで、キーバインド設定もそのように機構が変更されています。org.eclipse.ui.commands,org.eclipse.ui.bindings 拡張ポイントでコマンドとキーバインドを定義するまでは同じですが、コマンドIDに関連づけるのがアクションでなく、ハンドラに変更されています。具体的には以下の通り。

やってみる

ちなみにorg.eclipse.ui.commands,org.eclipse.ui.bindings 拡張ポイントは以下のように設定しました。

以上で、キーバインドの設定は完了です。このままだとメニューに表示されないので、キーボードショートカットからしかハンドラを起動できませんが、ctrl+9とかcommand+9で先のハンドラクラスが実行されます。

handlerExecute.png

もちろんコマンドとキーバインドの関連については何も変わってないので、キーバインドの設定画面には上記バインドが表示されています。

keybinding.png

TIPS集

関連リンク


この記事は

選択肢 投票
おもしろかった 0  
そうでもない 0  

Top / Eclipse / プラグイン開発のTIPS集 / キーバインディングを設定する(Eclipse3.3版)

現在のアクセス:9488


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS