Freigeben über


Gewusst wie: Steuern des Projektmappen-Explorers

Der Projektmappen-Explorer ist ein Toolfenster in der integrierten Entwicklungsumgebung (Integrated Development Environment, IDE) von Visual Studio, in dem der Inhalt einer Projektmappe angezeigt wird, z. B. die Projekte der Projektmappe und die Elemente der einzelnen Projekte. Wie bei anderen Toolfenstern in Visual Studio können physische Parameter wie Größe und Speicherort gesteuert werden, und es kann festgelegt werden, ob das Fenster angedockt oder nicht verankert ist. Informationen zum Ändern dieses sowie anderer Toolfenster in Visual Studio finden Sie unter Gewusst wie: Ändern des Erscheinungsbilds eines Fensters.

Der Projektmappen-Explorer verfügt nicht über eigene Automatisierungsobjekte; Sie haben jedoch die Möglichkeit, den Inhalt seiner Hierarchie bis zu einem gewissen Grad mithilfe von UIHierarchy zu steuern. Verwenden Sie das Projektautomatisierungsmodell, um Projekte und Projektelemente in der Projektmappe zu steuern. Weitere Informationen finden Sie unter Steuern von Projekten und Projektmappen.

Tipp

Je nach den aktiven Einstellungen oder der Version unterscheiden sich die Dialogfelder und Menübefehle auf Ihrem Bildschirm möglicherweise von den in der Hilfe beschriebenen. Bei der Entwicklung dieser Verfahren war die Option Allgemeine Entwicklungseinstellungen aktiviert. Wählen Sie im Menü Extras die Option Einstellungen importieren und exportieren aus, um die Einstellungen zu ändern. Weitere Informationen finden Sie unter Arbeiten mit Einstellungen.

So steuern Sie den Projektmappen-Explorer mithilfe von UIHierarchy

  1. Wenn der Projektmappen-Explorer nicht sichtbar ist, klicken Sie im Menü Ansicht auf Projektmappen-Explorer.

  2. Öffnen Sie ein Projekt, das über eine große Anzahl von Elementen verfügt, z. B. ein Add-In-Projekt.

  3. Klicken Sie im Projektmappen-Explorer auf einen Knoten, der mindestens zwei Unterknoten aufweist.

  4. Führen Sie den folgenden Code aus.

Beispiel

In diesem Beispiel wird veranschaulicht, wie der Projektmappen-Explorer mithilfe von UIHierarchy verändert wird.

Imports System.Text
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90
Imports EnvDTE100Public Sub OnConnection(ByVal application As Object, ByVal _
  connectMode As ext_ConnectMode, ByVal addInInst As Object, _
  ByRef custom As Array) Implements IDTExtensibility2.OnConnection
    _applicationObject = CType(application, DTE2)
    _addInInstance = CType(addInInst, AddIn)
    ' Pass the applicationObject member variable to the code example.
    slnExplUIHierarchyExample(_applicationObject)
End Sub

Sub slnExplUIHierarchyExample(ByVal dte As DTE2)
    Dim UIH As UIHierarchy = dte.ToolWindows.SolutionExplorer
    ' Requires a reference to System.Text.
    ' Set a reference to the first level nodes in Solution Explorer. 
    ' Automation collections are one-based.
    Dim UIHItem As UIHierarchyItem = UIH.UIHierarchyItems.Item(1)
    Dim file As UIHierarchyItem
    Dim sb As New StringBuilder

    ' Iterate through first level nodes.
    For Each file In UIHItem.UIHierarchyItems
        sb.AppendLine(file.Name)
        ' Iterate through second level nodes (if they exist).
        Dim subitem As UIHierarchyItem
        For Each subitem In file.UIHierarchyItems
            sb.AppendLine("   " & subitem.Name)
            ' Iterate through third level nodes (if they exist).
            Dim subSubItem As UIHierarchyItem
            For Each subSubItem In subitem.UIHierarchyItems
                sb.AppendLine("        " & subSubItem.Name)
            Next
        Next
    Next
    MsgBox(sb.ToString)
 End Sub
using System.Text;
using EnvDTE;
using EnvDTE80;
using EnvDTE90;
using EnvDTE100;public void OnConnection(object application, ext_ConnectMode 
  connectMode, object addInInst, ref Array custom)
{
    _applicationObject = (DTE2)application;
    _addInInstance = (AddIn)addInInst;
    // Pass the applicationObject member variable to the code example.
    slnExplUIHierarchyExample(_applicationObject);
}

public void slnExplUIHierarchyExample(DTE2 dte)
{
    UIHierarchy UIH = dte.ToolWindows.SolutionExplorer;
    // Requires a reference to System.Text.
    // Set a reference to the first level nodes in Solution Explorer. 
    // Automation collections are one-based.
    UIHierarchyItem UIHItem = UIH.UIHierarchyItems.Item(1);
    StringBuilder sb = new StringBuilder();

    // Iterate through first level nodes.
    foreach ( UIHierarchyItem fid in UIHItem.UIHierarchyItems )
    {
        sb.AppendLine(fid.Name);
        // Iterate through second level nodes (if they exist).
        foreach ( UIHierarchyItem subitem in fid.UIHierarchyItems )
        {
            sb.AppendLine("   "+subitem.Name);
            // Iterate through third level nodes (if they exist).
            foreach ( UIHierarchyItem subSubItem in 
              subitem.UIHierarchyItems )
            {
                sb.AppendLine("        "+subSubItem.Name);
            }
        }
    }
    System.Windows.Forms.MessageBox.Show(sb.ToString());
}

Siehe auch

Aufgaben

Gewusst wie: Erstellen von Add-Ins

Exemplarische Vorgehensweise: Erstellen eines Assistenten

Konzepte

Einführung in das VSProject2-Objekt

Diagramm "Automationsobjektmodell"

Weitere Ressourcen

Erstellen und Steuern von Umgebungsfenstern

Erstellen von Add-Ins und Assistenten

Referenz zur Automatisierung und Erweiterbarkeit