指令

org.eclipse.ui.commands

2.1

org.eclipse.ui.commands 延伸點係用來利用 commandcategory 元素, 來宣告指令和指令種類。透過這個延伸點,使用者也可以利用 keyBinding 元素, 指定按鍵順序給指令。按鍵順序也會利用 keyConfigurationcontext 元素, 根據這裡宣告的按鍵配置和環境定義來連結至指令。

<!ELEMENT extension (activeKeyConfiguration , category , command , keyBinding , keyConfiguration , context)>

<!ATTLIST extension

id    CDATA #IMPLIED

name  CDATA #IMPLIED

point CDATA #REQUIRED>


<!ELEMENT activeKeyConfiguration EMPTY>

<!ATTLIST activeKeyConfiguration

value              CDATA #IMPLIED

keyConfigurationId CDATA #IMPLIED>

這個元素用來定義 Eclipse 的起始作用中按鍵配置。如果這些元素有多個存在,僅最後宣告的元素(按讀取外掛程式登錄的次序)才視為有效。



<!ELEMENT category EMPTY>

<!ATTLIST category

description CDATA #IMPLIED

id          CDATA #REQUIRED

name         CDATA #REQUIRED>

在 UI 中,指令通常是按種類來組織,這使得它們更加容易管理。這個元素用來定義這些種類。指令可以將它們自己新增至最多一個種類中。如果這些元素有多個存在且具有相同 id 屬性, 僅最後宣告的元素(按讀取外掛程式登錄的次序)才視為有效。



<!ELEMENT command EMPTY>

<!ATTLIST command

category    CDATA #IMPLIED

description CDATA #IMPLIED

id          CDATA #REQUIRED

name        CDATA #REQUIRED

categoryId  CDATA #IMPLIED>

這個元素用來定義指令。指令代表來自使用者的要求,這個要求可被動作處理,而且在其他指令之間應該具有專屬的語意。如果已定義一個具有相同意義的指令, 請不要定義它。如果這些元素有多個存在且具有相同 id 屬性, 僅最後宣告的元素(按讀取外掛程式登錄的次序)才視為有效。請參閱 org.eclipse.ui.actionSetsorg.eclipse.ui.editorActions 延伸點,以瞭解動作如何連接至指令。



<!ELEMENT keyBinding EMPTY>

<!ATTLIST keyBinding

configuration      CDATA #IMPLIED

command            CDATA #IMPLIED

locale             CDATA #IMPLIED

platform           CDATA #IMPLIED

contextId          CDATA #IMPLIED

string             CDATA #IMPLIED

scope              CDATA #IMPLIED

keyConfigurationId CDATA #IMPLIED

commandId          CDATA #IMPLIED

keySequence        CDATA #IMPLIED>

這個元素可讓使用者指派按鍵順序給指令。



<!ELEMENT keyConfiguration EMPTY>

<!ATTLIST keyConfiguration

description CDATA #IMPLIED

id          CDATA #REQUIRED

name        CDATA #REQUIRED

parent      CDATA #IMPLIED

parentId    CDATA #IMPLIED>

這個元素用來定義按鍵配置。如果這些元素有多個存在且具有相同 id 屬性, 僅最後宣告的元素(按讀取外掛程式登錄的次序)才視為有效。



<!ELEMENT context EMPTY>

<!ATTLIST context

description CDATA #IMPLIED

id          CDATA #REQUIRED

name        CDATA #REQUIRED

parent      CDATA #IMPLIED

parentId    CDATA #IMPLIED>

這個元素用來定義環境定義。如果這些元素有多個存在且具有相同 id 屬性, 僅最後宣告的元素(按讀取外掛程式登錄的次序)才視為有效。



<!ELEMENT handlerSubmission EMPTY>

<!ATTLIST handlerSubmission

commandId CDATA #REQUIRED

handler   CDATA #REQUIRED>

這個元素宣告指令的處理常式。這個處理常式就會以給定的限制來關聯指令。在啟動時會完成這個關聯性。建立與處理常式的關聯性不代表這個處理常式將一定是工作台所選擇的處理常式;實際的選擇是由檢查工作台狀態和比較各種處理常式提交項目而決定。

這個特定的 API 仍應該視為實驗性質。您可以使用,但是必須能接受這個 API 在未來可能會完全改變或整個移除。我們很歡迎您對這個 API 提出意見︰platform-ui-dev@eclipse.org



<!ELEMENT scope EMPTY>

<!ATTLIST scope

description CDATA #IMPLIED

id          CDATA #REQUIRED

name        CDATA #REQUIRED

parent      CDATA #IMPLIED>

這個元素用來定義範圍。如果這些元素有多個存在且具有相同 id 屬性, 僅最後宣告的元素(按讀取外掛程式登錄的次序)才視為有效。 @deprecated 請改用 "org.eclipse.ui.contexts" 延伸點。



org.eclipse.ui 外掛程式中的 plugin.xml 檔會充分利用 org.eclipse.ui.commands 延伸點。

除了這個延伸點之外,這不是用於宣告指令、種類、按鍵連結、按鍵配置或環境定義的公開 API。查詢和設定環境定義的公開 API,以及登錄動作以處理特定指令的公用 API 可在 org.eclipse.ui.IKeyBindingService 中找到。