アクション定義とそのアクションを起動するキー組み合わせとの関連付けは、アクセラレーターと呼ばれます。 アクセラレーター・セットは、アクセラレーターのリストです。 プラグインは、org.eclipse.ui.acceleratorSets 拡張ポイントを使用して、アクセラレーター・セットを組み込みます。 ワークベンチは、以下の emacs のようなキー・バインディングを提供するアクセラレーター・セットを定義します。
<extension point="org.eclipse.ui.acceleratorSets"> <acceleratorSet scopeId="org.eclipse.ui.globalScope" configurationId="org.eclipse.ui.emacsAcceleratorConfiguration"> <accelerator key="Ctrl+F4||Ctrl+X Ctrl+K" id="org.eclipse.ui.file.close"> </accelerator> <accelerator key="Ctrl+Shift+F4||Ctrl+X Ctrl+C" id="org.eclipse.ui.file.closeAll"> </accelerator> <accelerator key="Ctrl+X Ctrl+S" id="org.eclipse.ui.file.save"> </accelerator> ...
同様に org.eclipse.ui.file.save もあります。 仮定のアクション定義を思い出してください。
<extension point = "org.eclipse.ui.actionSets"> <actionSet id="com.example.actions.actionSet" label="Example Actions" visible="true"> <action id="com.example.actions.action1" menubarPath="additions" label="Example Save Action" class="org.example.actions.ExampleActionDelegate" definitionID="org.eclipse.ui.file.save"> </action> ... </actionSet> </extension>
サンプルのアクション・セットがアクティブであるとき、Ctrl+X に続いて Ctrl+S を選択すると、save アクションが起動されます。 ("Ctrl+Shift+F4||Ctrl+X Ctrl+C" のように || を使用すると、そのアクションを起動するために、 どちらのキー組み合わせを使用できるか指示することができます。)
同様に、ワークベンチ SaveAction がアクティブであるときは、同じキー組み合わせを使用して、代わりに起動できます。 これは、ワークベンチが SaveAction のために同じアクション定義 ID を使用するためです。
サンプルを完了するには、scopeID および configurationId について理解する必要があります。 まず構成について考えてみましょう。