C# VSIX - KeyBindings 元素的 "editor" 属性
C# VSIX - "editor" attribute of KeyBindings Element
因此 .vsct 文件允许开发人员为基于 visual studio shell 的应用程序扩展定义命令、工具栏等(在我的例子中是 Management Studio 2016 插件)。
它还允许为这些命令设置键绑定,如下所示:
<KeyBinding guid="guidMenuAndCommandsCmdSet" id="cmdidMyCommand" editor="guidVSStd97" key1="1" mod1="Control" />
问题是选择在何处使用快捷方式。
guidVSStd97
是全局快捷方式的ID。我想要做的是将其绑定为文本编辑器快捷方式。
有谁知道在哪里可以找到该 ("editor") 属性的其他值?
不幸的是,在 MS documentation.
中没有任何内容
您可以在 中找到主要详细信息。
有关编辑器(作用域)的所有信息都存储在 Visual Studio 的注册表中。可以在以下位置获得:
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio.0Exp_Config\Editors
,其中 12.0Exp_Config
可以与任何其他版本交换。
之后你必须 link 符号中的 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 网站上浏览我的 on similar topic and this answer。
因此 .vsct 文件允许开发人员为基于 visual studio shell 的应用程序扩展定义命令、工具栏等(在我的例子中是 Management Studio 2016 插件)。 它还允许为这些命令设置键绑定,如下所示:
<KeyBinding guid="guidMenuAndCommandsCmdSet" id="cmdidMyCommand" editor="guidVSStd97" key1="1" mod1="Control" />
问题是选择在何处使用快捷方式。
guidVSStd97
是全局快捷方式的ID。我想要做的是将其绑定为文本编辑器快捷方式。 有谁知道在哪里可以找到该 ("editor") 属性的其他值?
不幸的是,在 MS documentation.
中没有任何内容您可以在
有关编辑器(作用域)的所有信息都存储在 Visual Studio 的注册表中。可以在以下位置获得:
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio.0Exp_Config\Editors
,其中 12.0Exp_Config
可以与任何其他版本交换。
之后你必须 link 符号中的 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 网站上浏览我的