VS 2013 SDK:如何仅为代码窗口编辑器键绑定热键?

C#VB.Net中 ,使用Visual Studio ,我想为CommandBarButton分配一个自定义键盘快捷键,例如Ctrl + E + R ,然后,当按下时,关联的CommandBarButton应调用其Execute方法(I设想)。

我怎么能这样做?


更新

(请避免上述问题,该问题已经得到解答。)

其实我正在使用vsct文件,然后我的键绑定是这样的:

    

MSDN解释说guidVSStd97是全局的,它似乎影响到IDE的所有部分:

https://msdn.microsoft.com/en-us/library/bb165973%28v=vs.90%29.aspx

要在全局范围内定义键绑定,请使用编辑ID值guidVSStd97。

我的扩展程序使用代码窗口的选定文本,因此它很奇怪,例如在解决方案资源管理器中,或任何加载的项目,我能够按热键。

然后,我希望能够仅在代码窗口编辑器中按下该热键(Ctrl + E + R)。

我的问题是:

哪个是代码窗口编辑器的编辑器ID?

附加要求:

我需要一个MSDN参考来查看更多相关的编辑器ID,我找不到任何相关的内容。

在Visual Studio中,键盘快捷方式与命令相关联,而不是直接与CommandBarButtons相关联。 从技术上讲,它们被称为键盘绑定,并在声明命令的.vsct文件中声明。 请参阅KeyBindings元素

编辑:您必须使用:

   

     

其中guidSourceCodeTextEditor可以是您在部分中定义的任何名称,其值必须来自HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ 12.0Exp_Config \ Editors。 运行程序包后,如果转到“工具”>“选项”窗口,“环境”>“键盘”部分,在“显示包含的命令”中键入命令的名称,您应该在列表中看到括号中的快捷方式,就好像您有从“使用新的快捷方式”列表中选择它。 如果每个Visual Studio版本的guid相同,那么我们就会遇到这个问题。 AFAIK,这是不能保证的(没有什么能阻止微软在新版本中更改guid),但可能它们是相同的。 我现在无法validation,因为我使用的计算机只有VS 2013。