命令

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>

在用户界面中,命令通常是按类别组织的,以便更易于管理它们。此元素用来定义这些类别。命令可以将它们自己添加到最多一个类别。如果存在具有相同 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 属性的多个这样的元素,则仅最后声明的那个元素(以读取插件注册表的顺序)才被认为是有效的。@不推荐使用,请使用“org.eclipse.ui.contexts”扩展点代替。



org.eclipse.ui 插件中的 plugin.xml 文件广泛使用了 org.eclipse.ui.commands 扩展点。

这是用于声明命令、类别、键绑定、键配置或除此扩展点之外的上下文的非公用 API。可以在 org.eclipse.ui.IKeyBindingService 中找到用于查询和设置上下文以及注册处理特定命令的操作的公用 API。