描述:此扩展点用来注册加速键集扩展。正如名称的含义一样,加速键集就是加速键的集合。加速键是一个或多个序列的加速键与工作台操作之间的关联。加速键序列长度可以为 1 或更大。
加速键集是向加速键配置注册的(参见加速键配置扩展点)并且适用于加速键作用域(参见加速键作用域扩展点)。
起始发行版:发行版 2.0
配置标记:
<!ELEMENT acceleratorSet (accelerator)+>
<!ATTLIST acceleratorSet
configurationId CDATA
#REQUIRED
scopeId CDATA
#REQUIRED
>
可以对加速键集中的同一操作指定多个加速键,但是将只使用一个加速键。
如果指定了语言环境和/或平台,则将使用与当前语言环境和平台更加匹配的加速键。当前语言环境由 API Locale.getDefault() 确定,平台由 API SWT.getPlatform() 确定。如果指定的平台和/或语言环境与当前语言环境和/或平台不匹配,则会废弃加速键。如果加速键 A 只定义了语言环境而加速键 B 只定义了平台,则使用加速键 B。如果加速键 A 将“ja”定义为它的语言环境,而加速键 B 将“ja_JP”定义为它的语言环境,则在当前语言环境为“ja_JP”的情况下将使用加速键 B。
如果两个加速键是在不同插件的加速键集中定义的,则所选加速键将取决于插件。如果插件 A 取决于插件 B,则将使用在插件 B 中定义的加速键。如果插件 A 与插件 B 相互独立,则它们将按插件标识的字母顺序来进行排序。
如果在不同作用域中定义了两个加速键,则将使用在当前作用域中定义的加速键。如果加速键不是在当前作用域或者它的其中一个父作用域中定义的,则将废弃它。如果在父作用域和子作用域中定义了加速键,则将使用在子作用域中定义的加速键。
示例:
以下是加速键集扩展的一个示例:
<extension point="org.eclipse.ui.acceleratorSets">
<acceleratorSet
configurationId="org.eclipse.ui.exampleAcceleratorConfiguration"
scopeId="org.eclipse.ui.globalScope">
<accelerator
id="org.eclipse.ui.ExampleActionA"
key="CTRL+R CTRL+A"
</accelerator>
<accelerator
id="org.eclipse.ui.ExampleActionB"
key="CTRL+R CTRL+B"
</accelerator>
<accelerator
id="org.eclipse.ui.ExampleActionC"
key="CTRL+R CTRL+C || CTRL+SHIFT+DELETE"
</accelerator>
</acceleratorSet>
</extension>
API 信息:无。
所提供的实现:工作台为“缺省”和 Emacs 加速键配置提供了加速键集。