2.1
org.eclipse.ui.commands
延伸點係用來利用 command
和 category
元素,
來宣告指令和指令種類。指令為某些語意行為的抽象表示法,但不是實際的實作方式。
這可讓不同開發人員提出各自個別組件的專屬行為模式。
例如,在某個編輯器中可能有一種實作方式的「貼上」指令,但在檔案總管小組件中有不同的實作方式。
這些實作方式稱為處理常式。
<!ELEMENT extension (activeKeyConfiguration , category , command , keyBinding , keyConfiguration , context , scope)>
<!ATTLIST extension
id CDATA #IMPLIED
name CDATA #IMPLIED
point CDATA #REQUIRED>
<!ELEMENT activeKeyConfiguration EMPTY>
<!ATTLIST activeKeyConfiguration
value CDATA #IMPLIED
keyConfigurationId CDATA #IMPLIED>
這個元素用來定義 Eclipse 的起始作用中按鍵配置。如果這些元素有多個存在,僅最後宣告的元素(按讀取外掛程式登錄的次序)才視為有效。
此元素已被喜好設定所取代。如果您的應用程式需要變更預設按鍵配置,請在您的 plugin_customization.ini
檔:org.eclipse.ui/KEY_CONFIGURATION_ID=your.default.key.configuration.id
中指定以下各項。
id
屬性)。id
屬性)。<!ELEMENT category EMPTY>
<!ATTLIST category
description CDATA #IMPLIED
id CDATA #REQUIRED
name CDATA #REQUIRED>
在 UI 中,指令通常是按種類來組織,這使得它們更加容易管理。這個元素用來定義這些種類。指令可以將它們自己新增至最多一個種類中。如果這些元素有多個存在且具有相同 id
屬性,
僅最後宣告的元素(按讀取外掛程式登錄的次序)才視為有效。
<!ELEMENT command (commandParameter | defaultHandler?)>
<!ATTLIST command
category CDATA #IMPLIED
description CDATA #IMPLIED
id CDATA #REQUIRED
name CDATA #REQUIRED
categoryId CDATA #IMPLIED
defaultHandler CDATA #IMPLIED>
這個元素用來定義指令。指令代表來自使用者的要求,這個要求可被動作處理,而且在其他指令之間應該具有專屬的語意。如果已定義一個具有相同意義的指令,
請不要定義它。如果這些元素有多個存在且具有相同 id
屬性,
僅最後宣告的元素(按讀取外掛程式登錄的次序)才視為有效。請參閱 org.eclipse.ui.actionSets 和 org.eclipse.ui.editorActions 延伸點,以瞭解動作如何連接至指令。
activeWhen
條件的處理常式定義衝突。如果您要建立一個 IExecutableExtension
,您可以改用 defaultHandler
元素。<!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>
這個元素可讓使用者指派按鍵順序給指令。請改用 "org.eclipse.ui.bindings" 延伸點中的 key
元素。
java.util.Locale
中宣告的格式來指定的。platform
屬性值是一組由 org.eclipse.swt.SWT.getPlatform()
傳回的可能值。key
元素上使用 schemeId
屬性。指定給指令的按鍵順序。按鍵順序是由一或多個按鍵作用所組成,按鍵作用是由鍵盤上的按鍵所組成,可以選擇性結合下列一或多個修飾元一起按下:Ctrl、Alt、Shift 和 Command。按鍵作用是以空格區隔,修飾元則以 '+' 字元區隔。
修正鍵亦可以不同的平台上執行的方式表示。在 MacOS X 上,舉例來說,"Command" 幾乎總是用來替代 "Ctrl"。所以,我們提供了 "M1",在適當的地方,可對映至 "Ctrl" 或 "Command"。同樣地,"M2" 是 "Shift";"M3" 是 "Alt"; "M4" 是 "Ctrl" (MacOS X)。如果新增了更多平台,您可依賴這些別名,將其對映至平台預設值。
此字串的語法定義於 org.eclipse.ui.internal.keys
。簡單來說,該字串不區分大小寫 -- 雖然在文體上比較偏好大寫。如果該按鍵為一個字母,則只需附加該字母。如果該按鍵為一個特殊鍵(例如,非 ASCII),則使用以下其中一項:ARROW_DOWN、ARROW_LEFT, ARROW_RIGHT, ARROW_UP、BREAK、CAPS_LOCK、END、F1、F2、F3、F4、F5、F6、F7、F8、F9、F10、F11、F12、F13、F14、F15、HOME、INSERT、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。如果該按鍵為不可列印的 ASCII 鍵,則使用以下其中一項:BS、CR、DEL、ESC、FF、LF、NUL、SPACE、TAB,或 VT。請注意,主要鍵盤的 enter/return 鍵為 CR。
<!ELEMENT keyConfiguration EMPTY>
<!ATTLIST keyConfiguration
description CDATA #IMPLIED
id CDATA #REQUIRED
name CDATA #REQUIRED
parent CDATA #IMPLIED
parentId CDATA #IMPLIED>
這個元素用來定義按鍵配置。如果這些元素有多個存在且具有相同 id
屬性,
僅最後宣告的元素(按讀取外掛程式登錄的次序)才視為有效。請改用 "org.eclipse.ui.bindings" 延伸點。
<!ELEMENT context EMPTY>
<!ATTLIST context
description CDATA #IMPLIED
id CDATA #REQUIRED
name CDATA #REQUIRED
parent CDATA #IMPLIED
parentId CDATA #IMPLIED>
這個元素用來定義環境定義。如果這些元素有多個存在且具有相同 id
屬性,
僅最後宣告的元素(按讀取外掛程式登錄的次序)才視為有效。請改用 org.eclipse.ui.contexts 延伸點。
<!ELEMENT scope EMPTY>
<!ATTLIST scope
description CDATA #IMPLIED
id CDATA #REQUIRED
name CDATA #REQUIRED
parent CDATA #IMPLIED>
這個元素用來定義範圍。如果這些元素有多個存在且具有相同 id
屬性,
僅最後宣告的元素(按讀取外掛程式登錄的次序)才視為有效。@deprecated 請改用 "org.eclipse.ui.contexts" 延伸點。
<!ELEMENT commandParameter (values)>
<!ATTLIST commandParameter
id CDATA #REQUIRED
name CDATA #REQUIRED
values CDATA #IMPLIED
optional (true | false) "true">
定義指令應能瞭解的參數。參數是一個在執行時間能提供詳細資訊給處理常式的方式。例如,"Show view 指令可能會使用視圖作為參數。處理常式應該能夠瞭解這些參數,這樣他們能被視為 API。
org.eclipse.core.commands.IParameterValues
。如果未指定這個類別,您必須指定更多的詳細 values
元素。請參閱 org.eclipse.core.runtime.IExecutableExtension
。<!ATTLIST values
class CDATA #REQUIRED>
commandParameter
上 values
屬性的更詳細版本。
org.eclipse.core.commands.IParameterValues
。如果未指定這個類別,您必須指定更多的詳細 values
元素。請參閱 org.eclipse.core.runtime.IExecutableExtension
。<!ELEMENT parameter EMPTY>
<!ATTLIST parameter
name CDATA #REQUIRED
value CDATA #REQUIRED>
參數的可能值。
IExecutableExtension
的參數名稱。IExecutableExtension
的參數值。<!ELEMENT defaultHandler (parameter)>
<!ATTLIST defaultHandler
class CDATA #REQUIRED>
此指令的預設處理常式。如果沒有其他作用中的處理常式,這個處理常式將成為作用中。此處理常式將會與其他未指定 activeWhen
條件的處理常式定義衝突。如果您未建立 IExecutableExtension
,您可以改用 defaultHandler
屬性。
org.eclipse.core.commands.IHandler
的類別。
org.eclipse.ui
外掛程式中的 plugin.xml
檔會充分利用 org.eclipse.ui.commands
延伸點。
除了這個延伸點之外,這不是用於宣告指令、種類、按鍵連結、按鍵配置或環境定義的公開 API。查詢和設定環境定義的公開 API,以及登錄動作以處理特定指令的公用 API 可在 org.eclipse.ui.IKeyBindingService
中找到。
Copyright (c) 2000, 2005 IBM Corporation and others.
All rights reserved.
本程式與隨附的資料依照 Elipse Public License 1.0 版此次發行所隨附的條款而提供,
可以在以下網址取得:http://www.eclipse.org/legal/epl-v10.html