架構是用來代表連結的一般樣式或主題。 例如,「工作台」提供「預設」架構和 "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