How to: Ao acessar Propriedades de pastas para tipos específicos de projetos

Você pode definir manualmente e examine as propriedades da pasta, se você abrir um projeto no Visual Studio (IDE) do ambiente de desenvolvimento integrado e uma pasta com o botão direito Solution Explorer. No menu de atalho, clique em Propriedades para exibir o Propriedades caixa de diálogo.

O VSLangProj80 namespace oferece uma maneira para programaticamente acessar as propriedades da pasta na Visual C# ou Visual Basic projetos. Especificamente, FolderProperties2 define um rico conjunto de propriedades para controlar e acessar informações de pasta. Muitas das propriedades definidas em FolderProperties2 não podem ser acessadas manualmente o Propriedades janela.

Para acessar um determinado FolderProperties2 propriedade, você deve passar o nome de propriedade específica no como uma seqüência de caracteres EnvDTE.Property.Properties.Item(object index), conforme mostrado no exemplo de código abaixo.

Project project;
ProjectItem folder;
Properties folderProps;
Property prop;
project = _applicationObject.Solution.Projects.Item(1);
folder = project.ProjectItems.AddFolder("MyFolder"
,Constants.vsProjectItemKindPhysicalFolder);
folderProps = folder.Properties;
prop = folderProps.Item("FullPath");

Este código acessa o FullPath a propriedade de uma pasta dentro de um Visual C# ou Visual Basic project.

Na verdade, as propriedades são definidas em FolderProperties2 são uma lista de referência de propriedades disponíveis das pastas que podem ser acessadas como itens de propriedade de projetos para Visual C# ou Visual Basic.

As etapas a seguir detalham como acessar essas propriedades programaticamente em um Visual Studio add-in.

ObservaçãoObservação

As caixas de diálogo e comandos de menu demonstradas podem ser diferentes daqueles descritos na Ajuda, dependendo das configurações ativas ou configurações de edição. Esses procedimentos foram desenvolvidos com o General Development Settings ativo. Para alterar as configurações, escolha Import and Export Settings sobre o Ferramentas menu. Para obter mais informações, consulte Trabalhando com configurações.

