加速器範圍適用來定義快速鍵的適當環境定義。工作台定義了兩個加速器範圍:
範圍指定當加速器集在作用中(在作用中的加速器配置中)。在加速器集標記中宣告範圍:
<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>
...
如何判定現行範圍?依預設,工作台在廣域範圍中運作。當文字編輯器變為作用中的,負責重設範圍至文字編輯器範圍。所有都由工作台以及文字編輯器程式碼所處理。大部分外掛程式只需要在定義加速器集時決定適當的範圍。
外掛程式定義加速器集時,它通常指派至現有的範圍中。然而,如果外掛程式定義新的編輯器樣式,您可能也想要為加速器快速鍵簡介新範圍。例如,多重頁面編輯器在編輯器中,每一個頁面可能有不同的範圍。
當您自行定義範圍時,根據外掛程式的需求確定已設定適當的範圍在 IKeyBindingService ,也為編輯器設定適當的範圍。關於如何作用(雙關語!)的完整討論則超出範圍。請參閱 IKeyBindingService 和實作者以取得詳細資料。
外掛程式使用 org.eclipse.ui.acceleratorScopes 延伸點定義加速器範圍。廣域工作台標記和文字編輯器配置顯示如下:
<extension
point="org.eclipse.ui.acceleratorScopes">
<acceleratorScope
name="%GlobalAcceleratorScope.name"
description="%GlobalAcceleratorScope.description"
id="org.eclipse.ui.globalScope">
</acceleratorScope>
<acceleratorScope
name="%TextEditorAcceleratorScope.name"
parentScope="org.eclipse.ui.globalScope"
description="%TextEditorAcceleratorScope.description"
id="org.eclipse.ui.textEditorScope">
</acceleratorScope>
</extension>