Como: Controle gerenciador de soluções

O gerenciador de soluções é uma janela de ferramentas no Visual Studio ambiente de desenvolvimento integrado (IDE) que exibe o Sumário de uma solução que inclui projetos da solução e itens de cada projeto. sistema autônomo outras janelas de ferramenta no Visual Studio, você pode controle seus parâmetros físicos, sistema autônomo dimensionar, localização, e se está encaixado ou flutuante. Para obter informações sobre sistema autônomo manipular esta janela de ferramentas, bem sistema autônomo outros Visual Studio janelas de ferramenta, consulte Como: Alterar características de janela.

O gerenciador de soluções não tem seus próprios objetos de automação sistema autônomo tal, mas você pode controle o Sumário de sua hierarquia até certo ponto usando UIHierarchy. Para controle projetos e itens de projeto na solução, usar o modelo de automação do projeto.Para obter mais informações, consulte Controlar projetos e soluções.

Observação:

As caixas de diálogo e comandos de menu demonstradas podem ser diferentes daqueles descritas na Ajuda, dependendo das configurações ativas ou configurações de edição.Esses procedimentos foram desenvolvidos com o Geral Development Settings ativo.Para alterar as configurações, escolher Import and ExportSettings on the Tools menu.Para obter mais informações, consulte Configurações do Visual Studio.

Para controlar o gerenciador de soluções utilizando UIHierarchy

  1. If O gerenciador de soluções já não estiver visível, clicar O gerenciador de soluções on the Modo de exibição menu.

  2. Abra um projeto tem um grande número de elementos, such sistema autônomo um projeto suplemento.

  3. In O gerenciador de soluções, clicar um nó que possui pelo menos dois subnós.

  4. Execute o seguinte código.

Exemplo

Este exemplo demonstra como manipular O gerenciador de soluções by using UIHierarchy.

Imports System.Text
Public 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;
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());
}

Consulte também

Tarefas

Como: Criar um suplemento

Demonstra Passo a passo: Criando um assistente

Conceitos

Introdução ao objeto VSProject2

Gráfico do modelo de objetos de automação

Outros recursos

Criando e controlando o ambiente Windows

Criando suplementos e assistentes

Automação e referência a extensibilidade