C# Visual Studio扩展:将元素添加到代码编辑器上下文菜单

C# Visual Studio扩展:将元素添加到代码编辑器上下文菜单,c#,visual-studio-2017,add-on,C#,Visual Studio 2017,Add On,我正在尝试向Visual Studio 2017上下文菜单添加新元素。我成功地使用以下代码向工具菜单添加了一个元素: <Button guid="guidRandomCommandPackageCmdSet" id="RandomCommandId" priority="0x0100" type="Button"> <Parent guid="guidSHLMainMenu" id="IDG_VS_TOOLS_EXT_TOOLS" /> <Icon

我正在尝试向Visual Studio 2017上下文菜单添加新元素。我成功地使用以下代码向工具菜单添加了一个元素:

<Button guid="guidRandomCommandPackageCmdSet" id="RandomCommandId" priority="0x0100" type="Button">
    <Parent guid="guidSHLMainMenu" id="IDG_VS_TOOLS_EXT_TOOLS" />
    <Icon guid="exclamationIcon" id="exclamationIcon1" />
    <Strings>
      <ButtonText>Random Text</ButtonText>
    </Strings>
  </Button>
使用GuidSymbols中的ID registerd

  <IDSymbol name="ToDoList" value="0x106" />

但是,当我运行项目时,该按钮不会显示在关联菜单中。我试着听从他的建议,但似乎没有一个建议对我有效。
我以前从未尝试过创建VS附加组件,所以我欢迎任何建议。是否有可能在VS 2017中改变方法

最后,我设法让它工作起来。似乎对于显示为单独菜单或属于类似菜单的工具的菜单项,只有一个
按钮
,父项设置为在中定义的相应常量菜单元素字符串就足够了

但是,对于
上下文菜单
元素,我需要在
组中有一个元素

<Group guid="guidRandomCommandPackageCmdSet" id="MyMenuGroup" priority="0x0600">
    <Parent guid="guidSHLMainMenu" id="IDM_VS_CTXT_CODEWIN" />
  </Group>

它将
上下文菜单
作为其父菜单。然后,我创建了一个
CustomCommand
,自动生成一个
按钮
,并修改了这个
按钮
,使
元素作为它的
父元素
: ` 添加待办事项列表

这是“添加”按钮悬停在上方时的结果:

  <IDSymbol name="ToDoList" value="0x106" />
<Group guid="guidRandomCommandPackageCmdSet" id="MyMenuGroup" priority="0x0600">
    <Parent guid="guidSHLMainMenu" id="IDM_VS_CTXT_CODEWIN" />
  </Group>