Sdílet prostřednictvím


Jak: Explorer ovládací prvek řešení

Průzkumník řešení je v okně Nástroj Visual Studio integrované vývojové prostředí (IDE) zobrazí obsah roztok, který zahrnuje položky každého projektu a řešení projektů.Podobně jako ostatní nástroje systému windows v Visual Studio, můžete řídit fyzické parametry, například velikost, umístění a zda je plovoucí, nebo ukotvený.Informace o způsobu manipulace s toto okno nástroje stejně jako ostatní Visual Studio nástroj windows, viz Jak: změnit vlastnosti okna.

Průzkumník řešení , neobsahuje vlastní automatizace objekty jako takové, ale obsah jeho hierarchii do určité míry můžete ovládat pomocí UIHierarchy.Řízení projektů a položek projektu v roztoku, použijte automatizaci modelu projektu.Další informace naleznete v tématu Řízení projektů a řešení.

[!POZNÁMKA]

Dialogová okna a příkazy v nabídkách menu, které vidíte, se mohou lišit od těch popsaných v nápovědě, v závislosti na vašich aktivních nastaveních nebo edici.Tyto postupy byly vyvinuty s aktivní Obecné nastavení pro vývoj.Chcete-li změnit nastavení, zvolte Import a ExportNastavení na Nástroje nabídce.Další informace naleznete v tématu Nastavení aplikace Visual Studio.

Řízení aplikaci Solution Explorer pomocí UIHierarchy

  1. Pokud Aplikaci Solution Explorer již není zobrazen, klepněte na tlačítko Aplikaci Solution Explorer na zobrazení nabídce.

  2. Otevřete projekt, který má velký počet prvků, například přidat do projektu.

  3. V Aplikaci Solution Explorer, klepněte na uzel, který má alespoň dva poduzly.

  4. Spusťte následující kód.

Příklad

Tento příklad ukazuje, jak pracovat s Aplikaci Solution Explorer pomocí UIHierarchy.

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());
}

Viz také

Úkoly

Jak: Vytvoření doplňku

Názorný postup: Vytvoření Průvodce

Koncepty

Úvod do objektu VSProject2

Automatizační objekt modelu grafu

Další zdroje

Vytváření a řízení prostředí Windows

Vytváření doplňků a průvodců

Automatizace a Reference rozšiřitelnosti