2.1
org.eclipse.ui.commands
扩展点用来通过使用 command
和 category
元素声明命令和命令类别。命令是一些语义行为的抽象表示,而不是实际实现。这允许不同的开发者对他们各自的部分添加特定行为。例如,可能有一个“paste”命令,在编辑器中是一种实现,而在资源管理器窗口小部件中则是另一种实现。这些实现称为处理程序。
<!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>
在用户界面中,命令通常是按类别组织的,以便更易于管理它们。此元素用来定义这些类别。命令可以将它们自己添加到最多一个类别。如果存在具有相同 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 和命令。击键以空格分隔,而组合键以“+”号分隔。
组合键还可以用与平台无关的方式表示。在 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
属性的多个这样的元素,则仅最后声明的那个元素(以读取插件注册表的顺序)才被认为是有效的。@不推荐使用,请使用“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。可以在 org.eclipse.ui.IKeyBindingService
中找到用于查询和设置上下文以及注册处理特定命令的操作的公用 API。
Copyright (c) 2000, 2005 IBM Corporation and others.
All rights reserved. This program and the accompanying materials are made
available under the terms of the Eclipse Public License v1.0 which accompanies
this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html