架構

架構是用來代表連結的一般樣式或主題。 例如,「工作台」提供「預設」架構和 "Emacs" 架構。  在任何給定的時間裡,僅能有一個架構在作用中。  一般使用者可以使用一般喜好設定對話框,來控制哪一個是在作用中。

從實作的觀點來看,架構僅是連結的具名分組。  架構並不會自行完成任何動作,除非有連結與它相關聯。  

讓我們再次查看工作台標記上的 org.eclipse.ui.bindings ,以尋找連結定義,以及架構如何與連結建立關聯性。

...
<key
       sequence="Ctrl+S"
       commandId="org.eclipse.ui.file.save"
       schemeId="org.eclipse.ui.defaultAcceleratorConfiguration">
</key>
...
<key
       sequence="Ctrl+X Ctrl+S"
       commandId="org.eclipse.ui.file.save"
       schemeId="org.eclipse.ui.emacsAcceleratorConfiguration">
</key>
...

有兩個不同的按鍵連結定義給 "org.eclipse.ui.file.save" 指令。  請注意,每一個按鍵連結都具有不同的已定義 schemeId。 當預設架構作用中時,"Ctrl+S" 按鍵連結會呼叫指令。 當 emacs 架構作用中時,按鍵順序 "Ctrl+X Ctrl+S" 會呼叫指令。

定義新架構

當您的外掛程式定義連結時,它最有可能將它指定給現有的架構。  然而,您的外掛程式可能想要定義全新樣式的架構。 若是如此,您可以在 org.eclipse.ui.bindings 定義內,定義新類型的架構。 定義預設和 emacs 按鍵配置的工作台標記如下所示:

...
<scheme
       name="%keyConfiguration.default.name"
       description="%keyConfiguration.default.description"
       id="org.eclipse.ui.defaultAcceleratorConfiguration">
</scheme>
<scheme
       name="%keyConfiguration.emacs.name"
       parentId="org.eclipse.ui.defaultAcceleratorConfiguration"
       description="%keyConfiguration.emacs.description"
       id="org.eclipse.ui.emacsAcceleratorConfiguration">
</scheme>
...

請注意,在這裡定義的 name 是在喜好設定頁面中,用於架構清單中的名稱。

啟動架構

使用者可以透過喜好設定頁面來控制作用中的架構。  然而,您可以將預設作用中的架構定義成 "plugin_customization.ini" 檔的一部分。它是一個喜好設定:

org.eclipse.ui/KEY_CONFIGURATION_ID=org.eclipse.ui.defaultAcceleratorConfiguration