求VS2019扩展添加新顶部菜单教程(适配TC3 XAE Shell)
VS2019扩展在TC3 XAE Shell添加顶部菜单的解决方案
核心适配与实现要点
- 部署路径必须精准:
XAE Shell是VS隔离壳应用,扩展不能通过VSIX常规安装,需将生成的VSIX文件解压后,把所有内容复制到C:\Program Files (x86)\Beckhoff\TcXaeShell\Common7\IDE\Extensions路径下,这是STweep扩展能正常运行的关键前提。 - 修复VS2015迁移项目的菜单注册问题:
迁移后的项目无法显示菜单,大概率是.vsct文件的配置不兼容VS2019,需做以下调整:- 确保
.vsct中的PackageGuid与项目中Package类的GuidAttribute完全匹配,不能有任何差异。 - 顶级菜单的父级要指定为VS标准顶级菜单组
IDG_VS_MENU_TOPLEVEL,替换旧版本的GUID配置,示例.vsct代码片段:
<Groups> <Group guid="guidYourPackageCmdSet" id="MyTopLevelMenuGroup" priority="0x0600"> <Parent guid="guidSHLMainMenu" id="IDG_VS_MENU_TOPLEVEL"/> </Group> </Groups> <Menus> <Menu guid="guidYourPackageCmdSet" id="MyTopLevelMenu" priority="0x0600" type="Menu"> <Parent guid="guidYourPackageCmdSet" id="MyTopLevelMenuGroup"/> <Strings> <ButtonText>自定义顶级菜单</ButtonText> <CommandName>MyTopLevelMenu</CommandName> </Strings> </Menu> </Menus>- 更新项目依赖的NuGet包,确保引用
Microsoft.VisualStudio.Shell.16.0(对应VS2019),同时兼容隔离壳所需的低版本API。
- 确保
- 调试目标切换:
在VS2019调试时,将启动项目的调试目标设置为C:\Program Files (x86)\Beckhoff\TcXaeShell\Common7\IDE\devenv.exe,直接启动调试就能实时查看菜单是否加载成功,无需反复复制文件测试。
官方参考方向
微软Visual Studio扩展开发官方文档中,「菜单和命令创建」章节详细覆盖了顶级菜单的定义、命令集配置,以及隔离壳扩展的适配要点,重点关注.vsct文件的结构规范和部署配置部分。
内容的提问来源于stack exchange,提问作者Beckhoff Guy
相关产品推荐
相关产品推荐

