Sdílet prostřednictvím


Postupy: Řízení Průzkumníka řešení

Doplňky Visual Studio jsou ve verzi aplikace Visual Studio 2013 zastaralé.Měli byste upgradovat doplňky na rozšíření VSPackage.Další informace o upgradu viz Nejčastější dotazy: Převádění doplňků na rozšíření VSPackage.

Průzkumník řešení se v okně nástroje Visual Studio integrované vývojové prostředí (IDE), které zobrazí obsah řešení, zahrnující řešení projektů a položek každého projektu.Jako další panel nástrojů v Visual Studio, můžete řídit jeho fyzické parametry jako je velikost, umístění a zda je ukotvený nebo plovoucí.Informace o způsobu manipulace s toto okno nástroje stejně jako ostatní Visual Studio nástroj systému windows, naleznete v Postupy: Změna charakteristik okna.

Průzkumník řešení se nemá své vlastní objekty automatizace jako takové, ale obsah jeho hierarchie do určité míry lze ovládat pomocí UIHierarchy.Řídit projekty a položky projektu v řešení, pomocí modelu projektu automatizace.Další informace naleznete v tématu Řízení projektů a řešení.

[!POZNÁMKA]

Dialogová okna a příkazy nabídek, které vidíte, se mohou lišit od těch popsaných v nápovědě v závislosti na aktivních nastaveních nebo edici.Tyto postupy byly vyvinuty s aktivním Obecným vývojovým nastavením.Chcete-li změnit nastavení, zvolte NastaveníImportu a Exportu v nabídce Nástroje.Další informace naleznete v tématu Přizpůsobení nastavení pro vývoj v sadě Visual Studio.

Řízení Průzkumník řešení pomocí UIHierarchy

  1. Pokud Průzkumník řešení již není zobrazen, klepněte na tlačítko Průzkumník řešení na zobrazení nabídky.

  2. Otevřete projekt, který obsahuje velké množství prvků, jako je přidat do projektu.

  3. V Průzkumník řešení, klepněte na uzel, který má alespoň dvě dílčí uzly.

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

Příklad

Tento příklad ukazuje, jak pracovat s Průzkumník řešení 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

Postupy: Vytvoření doplňku

Návod: Vytvoření průvodce

Koncepty

Představení objektu VSProject2

Graf modelu objektů automatizace

Další zdroje

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

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

Referenční dokumentace automatizace a rozšíření