Aracılığıyla paylaş


Nasıl yapılır: Çözüm Gezginini Denetleme

Visual Studio eklentileri, Visual Studio 2013'te kullanım dışıdır.Eklentilerinizi VSPackage uzantılarına yükseltmelisiniz.Yükseltme hakkında daha fazla bilgi için bkz: SSS: Eklentileri VSPackage Uzantılarına Dönüştürme.

Çözüm Gezgini bir araç penceresinde Visual Studio tümleşik geliştirme ortamı (IDE) çözümün projeleri ve her projenin öğeleri içeren bir çözüm içeriğini görüntüler.Gibi diğer araç pencerelerini Visual Studio, boyut, konum, gibi fiziksel parametrelerini denetleyebilirsiniz ve yerleşik veya serbest kaydırılan olup.Bu araç penceresi gibi diğer değiştirmek hakkında bilgi için Visual Studio aracı windows, bkz: Nasıl yapılır: Pencere Özelliklerini Değiştirme.

Çözüm Gezgini mu bu şekilde kendi Otomasyon nesneleri sahip değil, ancak belirli bir ölçüde kendi hiyerarşiye içeriğini kullanarak kontrol edebilirsiniz UIHierarchy.Projeler ve çözümdeki proje öğeleri denetlemek için proje otomasyon modeli kullanın.Daha fazla bilgi için bkz. Projeleri ve Çözümleri Denetleme.

[!NOT]

Gördüğünüz iletişim kutuları ve menü komutları, etkin ayarlarınıza ve ürün sürümüne bağlı olarak Yardım menüsünde açıklanana göre farklılık gösterebilir.Bu yordamlar, Genel Geliştirme Ayarları etkin şekilde geliştirildi.Ayarlarınızı değiştirmek için Araçlar menüsünden Ayarlarİçeri Aktar ve Dışarı Aktar'ı seçin.Daha fazla bilgi için bkz. Visual Studio'da Geliştirme Ayarlarını özelleştirme.

UIHierarchy kullanarak denetlemek için Çözüm Gezgini

  1. Yoksa Çözüm Gezgini zaten görünmüyorsa,'ı Çözüm Gezgini üzerinde Görünüm menü.

  2. Çok sayıda eklenti projesi gibi öğeleri içeren bir proje açın.

  3. İçinde Çözüm Gezgini, en az iki alt düğümü olan bir düğümü tıklatın.

  4. Aşağıdaki kodu çalıştırın.

Örnek

Bu örnek, nasıl düzenleneceğini gösterir Çözüm Gezgini kullanarak 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());
}

Ayrıca bkz.

Görevler

Nasıl yapılır: Eklentiler Oluşturma

İzlenecek yol: Sihirbaz Oluşturma

Kavramlar

VSProject2 Nesnesine Giriş

Otomasyon Nesne Modeli Grafiği

Diğer Kaynaklar

Ortam Pencereleri Oluşturma ve Denetleme

Eklentiler ve Sihirbazlar Oluşturma

Otomasyon ve Genişletilebilirlik Başvurusu