Como: Propriedades de acesso de pastas para tipos específicos de projetos
Você pode conjunto e examinar as propriedades da pasta, se você em em aberto um projeto no manualmenteVisual Studio integrada ao ambiente de desenvolvimento (IDE) e clicar com o botão direito do mouse em uma pasta no O gerenciador de soluções.No menu de atalho, clicar Propriedades para exibir o Propriedades caixa de diálogo.
The VSLangProj80 espaço para nome oferece uma maneira programaticamente acesso propriedades da pasta em Visual C#, Visual J#, ou Visual Basic projetos. Especificamente, FolderProperties2 define um conjunto de propriedades para controlar e acessar informações de pasta avançado. Muitas das propriedades definidas no FolderProperties2 não pode ser acessado manualmente a partir do Propriedades janela.
Para acesso um específico FolderProperties2 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;
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 propriedade de uma pasta dentro de um Visual C#, Visual J#, ou Visual Basic projeto.
Na verdade, sistema autônomo propriedades definidas em FolderProperties2 Há uma lista de referência de propriedades disponível das pastas que podem ser acessadas sistema autônomo itens de propriedade de projetos para Visual C#, Visual J#, ou Visual Basic.
As etapas abaixo do detalhe como acesso essas propriedades por meio de programação 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 pastas para um tipo específico de projeto
Criar um Visual Studio Projeto suplemento usando Visual C#.
Sobre o Projeto menu, clicar Adicionar referência, clicar no NET guia, selecionar VSLangProj, VSLangProj2, and VSLangProj80, and clicar OK.
Adicione as seguintes instruções using ao início do arquivo conectar.cs.
using VSLangProj; using VSLangProj2; using VSLangProj80;
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; VSProjectFolderProps2(_applicationObject); }
Adicione o método VSProjectFolderProps2 imediatamente abaixo o método OnConnection.
public void VSProjectFolderProps2(DTE2 dte) { try { // Open a Visual C#, Visual J#, 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.
Criar o suplemento clicando em Criar solução on the Compilação menu.
Abra um Visual C#, Visual J#, ou Visual Basic projeto na Visual Studio IDE.
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.
As propriedades da pasta FullPath, FileName, e URL são exibidas em caixas de mensagem.
Exemplo
O exemplo a seguir é um básico Visual Studio suplemento que demonstra como acessar 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#, Visual J#, 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#, Visual J#, 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 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
Outros recursos
Acesso projeto tipo projeto específico, item de projeto e propriedades de configuração