键配置

键配置用来表示键绑定的通用样式或主题。例如,“工作台”提供了“标准”键配置和“Emacs”键配置。在任何给定时刻都只有一个键配置是活动的。最终用户使用工作台首选项对话框控制哪个配置是活动的。

从实现的角度看来,键配置就是键绑定的命名组。键配置自己不会完成任何操作(除非存在与它相关联的键绑定)。  

让我们再次查看 org.eclipse.ui.commands 的工作台标记以找到键绑定定义并了解键配置如何与键绑定相关联。

...
<keyBinding
       string="Ctrl+S"
       scope="org.eclipse.ui.globalScope"
       command="org.eclipse.ui.file.save"
       configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
</keyBinding>
...
<keyBinding
       string="Ctrl+X Ctrl+S"
       scope="org.eclipse.ui.globalScope"
       command="org.eclipse.ui.file.save"
       configuration="org.eclipse.ui.emacsAcceleratorConfiguration">
</keyBinding>
...

为“org.eclipse.ui.file.save”命令定义了两种不同的键绑定。注意,每种键绑定都定义了不同的配置。当标准配置为活动的时,“Ctrl+S”键绑定将调用该命令。当 emacs 配置为活动的时,序列“Ctrl+X Ctrl+S”将调用该命令。

定义新的键配置

当插件定义键绑定时,最有可能将它指定给现有键配置。但是,插件可能想要定义全新的键配置样式。如果情况是这样,则可以在 org.eclipse.ui.commands 定义内定义新的键配置类型。定义标准键配置和 emacs 键配置的工作台标记如下所示:

...
<keyConfiguration
       name="%keyConfiguration.standard.name"
       description="%keyConfiguration.standard.description"
       id="org.eclipse.ui.defaultAcceleratorConfiguration">
</keyConfiguration>
<keyConfiguration
       name="%keyConfiguration.emacs.name"
       parent="org.eclipse.ui.defaultAcceleratorConfiguration"
       description="%keyConfiguration.emacs.description"
       id="org.eclipse.ui.emacsAcceleratorConfiguration">
</keyConfiguration>
...

注意,此处定义的 name 是用在配置列表中的首选项页面中的名称。

激活键配置

用户通过首选项页面控制活动的配置。但是,可以将缺省活动配置定义为 org.eclipse.ui.commands 定义的一部分。工作台在定义扩展时将标准键配置建立为缺省值:


   <extension
         point="org.eclipse.ui.commands">
      <activeKeyConfiguration
            value="org.eclipse.ui.defaultAcceleratorConfiguration">
      </activeKeyConfiguration>
      ...

Copyright IBM Corporation and others 2000, 2003.