Hinzufügen eines Menüs zur Visual Studio Menüleiste

Diese exemplarische Vorgehensweise zeigt, wie Sie der Menüleiste der Visual Studio integrierten Entwicklungsumgebung (Integrated Development Environment, IDE) ein Menü hinzufügen. Die IDE-Menüleiste enthält Menükategorien wie Datei, Bearbeiten, Anzeigen, Fenster und Hilfe.

Bevor Sie der Visual Studio Menüleiste ein neues Menü hinzufügen, sollten Sie überlegen, ob Ihre Befehle in einem vorhandenen Menü platziert werden sollen. Weitere Informationen zur Befehlsplatzierung finden Sie unter Menüs und Befehle für Visual Studio.

Menüs werden in der VSCT-Datei des Projekts deklariert. Weitere Informationen zu Menüs und VSCT-Dateien finden Sie unter Befehle, Menüs und Symbolleisten.

Durch Ausführen dieser exemplarischen Vorgehensweise können Sie ein Menü namens Testmenü erstellen, das einen Befehl enthält.

Hinweis

Ab Visual Studio 2019 werden Menüs der obersten Ebene, die von Erweiterungen beigetragen werden, unter dem Menü Erweiterungen platziert.

Voraussetzungen

Ab Visual Studio 2015 installieren Sie das Visual Studio SDK nicht mehr aus dem Download Center. Es ist als optionales Feature in Visual Studio-Setup enthalten. Sie können das VS SDK auch später installieren. Weitere Informationen finden Sie unter Installieren des Visual Studio SDK.

Erstellen eines VSIX-Projekts mit einer benutzerdefinierten Befehlselementvorlage

  1. Erstellen Sie ein VSIX-Projekt mit dem Namen TopLevelMenu . Sie finden die VSIX-Projektvorlage im Dialogfeld New Project (Neue Project), indem Sie nach "vsix" suchen. Weitere Informationen finden Sie unter Erstellen einer Erweiterung mit einem Menübefehl.
  1. Wenn das Projekt geöffnet wird, fügen Sie eine benutzerdefinierte Befehlselementvorlage mit dem Namen TestCommand hinzu. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Projektknoten, und wählen Sie Hinzufügen > Neues Element aus. Wechseln Sie im Dialogfeld Neues Element hinzufügen zu Visual C# / Erweiterbarkeit, und wählen Sie Benutzerdefinierter Befehl aus. Ändern Sie im Feld Name am unteren Rand des Fensters den Namen der Befehlsdatei in TestCommand.cs.
  1. Wenn das Projekt geöffnet wird, fügen Sie eine benutzerdefinierte Befehlselementvorlage mit dem Namen TestCommand hinzu. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Projektknoten, und wählen Sie Hinzufügen > Neues Element aus. Wechseln Sie im Dialogfeld Neues Element hinzufügen zu Visual C# / Erweiterbarkeit, und wählen Sie Befehl aus. Ändern Sie im Feld Name am unteren Rand des Fensters den Namen der Befehlsdatei in TestCommand.cs.

