連結

org.eclipse.ui.bindings

3.1

org.eclipse.ui.bindings 延伸點用來宣告連結及架構。架構為一或多個連結的集合。連結是特定條件群組、部份使用者輸入及觸發的指令間的對映。

所有的連結皆需要某種觸發,且處於作用中的環境定義,並存在於架構。 如果您不確定要選擇哪一個環境定義,請將其留白。 預設會使用 "org.eclipse.ui.contexts.window" 環境定義。 這個環境定義代表連結會套用在任何 Eclipse 主視窗中。 當環境定義成為作用中時,連結也會變成作用中。 來自子項的環境定義連結將會置換母項的環境定義。如需相關資訊,請參閱 org.eclipse.ui.contexts 延伸點。

如果連結未定義指令 ID,則會顯示一個刪除標記。這表示如果符合所有的條件,將會取消在相同的環境定義中任何具有相同觸發的連結。舉例來說,這個機制可以用於在特定平台上變更連結時。

連結的其中一個種類為 key 連結(例如,鍵盤快速鍵)。 例如,連結 Ctrl+CCopy 被視為 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 架構。



<!ELEMENT key (parameter)>

<!ATTLIST key

sequence  CDATA #REQUIRED

schemeId  CDATA #REQUIRED

contextId CDATA "org.eclipse.ui.contexts.window"

commandId CDATA #IMPLIED

platform  CDATA #IMPLIED

locale    CDATA #IMPLIED>

部分鍵盤輸入及指令觸發的連結。



<!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 延伸點。