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

从实现的角度看来,键配置就是键绑定的命名组。键配置自己不会完成任何操作(除非存在与它相关联的键绑定)。
让我们再次查看 org.eclipse.ui.commands 的工作台标记以找到键绑定定义并了解键配置如何与键绑定相关联。
...
<keyBinding
string="Ctrl+S"
command="org.eclipse.ui.file.save"
configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
</keyBinding>
...
<keyBinding
string="Ctrl+X Ctrl+S"
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>
...