加速器範圍適用來定義快速鍵的適當環境定義。工作台定義了兩個加速器範圍:
範圍指定當加速器集在作用中(在作用中的加速器配置中)。在加速器集標記中宣告範圍:
<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>