如何创建可从执行计划窗口启动的SSMS v18扩展?
将SSMS v18扩展按钮添加到执行计划窗口的实现方法
1. 声明执行计划窗口的命令组标识
在你的.vsct文件的<Symbols>节点内,添加SSMS v18执行计划窗口工具栏的固定GUID和ID引用:
<GuidSymbol name="SqlPlanWindowGuid" value="{791E975B-1686-43CD-9421-11EF9EF4DE2E}"> <IDSymbol name="SqlPlanToolbarGroup" value="0x0002" /> </GuidSymbol>
2. 绑定按钮到执行计划窗口工具栏
找到你已定义的按钮节点(位于<Buttons>下),修改其<Parent>属性,指向刚才声明的执行计划工具栏组,替换为你自己的命令集GUID和按钮ID:
<Button guid="guidYourExtensionCmdSet" id="cmdYourCustomButton" priority="0x0100" type="Button"> <Parent guid="SqlPlanWindowGuid" id="SqlPlanToolbarGroup" /> <Icon guid="guidImages" id="bmpYourIcon" /> <Strings> <ButtonText>启动我的扩展</ButtonText> </Strings> </Button>
3. 调试验证
- 保存
.vsct文件,重新生成扩展项目 - 启动调试会话,打开SSMS v18,执行SQL并加载执行计划,你的按钮会出现在执行计划窗口的工具栏中
关键注意事项
- 确保项目引用了SSMS核心集成程序集(如
Microsoft.SqlServer.Management.UI.VSIntegration.dll) - 若按钮未显示,检查GUID/ID是否正确,可调整
priority值(数值越小,按钮位置越靠前) - 如需精准定位按钮位置(比如放在某默认按钮旁),可通过
<InsertAfter>或<InsertBefore>节点指定目标按钮的GUID和ID
内容的提问来源于stack exchange,提问作者Joe Obbish
相关产品推荐
相关产品推荐

