向 SSMS SQL 查询编辑器扩展中的上下文菜单添加按钮/命令

问题描述 投票:0回答:1

我正在尝试创建一个 Visual Studio/SSMS 扩展,将命令/按钮添加到 SQL 查询编辑器窗口的上下文菜单中。最初,我尝试使用

IDM_VS_CTXT_CODEWIN
。虽然它适用于新的
.txt
文件,但对
.SQL
文件无效。

在研究这个问题时,我偶然发现了一个建议,即启用“EnableVSIPLogging”注册表项以获取有关上下文菜单的更多信息。根据该建议,SQL 编辑器窗口上的

Ctrl+Shift+RClick
给了我:

Guid = {33F13AC3-80B4ECE-85BC-225435603A5E}
GuidiD 240
CmdlD = 80
Type = 0x00000400
Flags = 0x00000000
NameLoc = (null)

但是,我不确定如何使用此信息来查找正确的家长 ID。

下面是我的

.vsct
文件中的片段:

<Group guid="guidColumnToCSVPackageCmdSet" id="MyEditorCtxGroup" priority="0x001">
    <Parent guid="guidSHLMainMenu" id=""/>
</Group>

我也不确定我设置的家长指南是否适合此目的。有人可以指导我如何使用提供的 GUID 和其他详细信息将命令添加到 SQL 查询编辑器窗口的上下文菜单中吗?任何见解或指示将不胜感激。

visual-studio ssms visual-studio-extensions vs-extensibility vsct
1个回答
0
投票

这个很难找到,而且由于 Bing CoPilot 只想使用你的问题作为答案,所以我必须做大量的逆向工程才能找到它。

首先,您示例中的 Guid 缺少一些字符

Guid = {33F13AC3-80B4ECE-85BC-225435603A5E}

这个应该是

{33F13AC3-80BB-4ECB-85BC-225435603A5E}

其次,您必须将十进制 80 转换为十六进制 0x0050。

我发现添加 GuidSymbols 然后在展示位置中使用文本更具可读性

<Group guid="guidPasteCommandPackageCmdSet" id="PasteGroup" priority="0x0201">
    <Parent guid="queryWindowContextCommandSet" id="queryWindowContextMenu" />
</Group>

然后在指南中


我希望这有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.