Para acessar as propriedades de pastas para um tipo específico de projeto

  1. Criar um Visual Studio projeto usando o Add-in Visual C#.

  2. Sobre o projeto menu, clique em Add Reference, clique o .NET guia, selecione VSLangProj, VSLangProj2, e VSLangProj80e clique em OK.

  3. Adicione as seguintes instruções using ao início do arquivo Connect. cs.

    using VSLangProj;
    using VSLangProj2;
    using VSLangProj80;
    
  4. Adicione a seguinte chamada de método para o método OnConnection.

    public void OnConnection(object application, 
    ext_ConnectMode connectMode, object addInInst, ref Array custom)
    {
        _applicationObject = (DTE2)application;
        _addInInstance = (AddIn)addInInst;
        VSProjectFolderProps2(_applicationObject);
    }
    
  5. Adicione o método VSProjectFolderProps2 imediatamente abaixo o método OnConnection.

    public void VSProjectFolderProps2(DTE2 dte)
    {
        try
        {
            // Open a Visual C# or Visual Basic project
            // before running this add-in.
            Project project;
            ProjectItem folder;
            Properties folderProps;
            Property prop;
            project = _applicationObject.Solution.Projects.Item(1);
            // Add a new folder to the project.
            MessageBox.Show("Adding a new folder to the project.");
            folder =
     project.ProjectItems.AddFolder("MyFolder",
    Constants.vsProjectItemKindPhysicalFolder);
            folderProps = folder.Properties;
            prop = folderProps.Item("FullPath");
            MessageBox.Show("The full path of the new folder is:" 
    + "\n" + prop.Value.ToString());
            prop = folderProps.Item("FileName");
            MessageBox.Show("The file name of the new folder is:" 
    + "\n" + prop.Value.ToString());
            prop = folderProps.Item("URL");
            MessageBox.Show("The new folder has the following URL:" 
    + "\n" + prop.Value.ToString());
        }
        catch(Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }
    

    A seção exemplo lista o código completo.

  6. Criar o suplemento clicando em Build Solution sobre o Construir menu.

  7. Abrir um Visual C# ou Visual Basic projeto na Visual Studio IDE.

  8. No Ferramentas menu, clique em Gerenciador de suplementose selecione o add-in da Gerenciador de suplementos caixa de diálogo. Clique em OK para executar seu suplemento.

    As propriedades da pasta FullPath, FileName, e URL são exibidas nas caixas de mensagem.

Exemplo

O exemplo a seguir é um basic Visual Studio suplemento que demonstra como acessar as propriedades de uma pasta em um tipo específico de projeto usando Visual Studio automação.

using System;
using Extensibility;
using EnvDTE;
using EnvDTE80;
using System.Windows.Forms;
using VSLangProj;
using VSLangProj2;
using VSLangProj80;
public void OnConnection(object application, 
ext_ConnectMode connectMode, object addInInst, ref Array custom)
{
    _applicationObject = (DTE2)application;
    _addInInstance = (AddIn)addInInst;
    VSProjectFolderProps2(_applicationObject);
}
public void VSProjectFolderProps2(DTE2 dte)
{
    try
    {
        // Open a Visual C# or Visual Basic project
        // before running this add-in.
        Project project;
        ProjectItem folder;
        Properties folderProps;
        Property prop;
        project = _applicationObject.Solution.Projects.Item(1);
        // Add a new folder to the project.
        MessageBox.Show("Adding a new folder to the project.");
        folder =
 project.ProjectItems.AddFolder("MyFolder"
,Constants.vsProjectItemKindPhysicalFolder);
        folderProps = folder.Properties;
        prop = folderProps.Item("FullPath");
        MessageBox.Show("The full path of the new folder is:" + "\n" 
+ prop.Value.ToString());
        prop = folderProps.Item("FileName");
        MessageBox.Show("The file name of the new folder is:" + "\n" 
+ prop.Value.ToString());
        prop = folderProps.Item("URL");
        MessageBox.Show("The new folder has the following URL:" 
+ "\n" + prop.Value.ToString());
    }
    catch(Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}
Imports System
Imports Microsoft.VisualStudio.CommandBars
Imports Extensibility
Imports EnvDTE
Imports EnvDTE80
Imports VSLangProj
Imports VSLangProj2
Imports VSLangProj80
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)
    VSProjectConfigProperties(_applicationObject)
End Sub
Sub VSProjectConfigProperties(ByVal dte As DTE2)
    ' Open a Visual C# or Visual Basic project
    ' before running this add-in.
    Try
        Dim project As Project
        Dim folder As ProjectItem
        Dim folderProps As Properties
        Dim prop As [Property]
        project = _applicationObject.Solution.Projects.Item(1)
        ' Add a new folder to the project.
        MsgBox("Adding a new folder to the project...")
        folder = project.ProjectItems.AddFolder("MyFolder" _
        , Constants.vsProjectItemKindPhysicalFolder)
        folderProps = folder.Properties
        prop = folderProps.Item("FullPath")
        MsgBox("The full path of the new folder is:" & vbCr _
        & prop.Value.ToString())
        prop = folderProps.Item("FileName")
        MsgBox("The file name of the new folder is:" & vbCr _
        & prop.Value.ToString())
        prop = folderProps.Item("URL")
        MsgBox("The new folder has the following URL:" & vbCr  _
        & prop.Value.ToString())
    Catch ex As System.Exception
        MsgBox(ex.ToString)
    End Try
End Sub

Compilando o código

Para compilar esse código, crie um novo Visual Studio add-in do projeto e substitua o código do método OnConnection com o código de exemplo. Para obter informações sobre como executar um suplemento, consulte Como: controle de Adicionar-</c0>.

Consulte também

Conceitos

Propriedades do projeto

Outros recursos

Acessando as Propriedadesde configuração de projeto específico do Tipo de projeto e Item de projeto