範圍

範圍是用來定義快速鍵連結的適當環境定義。工作台定義兩個快速鍵連結範圍:

範圍指定快速鍵連結(在作用中的快速鍵配置)何時可視為作用中。範圍是在快速鍵連結標記中宣告:

...
<keyBinding
       string="Ctrl+S"
       scope="org.eclipse.ui.globalScope"
       command="org.eclipse.ui.file.save"
       configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
</keyBinding>
...
<keyBinding
       string="Ctrl+X Ctrl+S"
       scope="org.eclipse.ui.globalScope"
       command="org.eclipse.ui.file.save"
       configuration="org.eclipse.ui.emacsAcceleratorConfiguration">
</keyBinding>

如何判定現行範圍?依預設,工作台是在廣域範圍中運作。 當文字編輯器變成作用中時,它負責將範圍重設為文字編輯器範圍。 這全都由工作台和文字編輯器程式碼所處理。 大部分外掛程式僅需要在定義它們的快速鍵連結時,判定這些快速鍵連結的適當範圍。   

定義新的範圍

當外掛程式定義快速鍵連結時,它通常會將它指定給現有的範圍。 然而,如果外掛程式定義新的編輯器樣式,您可能也想要為快速鍵連結引進新的範圍。 舉例來說,多頁編輯器的每一頁在編輯器中可能有不同的範圍。  

當您自行定義範圍時,根據外掛程式的需求確定已設定適當的範圍在 IKeyBindingService ,也為編輯器設定適當的範圍。關於如何作用(雙關語!)的完整討論則超出範圍。請參閱 IKeyBindingService 和實作者以取得詳細資料。

外掛程式定義它們在 org.eclipse.ui.commands 延伸點內(其他地方)的範圍。 廣域和文字編輯器範圍的工作台標記位於延伸項目定義的底端:

   <extension
         point="org.eclipse.ui.commands">
      ...
      <scope
            name="%scope.global.name"
            description="%scope.global.description"
            id="org.eclipse.ui.globalScope">
      </scope>
      <scope
            name="%scope.text.name"
            parent="org.eclipse.ui.globalScope"
            description="%scope.text.description"
            id="org.eclipse.ui.textEditorScope">
      </scope>
</extension>

Copyright IBM Corporation and others 2000, 2003.