C#VSIX - KeyBindings Element的“editor”属性

时间:2016-12-07 14:40:51

标签: c# key-bindings vsix

因此.vsct文件允许开发人员为基于visual studio shell的应用程序扩展(在我的案例中为Management Studio 2016 addin)定义命令,工具栏等。 它还可以为这些命令设置键绑定,如下所示:

 <KeyBinding guid="guidMenuAndCommandsCmdSet" id="cmdidMyCommand" editor="guidVSStd97" key1="1" mod1="Control" />

问题是选择使用快捷方式的位置。

  

guidVSStd97

是全局快捷方式的ID。我想要做的是将其绑定为文本编辑器快捷方式。 有谁知道在哪里找到该(“编辑器”)属性的其他值?

MS documentation中没有任何相关内容。

1 个答案:

答案 0 :(得分:0)

您可以在this answer中找到主要详细信息。

有关编辑器(范围)的所有信息都存储在Visual Studio的注册表中。可以获得: HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\12.0Exp_Config\Editors,其中12.0Exp_Config可以与任何其他版本一起退出。

之后您必须将符号中的GUID链接为:

<Symbols>
    <GuidSymbol name="guidMyWindow" value="{00000000-0000-0000-0000-000000000000}" />
<Symbols>

0应替换为注册表范围的有效GUID

KeyBinding将如下所示:

<KeyBindings>
    <KeyBinding guid="guidMyPackageCmdSet"
                id="MyCmdId"
                editor="guidMyWindow"
                key1="S" mod1="Control" />
</KeyBindings>

如果您要创建自己的Keybindings,则可能需要将范围更改为您自己的范围。我建议在MSDN网站上查看类似主题的answerthis answer