【问题标题】:C# VSIX - "editor" attribute of KeyBindings ElementC# VSIX - KeyBindings 元素的“编辑器”属性
【发布时间】:2016-12-07 14:40:50
【问题描述】:

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

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

问题是选择在哪里使用快捷方式。

guidVSStd97

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

不幸的是,MS documentation 对此一无所知。

【问题讨论】:

  • 你有没有偶然找到答案?
  • @Tatranskymedved 这个answer怎么样?
  • @user1892538 我刚刚开始阅读这篇文章!谢谢老哥
  • @user1892538 感谢这个答案

标签: c# key-bindings vsix


【解决方案1】:

您可以在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 应替换为 Registry 范围内的有效 GUID

KeyBinding 看起来像:

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

如果您正在创建自己的Keybindings,您可能希望将范围更改为您自己的。我建议通过我的answer 了解类似的主题和this answer 在 MSDN 网络上。

【讨论】:

  • 谢谢回答。
猜你喜欢
  • 2011-08-11
  • 2012-12-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-04
  • 1970-01-01
  • 2012-11-29
相关资源
最近更新 更多