エディタのキーバインディング
エディタのキーバインディング。まだよくわかってないんだけど、こんな感じで動きました。
<extension point="org.eclipse.ui.commands"> <category name="Hoge Editor" description="aaa" id="com.muimi.hoge.command.category"> </category> <scope id="com.muimi.hoge.hogeScope" name="Hoge Editor" parent="org.eclipse.ui.textEditorScope" description="Hoge Editor Scope" > </scope> <command id="mytest.open" name="open" category="com.muimi.hoge.command.category" > </command> <keyBinding string="F3" scope="com.muimi.hoge.hogeScope" command="mytest.open" configuration="org.eclipse.ui.defaultAcceleratorConfiguration"> </keyBinding> </extension>
この例ではF3キーをわりあてている。mytest.openというIDが前のリターゲットのアクションのdefinitionIdに指定してある(特に別にactionを指定しなくてもいいかもしれない)。
スコープを新たに作成してある。作成したスコープとキーバインドは、ウィンドウ→設定→ワークベンチ→キー で確認できる。グローバルなスコープに他のプラグインと同じキーを割り当てると競合する(のが確認できる)。
スコープを新たに作成した場合、Editorクラスで、initializeKeyBindingScopes()メソッドをオーバーライドして、スコープを設定する必要がある(これで結構はまった。マニュアルには書いてはある)。
protected void initializeKeyBindingScopes() { setKeyBindingScopes(new String[] { "com.muimi.hoge.hogeScope" }); }