org.eclipse.ui.bindings 延伸點用來宣告連結及架構。架構為一或多個連結的集合。連結是特定條件群組、部份使用者輸入及觸發的指令間的對映。
所有的連結皆需要某種觸發,且處於作用中的環境定義,並存在於架構。
如果您不確定要選擇哪一個環境定義,請將其留白。
預設會使用 "org.eclipse.ui.contexts.window" 環境定義。
這個環境定義代表連結會套用在任何 Eclipse 主視窗中。
當環境定義成為作用中時,連結也會變成作用中。
來自子項的環境定義連結將會置換母項的環境定義。如需相關資訊,請參閱 org.eclipse.ui.contexts 延伸點。
如果連結未定義指令 ID,則會顯示一個刪除標記。這表示如果符合所有的條件,將會取消在相同的環境定義中任何具有相同觸發的連結。舉例來說,這個機制可以用於在特定平台上變更連結時。
連結的其中一個種類為 key 連結(例如,鍵盤快速鍵)。
例如,連結 Ctrl+C 至 Copy 被視為 key 連結。按鍵連結的觸發為一序列的按鍵作用。
架構是使用者可以選取的連結組合。例如,使用者可能想要使用預設的架構,但他們可能也想要 Emacs 式的架構或簡式架構。
<!ELEMENT extension (scheme , key)>
<!ATTLIST extension
point CDATA #REQUIRED
id CDATA #IMPLIED
name CDATA #IMPLIED>
<!ELEMENT scheme EMPTY>
<!ATTLIST scheme
id CDATA #REQUIRED
name CDATA #REQUIRED
description CDATA #IMPLIED
parentId CDATA #IMPLIED>
架構是使用者可以選擇使用的一組連結。
可以從母項架構繼承連結。這可以使外掛程式開發人員更容易建立自訂的連結集。 如果具有相同的觸發,子項架構中所定義的作用中連結將會一律置換母項架構中的作用連結。 這項技術用來在工作台中提供 Emacs 架構。
<!ATTLIST key
sequence CDATA #REQUIRED
schemeId CDATA #REQUIRED
contextId CDATA "org.eclipse.ui.contexts.window"
commandId CDATA #IMPLIED
platform CDATA #IMPLIED
locale CDATA #IMPLIED>
部分鍵盤輸入及指令觸發的連結。
此連結的按鍵順序。此按鍵順序是由一或多個按鍵作用所組成。按鍵作用以空格區隔。按鍵作用是同時按住一或多個按鍵所組成。這應為零或多個修正鍵,以及一個其他鍵所組成。按鍵由 + 字元區隔。
可辨識的修正鍵為 M1、M2、M3、M4、ALT、COMMAND、CTRL,以及 SHIFT。"M" 修正鍵為代表按鍵可在不同的平台上執行的方法,這些是廣泛受偏好的。M1 是 MacOS X 上的 COMMAND 鍵,在大部份其他平台上則為 CTRL 鍵。M2 為 SHIFT 鍵。M3 是 MacOS X 上的 Option 鍵,在大部份其他平台上為 ALT 鍵。M4 是 MacOS X 上的 CTRL 鍵,在其他平台上未定義。
實際的按鍵通常簡單地以 ASCII 大寫字元指定。所以,例如 F 或 , 為這類按鍵的範例。然而,有一些特殊按鍵;不具有可列印 ASCII 表示法的按鍵。以下為現行特殊按鍵清單:ARROW_DOWN、ARROW_LEFT、ARROW_RIGHT、ARROW_UP、BREAK、BS、CAPS_LOCK、CR、DEL、END、ESC、F1、F2、F3、F4、F5、F6、F7、F8、F9、F10、F11、F12、F13、F14、F15、FF、HOME、INSERT、LF、NUL、NUM_LOCK、NUMPAD_0、NUMPAD_1、NUMPAD_2、NUMPAD_3、NUMPAD_4、NUMPAD_5、NUMPAD_6、NUMPAD_7、NUMPAD_8、NUMPAD_9、NUMPAD_ADD、NUMPAD_DECIMAL、NUMPAD_DIVIDE、NUMPAD_ENTER、NUMPAD_EQUAL、NUMPAD_MULTIPLY、NUMPAD_SUBTRACT、PAGE_UP、PAGE_DOWN、PAUSE、PRINT_SCREEN、SCROLL_LOCK, SPACE、TAB 與 VT。
我們亦瞭解部份共用特殊按鍵具有替代名稱。例如,我們接受 ESC 和 ESCAPE,且 CR、ENTER 與 RETURN 則全部相同。
強烈建議您儘量縮短按鍵順序。您最多只需要一或二個按鍵。使用環境定義在應用程式的不同部份給與按鍵順序不同的意義。最多,按鍵順序中不應使用超過四個按鍵作用。
org.eclipse.ui.contexts 延伸點。如果未指定,則會預設為 org.eclipse.ui.contexts.window。在觸發連結時應執行的指令 ID。
如果未指定指令 ID,則會顯示刪除標記。這表示在相同環境定義中,具有相同順序、平台與語言環境的連結,將會在此連結成為作用中時變成非作用中。如果未指定要刪除的平台或語言環境,則它會比對任何平台或語言環境。
SWT.getPlatform() 的字串相同的方式指定。例如,以下字串被視為有效的:win32、gtk、motif、carbon 與 photon。Locale.toString() 相同的方式指定。例如,可以瞭解 "en" 或 "en_CA"。<!ELEMENT parameter EMPTY>
<!ATTLIST parameter
id CDATA #IMPLIED
value CDATA #IMPLIED>
執行時應該傳遞至指令的參數名稱及值。這容許指令以相同方式定義。例如,"Show View" 指令可能會接受視圖 ID 作為參數。
<extension point=
"org.eclipse.ui.bindings"
>
<key sequence=
"M2+F5"
commandId=
"commandId"
schemeId=
"default"
contextId=
"windows"
/>
<scheme name=
"預設值"
description=
"Eclipse 的預設捷徑"
id=
"default"
/>
</extension>
沒有定義連結的公用 API。若要嘗試達到使用者的穩定性,只會透過延伸點定義連結。如果是 RCP 應用程式,您應可以在 WorkbenchAdvisor 中置換此行為。
若要讓連結產生作用,您必須定義指令。若要讓連結產生作用,該指令必須具有作用中的處理常式。處理常式可以以程式化的方式登錄;請參閱 org.eclipse.ui.handlers 延伸點。
Copyright (c) 2005 IBM Corporation and others.
All rights reserved. 本程式與隨附的資料依照 Elipse Public License 1.0 版此次發行所隨附的條款而提供,
可以在以下網址取得:http://www.eclipse.org/legal/epl-v10.html