将子菜单添加到VS解决方案资源管理器项目和项目节点类型中

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

我想构建一个扩展解决方案资源管理器上下文菜单的VS加载项

我知道如何使用VS add-in menu itemIDM_VS_CTXT_ITEMNODE来添加IDM_VS_CTXT_PROJNODE,如下面的示例中所示>

<Group guid="guidCmdSet" id="grpIdMenuProjectItem" priority="0x0700">
  <Parent guid="guidSHLMainMenu" id="IDM_VS_CTXT_ITEMNODE" />
</Group>

但是我想显示的菜单应该显示带有子项的复杂上下文菜单。我想将相同的菜单项添加到“项目”和“项目”上下文菜单中。

所以我已经尝试过

<Group guid="guidCmdSet" id="grpIdMenuProjectItem" priority="0x0700">
   <Parent guid="guidSHLMainMenu" id="IDM_VS_CTXT_ITEMNODE" />
   <Parent guid="guidSHLMainMenu" id="IDM_VS_CTXT_PROJNODE"/>
</Group>

但是ID无效。

问题是vsct文件声明了孩子的父母,所以我不能只声明一个孩子并将其链接到多个父母。

如何将相同的菜单添加到项目和项目上下文菜单中?我想避免复制粘贴grpIdMenuProjectItem子项,这是可能的。

整个源代码示例can be found at github

我想构建一个扩展解决方案资源管理器上下文菜单的VS加载项,我知道如何使用IDM_VS_CTXT_ITEMNODE或IDM_VS_CTXT_PROJNODE来添加VS加载项菜单项,如下面的示例中的&...

visual-studio-2019 visual-studio-extensions
2个回答
1
投票
将子菜单添加到VS解决方案资源管理器项目和项目节点类型中

1
投票
解决方案是使用佩里所说的CommandPlacement

要使用子菜单项复制同一组,我从grpIdMenuProjectItem组声明中删除了父元素

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