Aracılığıyla paylaş


Nasıl yapılır: Solution Explorer'da Denetim

Solution Explorer'da bir araç penceresinde Visual Studio tümleşik geliştirme ortamı (IDE) solution'ın projeleri ve her projenin öğeleri içeren bir çözüm içeriğini görüntüler. Diğer araç pencereleri gibi Visual Studio, boyutu, konumu gibi fiziksel parametrelerinin kontrol edebilirsiniz ve yerleşik veya serbest kaydırılan olup. Bu araç penceresi gibi diğer değiştirme hakkında bilgi için Visual Studio aracını windows için bkz: Nasıl yapılır: pencere özelliklerini değiştirme.

Solution Explorer'da değil, kendi Otomasyon nesneleri gibi sahip yapar ancak, hiyerarşinin belirli bir ölçüde içeriğini kullanarak kontrol UIHierarchy. Projeler ve çözümdeki proje öğeleri denetlemek için proje otomasyon modelini kullanın. Daha fazla bilgi için bkz. Proje 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ı ile etkin geliştirilmiştir.Ayarlarınızı değiştirmek için Al ve Verayarları üzerinde araçları menü.Daha fazla bilgi için bkz. Visual Studio ayarları.

UIHierarchy kullanarak Solution Explorer denetlemek için

  1. Solution Explorer zaten görünmüyorsa,'ı Solution Explorer üzerinde View menü.

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

  3. İçinde Solution Explorer, en az iki alt düğümleri içeren bir düğümü tıklatın.

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

Örnek

Bu örnek nasýl yönetileceðini göstermektedir Solution Explorer 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: bir eklenti oluşturmak

İzlenecek yol: bir sihirbaz oluşturma

Kavramlar

VSProject2 nesne giriş

Otomasyon nesne modeli şeması

Diğer Kaynaklar

Oluşturma ve ortam Windows denetleme

Eklentiler ve sihirbazlar oluşturma

Otomasyon ve Genişletilebilirlik Başvurusu