Erstellen eines Menüs auf der IDE-Menüleiste

  1. Öffnen Sie in Projektmappen-Explorer testCommandPackage.vsct.

    Am Ende der Datei befindet sich ein Knoten, der <Symbols> mehrere <GuidSymbol> Knoten enthält. Fügen Sie im Knoten mit dem Namen guidTestCommandPackageCmdSet wie folgt ein neues Symbol hinzu:

    <IDSymbol name="TopLevelMenu" value="0x1021"/>
    
  2. Erstellen Sie einen leeren <Menus> Knoten im Knoten direkt vor <Commands> <Groups> . Fügen Sie im <Menus> Knoten wie folgt einen Knoten <Menu> hinzu:

    <Menus>
          <Menu guid="guidTestCommandPackageCmdSet" id="TopLevelMenu" priority="0x700" type="Menu">
            <Parent guid="guidSHLMainMenu"
                    id="IDG_VS_MM_TOOLSADDINS" />
            <Strings>
              <ButtonText>Test Menu</ButtonText>
            </Strings>
        </Menu>
    </Menus>
    

    Die guid Werte und des id Menüs geben den Befehlssatz und das spezifische Menü im Befehlssatz an.

    Die guid Werte und der id übergeordneten Position des Menüs im Abschnitt der Visual Studio Menüleiste, die die Menüs Extras und Add-Ins enthält.

    Das <ButtonText> -Element gibt an, dass der Text im Menüelement angezeigt werden soll.

  3. Suchen Sie im <Groups> Abschnitt nach , und ändern Sie das <Group> <Parent> -Element so, dass es auf das soeben hinzugefügte Menü verweist:

    <Groups>
        <Group guid="guidTestCommandPackageCmdSet" id="MyMenuGroup" priority="0x0600">
            <Parent guid="guidTestCommandPackageCmdSet" id="TopLevelMenu"/>
        </Group>
    </Groups>
    

    Dadurch wird die Gruppe Teil des neuen Menüs.

  1. Öffnen Sie in Projektmappen-Explorer topLevelMenuPackage.vsct.

    Am Ende der Datei befindet sich ein Knoten, der <Symbols> mehrere <GuidSymbol> Knoten enthält. Fügen Sie im Knoten mit dem Namen guidTopLevelMenuPackageCmdSet wie folgt ein neues Symbol hinzu:

    <IDSymbol name="TopLevelMenu" value="0x1021"/>
    
  2. Erstellen Sie einen leeren <Menus> Knoten im Knoten direkt vor <Commands> <Groups> . Fügen Sie im <Menus> Knoten wie folgt einen Knoten <Menu> hinzu:

    <Menus>
          <Menu guid="guidTopLevelMenuPackageCmdSet" id="TopLevelMenu" priority="0x700" type="Menu">
            <Parent guid="guidSHLMainMenu"
                    id="IDG_VS_MM_TOOLSADDINS" />
            <Strings>
              <ButtonText>Test Menu</ButtonText>
            </Strings>
        </Menu>
    </Menus>
    

    Die guid Werte und des id Menüs geben den Befehlssatz und das spezifische Menü im Befehlssatz an.

    Die guid Werte und der id übergeordneten Position des Menüs im Abschnitt der Visual Studio Menüleiste, die die Menüs Extras und Add-Ins enthält.

    Das <ButtonText> -Element gibt an, dass der Text im Menüelement angezeigt werden soll.

  3. Suchen Sie im <Groups> Abschnitt nach , und ändern Sie das <Group> <Parent> -Element so, dass es auf das soeben hinzugefügte Menü verweist:

    <Groups>
        <Group guid="guidTopLevelMenuPackageCmdSet" id="MyMenuGroup" priority="0x0600">
            <Parent guid="guidTopLevelMenuPackageCmdSet" id="TopLevelMenu"/>
        </Group>
    </Groups>
    

    Dadurch wird die Gruppe Teil des neuen Menüs.

  1. Suchen Sie im <Buttons> Abschnitt nach dem Knoten <Button> . Ändern Sie dann im <Strings> Knoten das <ButtonText> -Element in Test Command .

    Beachten Sie, dass die Visual Studio Paketvorlage ein Element generiert Button hat, dessen übergeordnetes Element auf festgelegt MyMenuGroup ist. Daher wird dieser Befehl im Menü angezeigt.

Erstellen und Testen der Erweiterung

  1. Erstellen Sie das Projekt, und starten Sie das Debugging. Eine Instanz der experimentellen Instanz sollte angezeigt werden.
  1. Die Menüleiste in der experimentellen Instanz sollte ein Menü Testmenü enthalten.
  1. Das Menü Erweiterungen in der experimentellen Instanz sollte ein Menü Testmenü enthalten.
  1. Wählen Sie im Menü Testmenü die Option Testbefehl aus.

    Es sollte ein Meldungsfeld mit der Meldung "TestCommand Inside TopLevelMenu.TestCommand.MenuItemCallback()" angezeigt werden.

Siehe auch