加速器範圍

加速器範圍適用來定義快速鍵的適當環境定義。工作台定義了兩個加速器範圍:

範圍指定當加速器集在作用中(在作用中的加速器配置中)。在加速器集標記中宣告範圍:

<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>

Copyright IBM Corp. and others 2000,2002.