Como: Propriedades de acesso de arquivos para tipos específicos de projetos

Você pode conjunto e examine propriedades de arquivos no projeto no manualmenteVisual Studio ambiente de desenvolvimento integrado (IDE). Para examinar sistema autônomo propriedades de arquivo, abra um projeto em Visual Studio, clicar com o botão direito do mouse em um arquivo de projeto, tais sistema autônomo filename.cs, no O gerenciador de soluções.No menu de atalho, selecionar Propriedades para exibir o Propriedades caixa de diálogo.The Propriedades caixa de diálogo exibe as propriedades de arquivo que manualmente, você pode conjunto para o arquivo escolhido.

The VSLangProj80 espaço para nome oferece uma maneira programaticamente acesso propriedades do arquivo Visual C#, Visual J#, ou Visual Basic projetos. Especificamente, FileProperties2 define um conjunto avançado de propriedades para controlar e acessar informações do arquivo. Algumas propriedades definidas na FileProperties2 inválido são válidas para cada tipo de arquivo. Por exemplo, a DateCreated propriedade está definida para arquivos de código, mas não para outros arquivos de projeto.

Para acesso um específico FileProperties2 propriedade, você deve passar o nome de propriedade específica no sistema autônomo uma seqüência de caracteres para EnvDTE.Property.Properties.Item(object index), sistema autônomo neste exemplo de código abaixo.

Project project;
ProjectItems projItems;
ProjectItem projItem;
Property prop;
project = _applicationObject.Solution.Projects.Item(1);
projItems = project.ProjectItems;
projItem = projItems.Item(1);
prop = projItem.Properties.Item("FileName");

Este código acessa o FileName propriedade de um arquivo dentro de um Visual C#, Visual J#, ou Visual Basic projeto.

Na verdade, sistema autônomo propriedades definidas em FileProperties2 Há uma lista de referência de propriedades disponível de arquivos que podem ser acessados sistema autônomo itens de propriedade de projeto para Visual C#, Visual J#, ou Visual Basic projetos.

As etapas abaixo do detalhe como acesso as propriedades do arquivo programaticamente em um Visual Studio suplemento.

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 Importar e exportar configurações on the Ferramentas menu.Para obter mais informações, consulte Configurações do Visual Studio.

Para acesso propriedades de arquivos para um tipo específico de projeto

  1. Criar um Visual Studio Projeto suplemento usando Visual C#.

  2. Sobre o Projeto menu, clicar Adicionar referência, clicar no NET guia, selecionar VSLangProj, VSLangProj2, and VSLangProj80, and clicar OK.

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

    using VSLangProj;
    using VSLangProj2;
    using VSLangProj80;
    
  4. Adicione a seguinte telefonar 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;
        VSProjectFileProps2(_applicationObject);
    }
    
  5. Adicione o método VSProjectFileProps2 imediatamente abaixo o método OnConnection.

    public void VSProjectFileProps2(DTE2 dte)
    {
        try
        {
            // Open a Visual C#, Visual J#, or Visual Basic project
            // before running this add-in.
            Project project;
            ProjectItems projItems;
            ProjectItem projItem;
            Property prop;
            project = _applicationObject.Solution.Projects.Item(1);
            projItems = project.ProjectItems;
            for(int i = 1 ; i <= projItems.Count; i++ )
            {
                projItem = projItems.Item(i);
                prop = projItem.Properties.Item("FileName");
                MessageBox.Show("The file name of item " + i + " is: " 
    + prop.Value.ToString());
                if (prop.Value.ToString().Contains(".cs") 
    || prop.Value.ToString().Contains(".vb"))
                {
                    prop = projItem.Properties.Item("FileSize");
                    MessageBox.Show("The file size of item " + i + " 
    is: " + prop.Value.ToString());
                    prop = projItem.Properties.Item("DateCreated");
                    MessageBox.Show("The creation date of item " + i 
    + " is: " + prop.Value.ToString());
                }
            }
        }
        catch(Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }
    

    O VSProjectFileProps2 relaciona o FileName propriedade para cada arquivo do projeto. O método, em seguida, determina se o arquivo tem uma extensão .cs ou .vb.Em caso afirmativo, o Filesize e DateCreated valores de propriedades também são exibidas.

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

  6. Criar o suplemento clicando em Criar solução on the Compilação menu.

  7. Abra um Visual C#, Visual J#, ou Visual Basic projeto na Visual Studio IDE.

  8. Sobre o Ferramentas menu, clicar Gerenciador de suplementoe selecionar seu suplemento a partir de Gerenciador de suplemento caixa de diálogo.clicar OK para executar seu suplemento.

Exemplo

O exemplo a seguir é um básico Visual Studio suplemento que demonstra como acessar propriedades de um arquivo 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;
    VSProjectFileProps2(_applicationObject);
}
public void VSProjectFileProps2(DTE2 dte)
{
    try
    {
        // Open a Visual C#, Visual J#, or Visual Basic project
        // before running this add-in.
        Project project;
        ProjectItems projItems;
        ProjectItem projItem;
        Property prop;
        project = _applicationObject.Solution.Projects.Item(1);
        projItems = project.ProjectItems;
        for(int i = 1 ; i <= projItems.Count; i++ )
        {
            projItem = projItems.Item(i);
            prop = projItem.Properties.Item("FileName");
            MessageBox.Show("The file name of item " + i + " is: " 
+ prop.Value.ToString());
            if (prop.Value.ToString().Contains(".cs") 
|| prop.Value.ToString().Contains(".vb"))
            {
                prop = projItem.Properties.Item("FileSize");
                MessageBox.Show("The file size of item " + i + " is: "
 + prop.Value.ToString());
                prop = projItem.Properties.Item("DateCreated");
                MessageBox.Show("The creation date of item " + i 
+ " is: " + 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)
    VSProjectFileProperties2(_applicationObject)
End Sub
Sub VSProjectFileProperties2(ByVal dte As DTE2)
    ' Open a Visual C#, Visual J#, or Visual Basic project
    ' before running this add-in.
    Try
        Dim project As Project
        Dim projItems As ProjectItems
        Dim projItem As ProjectItem
        Dim prop As [Property]
        project = _applicationObject.Solution.Projects.Item(1)
        projItems = project.ProjectItems
        For i As Integer = 1 To projItems.Count
            projItem = projItems.Item(i)
            prop = projItem.Properties.Item("FileName")
            MsgBox("The file name of item " & i & " is: "  _
            & prop.Value.ToString())
            If (prop.Value.ToString().Contains(".cs")  _
            Or prop.Value.ToString().Contains(".vb")) Then
                prop = projItem.Properties.Item("FileSize")
                MsgBox("The file size of item " & i & " is: "  _
                & prop.Value.ToString())
                prop = projItem.Properties.Item("DateCreated")
                MsgBox("The creation date of item " & i & " is: "  _
                & prop.Value.ToString())
            End If
        Next i
        Catch ex As System.Exception
            MsgBox(ex.ToString)
        End Try
    End Sub

Compilando o código

Para compilar este código, crie um novo Visual Studio projeto suplemento 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: Controlarar Adicionar-ins com o Adicionar - in Gerente.

Consulte também

Conceitos

Propriedades do projeto

Outros recursos

Acesso projeto tipo projeto específico, item de projeto e propriedades de configuração