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 方案。
<!ATTLIST key
sequence CDATA #REQUIRED
schemeId CDATA #REQUIRED
contextId CDATA "org.eclipse.ui.contexts.window"
commandId CDATA #IMPLIED
platform CDATA #IMPLIED
locale CDATA #IMPLIED>
某些键盘输入和命令触发之间的绑定。
此绑定的键序列。此键序列应由一个或多个击键组成。击键由空格分隔。击键由同时按下的一个或多个键组成。它应为零个或多个组合键以及另一个键。这些键由 +
字符分隔。
可以识别的组合键为 M1
、M2
、M3
、M4
、ALT
、COMMAND
、CTRL
和 SHIFT
。“M”组合键是一种与平台无关的表示键的方式,它们通常是首选的。M1
是 MacOS Xis 上的 COMMAND
键 以及大多数其它平台上的 CTRL
键。M2
是 SHIFT
键。M3
是 MacOS X 上的
Option
键 以及大多数其它平台上的 ALT
键。M4
是 MacOS X 上的 CTRL
键,在其它平台上未定义该键。
实际的键通常只指定为大写的 ASCII 字符。因此,例如 F
或
,
是这种键的示例。然而,有一些特殊键;这些键没有可打印的 ASCII 表示。以下是当前特殊键的列表:ARROW_DOWN
、ARROW_LEFT
、ARROW_RIGHT
、ARROW_UP
、BREAK
、BS
、CAPS_LOCK
、CR
、DEL
、END
、ESC
、F1
、F2
、F3
、F4
、F5
、F6
、F7
、F8
、F9
、F10
、F11
、F12
、F13
、F14
、F15
、FF
、HOME
、INSERT
、LF
、NUL
、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
、SPACE
、TAB
和 VT
。
我们还了解某些共用特殊键的某些备用名称。例如,我们接受 ESC
与 ESCAPE
以及
CR
、ENTER
与 RETURN
都是相同的。
并强烈建议您保持使键序列简短。您应该需要的大多数键序列为一个或两个键。使用上下文在应用程序的不同部分给键序列定义不同的含义。您使用包含多个击键的任何键序列时,击键最多不应该超过四个。
org.eclipse.ui.contexts
扩展点。如果未指定此项,则它缺省为 org.eclipse.ui.contexts.window
。当触发此绑定时应该执行的命令的标识。
如果未指定命令标识,则它是删除标记。这意味着当此绑定处于活动状态时,在相同上下文中具有相同序列、平台和语言环境的任何绑定都将处于不活动状态。如果未指定删除时的平台或语言环境,则它与任何平台或语言环境相匹配。
SWT.getPlatform()
中的字符串的相同方式指定平台。例如,以下字符串被认为是有效的:win32
、gtk
、motif
、carbon
和 photon
。Locale.toString()
的相同方式指定语言环境。例如,"en"
或 "en_CA"
都是可以接受的。<!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 扩展点。
Copyright (c) 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