Как настроить положение кнопки пункта меню в проекте расширения vsix? - PullRequest
0 голосов
/ 23 января 2020

Я создаю расширение, в котором я пытаюсь добавить пункт меню , содержащий две дочерние кнопки меню . Этот пункт меню должен отображаться как элемент меню верхнего уровня, но когда я это делаю, этот пункт меню добавляется в меню Extensions . Я нашел похожую проблему здесь , но решение не работает для меня. Положение меню не изменяется даже после внесения изменений в атрибуты приоритетов. Ниже приведен код:

<?xml version="1.0" encoding="utf-8"?>
<CommandTable xmlns="http://schemas.microsoft.com/VisualStudio/2005-10-18/CommandTable" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <Extern href="stdidcmd.h"/>

  <Extern href="vsshlids.h"/>

  <Commands package="guidMultipleMenuCmdTestPackage">
    <Groups>
      <Group guid="guidMultipleMenuCmdTestPackageCmdSet" id="MyMenuGroupTop">
      </Group>
    </Groups>

    <Menus>
      <Menu guid="guidMultipleMenuCmdTestPackageCmdSet" id="MyMenuGroup" type="Menu">
        <Parent guid="guidSHLMainMenu" id="IDG_VS_MM_TOOLSADDINS"/>
        <Strings>
          <ButtonText>My Top Menu</ButtonText>
        </Strings>
      </Menu>
    </Menus>

    <Buttons>
      <Button guid="guidMultipleMenuCmdTestPackageCmdSet" id="Command1Id" type="Button">
        <Strings>
          <ButtonText>Changed 2</ButtonText>
        </Strings>
      </Button>
      <Button guid="guidMultipleMenuCmdTestPackageCmdSet" id="Command2Id" type="Button">
        <Strings>
          <ButtonText>Command2</ButtonText>
        </Strings>
      </Button>
    </Buttons>

    <Bitmaps>
      <Bitmap guid="guidImages" href="Resources\Ext1.png" usedList="bmpPic1, bmpPic2, bmpPicSearch, bmpPicX, bmpPicArrows, bmpPicStrikethrough"/>
    </Bitmaps>

  </Commands>

  <CommandPlacements>

    <CommandPlacement guid="guidMultipleMenuCmdTestPackageCmdSet" id="MyMenuGroupTop" priority="0x0001">
      <Parent guid="guidMultipleMenuCmdTestPackageCmdSet" id="MyMenuGroup"/>
    </CommandPlacement>

    <CommandPlacement guid="guidMultipleMenuCmdTestPackageCmdSet" id="Command1Id" priority="0x0001" >
      <Parent guid="guidMultipleMenuCmdTestPackageCmdSet" id="MyMenuGroupTop"/>
    </CommandPlacement>
    <CommandPlacement guid="guidMultipleMenuCmdTestPackageCmdSet" id="Command2Id" priority="0x0002" >
      <Parent guid="guidMultipleMenuCmdTestPackageCmdSet" id="MyMenuGroupTop"/>
    </CommandPlacement>
  </CommandPlacements>

  <Symbols>
    <GuidSymbol name="guidMultipleMenuCmdTestPackage" value="{5f20b1ae-835b-423f-89e1-a33f2e20a715}" />

    <GuidSymbol name="guidMultipleMenuCmdTestPackageCmdSet" value="{2e60374a-c4f8-4d96-9bb6-301ab412846f}">
      <IDSymbol name="MyMenuGroup" value="0x1020" />
      <IDSymbol name="MyMenuGroupTop" value="0x1021" />
      <IDSymbol name="Command1Id" value="0x0101" />
      <IDSymbol name="Command2Id" value="0x0102" />
    </GuidSymbol>

    <GuidSymbol name="guidImages" value="{512d3770-bde4-4353-a6c0-7138bbfffebe}" >
      <IDSymbol name="bmpPic1" value="1" />
      <IDSymbol name="bmpPic2" value="2" />
      <IDSymbol name="bmpPicSearch" value="3" />
      <IDSymbol name="bmpPicX" value="4" />
      <IDSymbol name="bmpPicArrows" value="5" />
      <IDSymbol name="bmpPicStrikethrough" value="6" />
    </GuidSymbol>
  </Symbols>
</CommandTable>

Ответы [ 2 ]

1 голос
/ 25 января 2020

В VS 2019 по умолчанию все меню расширений верхнего уровня go в меню расширений.

В VS Настройка параметров - Меню расширений * Вкладка 1006 * вы можете снять отметку Ваше меню, чтобы показать на верхнем уровне:

enter image description here

1 голос
/ 24 января 2020

По умолчанию пункты меню верхнего уровня теперь отображаются в меню «Расширения». Я считаю, что это было сделано, чтобы облегчить многие беспорядки, которые различные расширения добавляли в строку меню верхнего уровня.

Однако в VS Marketplace есть отличное расширение, которое позволяет выборочно добавлять их обратно в строку меню верхнего уровня.

Расширения в главном меню

Проблема была поднята некоторое время go через следующую ветку сообщества:

Избавиться от нового меню расширений

С уважением,

...