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で先のハンドラクラスが実行されます。 もちろんコマンドとキーバインドの関連については何も変わってないので、キーバインドの設定画面には上記バインドが表示されています。 TIPS集 †関連リンク †この記事は
現在のアクセス:9685 |