Freigeben über


Exemplarische Vorgehensweise: Wenn Sie einen Befehl zur Symbolleiste des Projektmappen-Explorers hinzufügen (C#)

In dieser exemplarischen Vorgehensweise wird erläutert, wie Sie eine Schaltfläche auf der Symbolleiste Visual Studio Projektmappen-Explorer hinzugefügt wird.

Jeden beliebigen Befehl, ob auf einer Symbolleiste oder in einem Menü, gilt als eine Schaltfläche durch Visual Studio. Wenn auf die Schaltfläche geklickt wird, wird der Code im Befehlshandler ausgeführt. In der Regel werden verwandte Befehle, um eine Gruppe zu bilden zusammen gruppiert. Menüs oder Symbolleisten fungieren als Container für Gruppen auf. Priorität bestimmt die Reihenfolge, in der einzelne Befehle in einer Gruppe im Menü oder auf der Symbolleiste angezeigt werden. Sie können verhindern, dass eine Schaltfläche auf der Symbolleiste oder im Menü angezeigt, indem Sie seine Sichtbarkeit steuern. Ein Befehl, der in einem <VisibilityConstraints> - Abschnitt der .vsct-Datei aufgeführt ist, wird nur im zugeordneten Kontext. Die Sichtbarkeit kann nicht auf die Gruppen angewendet werden.

Weitere Informationen über Befehle finden, Menüs und Symbolleisten .vsct-Dateien, Befehle, Menüs und Symbolleisten.

Hinweis

Verwenden Sie Dateien der XML-Befehls-Tabelle (.vsct) anstelle von Dateien der Befehl tabellen-Konfiguration (.ctc), um zu definieren, wie Menüs und Befehle im VSPackages angezeigt werden.Weitere Informationen finden Sie unter (Visual Studio-Befehls-Tabelle. Dateien Vsct).

Vorbereitungsmaßnahmen

Um diese exemplarische Vorgehensweise ausführen zu können, müssen Sie Visual Studio SDKinstallieren.

Hinweis

Weitere Informationen zum Visual Studio SDK finden Sie unter Erweitern von Visual Studio Overview.Um herauszufinden finden Sie unter wie Visual Studio SDK, die Visual Studio Extensibility Developer Center MSDN-Site herunterlädt.

Speicherorte für die Visual Studio-Paket-Projektvorlage

Die Visual Studio-Paket Projektvorlage ist in drei Positionen im Dialogfeld Neues Projekt verfügbar:

  • Die Visual Basic-Erweiterbarkeit. Die Standardsprache des Projekts ist Visual Basic.

  • Die C#-Erweiterbarkeit. Die Standardsprache ist C# des Projekts.

  • Die Andere Projekttypen/Erweiterungen. Die Standardsprache des Projekts ist C++.

VSPackage erstellen, das einen einzelnen Menübefehl enthält

In diesem Abschnitt der exemplarischen Vorgehensweise wird erläutert, wie die Visual Studio Paket importieren, mit dem ein VSPackage erstellen, die einen Menübefehl unterstützt.

So erstellen SolutionToolbar VSPackage

  1. Erstellen Sie ein VSPackage, das SolutionToolbarbenannt ist. Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Wenn Sie einen Menübefehl mit der Visual Studio-Paket-Vorlage erstellen.

  2. Legen Sie die Programmiersprache die Option Visual C#Menübefehlfest, legen Sie den Befehlsnamen zu Symbolleisten-SchaltflächeTest-Befehlfest, und legen Sie die Befehls-ID an cmdidTestCmdfest.

Eine Symbolleiste auf die Schaltfläche Hinzufügen

In diesem Abschnitt der exemplarischen Vorgehensweise wird erläutert, wie Sie eine Schaltfläche mit den Projektmappen-Explorer Symbolleiste hinzugefügt wird. Wenn auf die Schaltfläche geklickt wird, wird der Code in der Rückrufmethode ausgeführt.

So fügen Sie eine Schaltfläche hinzu der Symbolleiste des Projektmappen-Explorers

  1. In Projektmappen-ExplorerDoppelklick SolutionToolbar.vsct, wenn es in einem Text-Editor geöffnet werden soll.

  2. Klicken Sie im <Symbols>-Abschnitt enthält der <GuidSymbol> Knoten mit dem Namen „endet, CmdSet im Menü“ Gruppe und - Befehl, der von der Vorlage Pakets generiert wurden. Fügen Sie ein <IDSymbol>-Element dieses Knotens hinzu, um die Gruppe zu deklarieren, die den Befehl enthält.

    <IDSymbol name="SolutionToolbarGroup" value="0x0190"/>
    
  3. Im Abschnitt <Groups> nach dem Eintrag in einer vorhandenen Gruppe, definieren Sie die neue Gruppe, die Sie im vorherigen Schritt deklariert hat.

    <Group guid="guidSolutionToolbarCmdSet"
           id="SolutionToolbarGroup" priority="0xF000">
      <Parent guid="guidSHLMainMenu" id="IDM_VS_TOOL_PROJWIN"/>
    </Group>
    

    Das Elemente festlegen: guidID IDM_VS_TOOL_PROJWIN Paar zu guidSHLMainMenu und versetzt diese Gruppe auf der Symbolleiste Projektmappen-Explorer sowie das Festlegen eines Werts mit hoher Priorität setzt ihn nach den anderen Befehlsgruppen.

  4. Im <Buttons>-Abschnitt ändern Sie die Elemente <Button> generierten ID des Eintrags, um die Gruppe anzugeben, die Sie im vorherigen Schritt definiert haben. Das geänderte Element <Button> Markup sollte dem folgenden Code ähneln.

    <Button guid="guidSolutionToolbarCmdSet" id="cmdidTestCmd" priority="0x0100" type="Button">
      <Parent guid="guidSolutionToolbarCmdSet" id="SolutionToolbarGroup" />
      <Icon guid="guidImages" id="bmpPic1" />
      <Strings>
        <CommandName>cmdidTestCmd</CommandName>
        <ButtonText>Toolbar Button Test Command</ButtonText>
      </Strings>
    </Button>
    
  5. Erstellen Sie die Projektmappe, und suchen Sie nach Fehlern.

  6. Drücken Sie F5, um den experimentellen Fensters Build Visual Studio sofort zu öffnen.

    Die Projektmappen-Explorer Symbolleiste sollte die neue Befehlsschaltfläche auf der rechten Seite der vorhandenen Schaltflächen angezeigt werden. Das Schaltflächensymbol ist die Ziffer 1 in einem Quadrat.

  7. Klicken Sie auf die Schaltfläche Neu.

    Ein Dialogfeld, das die Meldung enthält, Microsoft.SolutionToolbar.SolutionToolbarPackage.MenuItemCallback() unter „Inside“ sollte angezeigt werden.

Die Sichtbarkeit einer Schaltfläche steuern

In diesem Abschnitt der exemplarischen Vorgehensweise wird erläutert, wie die Sichtbarkeit einer Schaltfläche auf einer Symbolleiste gesteuert wird. Mit einem Kontext mit einem oder mehreren Projekten im Abschnitt der <VisibilityConstraints> SolutionToolbar.vsct-Datei festlegen, beschränken Sie eine Schaltfläche ein, der angezeigt wird, wenn nur ein Projekt oder Projekte geöffnet sind.

So fügen Sie eine Schaltfläche angezeigt werden soll, wenn ein oder mehrere Projekte geöffnet sind

  1. Wenn Sie noch die experimentelle Build Visual Studio geschlossen haben, schließen Sie sie jetzt.

  2. Im <Buttons>-Abschnitt von SolutionToolbar.vsct, fügen Sie zwei Befehls <Button>-Element dem vorhandenen Flags zwischen <Strings> und den <Icons>-Tags hinzu.

    <CommandFlag>DefaultInvisible</CommandFlag>
    <CommandFlag>DynamicVisibility</CommandFlag>
    

    Die DefaultInvisibleundDynamicVisibility-Flag muss festgelegt sein, damit Einträge im <VisibilityConstraints>-Abschnitt wirksam werden können.

  3. Erstellen Sie einen <VisibilityConstraints>-Abschnitt, der zwei <VisibilityItem> Einträge enthält. Setzen Sie den neuen Abschnitt </Commands> unmittelbar nach dem schließenden Tag.

    <VisibilityConstraints>
      <VisibilityItem guid="guidSolutionToolbarCmdSet"
            id="cmdidTestCmd"
            context="UICONTEXT_SolutionHasSingleProject" />
      <VisibilityItem guid="guidSolutionToolbarCmdSet"
            id="cmdidTestCmd"
            context="UICONTEXT_SolutionHasMultipleProjects" />
    </VisibilityConstraints>
    

    Jedes Sichtbarkeits Element stellt eine Bedingung dar, mit dem die angegebene Schaltfläche angezeigt wird. Um mehrere Bedingungen anwenden, müssen Sie mehrere Einträge für die gleiche Schaltfläche erstellen.

  4. Klicken Sie im Menü Erstellen auf Projektmappe neu erstellen. Sie müssen die Projektmappe neu erstellen, um das Menü anzuzeigen.

  5. Drücken Sie F5, um die experimentelle Build Visual Studio zu öffnen.

    Die Projektmappen-Explorer Symbolleiste enthält nicht die Schaltfläche, die das Zahl1 aufweist.

  6. Öffnen Sie eine Projektmappe, die ein Projekt oder mehrere Projekte enthält.

    Die Taste, die die Ziffer 1 aufweist, wird auf der Symbolleiste auf der rechten Seite der vorhandenen Schaltflächen.

  7. Klicken Sie im Menü Datei auf Projektmappe schließen. Die Schaltfläche wird in der Symbolleiste.

Die Sichtbarkeit der Schaltfläche wird durch Visual Studio gesteuert, bis VSPackages geladen wurde. Nachdem VSPackages geladen ist, wird die Sichtbarkeit der Schaltfläche von VSPackages gesteuert. Weitere Informationen finden Sie unter Gewusst wie: Erstellen und behandeln Sie Befehle in VSPackages (C#).

Siehe auch

Weitere Ressourcen

Befehle, Menüs und Symbolleisten

Exemplarische Vorgehensweisen für Befehle, Menüs und Symbolleisten