绑定

org.eclipse.ui.bindings

3.1

org.eclipse.ui.activities 扩展点用来声明绑定和方案。方案是一组绑定,其中绑定数目可以为一个或多个。绑定是某组条件、某些用户输入和一个触发的命令之间的映射。

所有绑定都需要某种触发器、它们在其中处于活动状态的上下文和它们所存在的方案。如果您不确定选择哪个上下文,则只需使将保留为空白。它将缺省为“org.eclipse.ui.contexts.window”上下文。此上下文意味着绑定将应用于任何 Eclipse 主窗口。当此上下文处于活动状态时,绑定也会将处于活动状态。来自子上下文的绑定将覆盖来自父上下文的绑定。有关上下文的更多信息,请参阅 org.eclipse.ui.contexts 扩展点。

如果绑定未定义命令标识,则它是删除标记。这意味着,如果所有条件满足,则它将取消在相同上下文中具有相同触发器的任何绑定。例如,可以使用此机制来更改特定平台上的绑定。

绑定的一种类型为绑定(即,键盘快捷键)。例如,将 Ctrl+C 绑定至复制被认为是绑定。键绑定的触发器是击键序列。

方案是一组可以由最终用户在一个集内中选择的那些绑定。例如,用户可能要使用缺省方案,但他们还可能要使用 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>

当执行命令时应传递至命令的参数名和值。这样允许以某种方式来限定命令。例如,“显示视图”命令可以接受视图标识作为参数。



<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 扩展点。