Compartilhar via


Como criar itens de projetos programaticamente

Os suplementos do Visual Studio foram substituídos no Visual Studio 2013. Você deve atualizar seus suplementos para as extensões VSPackage. Para obter mais informações sobre atualização, consulte Perguntas frequentes: convertendo suplementos em extensões VSPackage.

Para criar itens de projeto de modo programático, chame GetProjectItemTemplate e passe os caminhos do modelo retornado a AddFromTemplate. Para obter mais informações, consulte Visual Studio Templates.

O método GetProjectItemTemplate retorna o modelo do arquivo .zip apropriado para uso com o método AddFromTemplate. Os modelos de item do projeto para todos os idiomas podem ser encontrados em Arquivos de Programas\Microsoft Visual Studio 10.0\Common7\IDE\ItemTemplates\Language\.

Também é possível criar seus próprios modelos personalizados de item de projeto. Para especificar o diretório no qual você armazenará os modelos, clique em Opções no menu Ferramentas. No painel esquerdo da caixa de diálogo Opções, clique em Projetos e Soluções. Digite o caminho dos modelos na caixa Local dos modelos de item de usuário do Visual Studio.

Os modelos personalizados requerem nomes de arquivo únicos que não entrem em conflito com os nomes de arquivo que estão definidos em: Program Files\Microsoft Visual Studio 10.0\Common7\IDE\ItemTemplates\Language\.

Verifique se você está usando nomes de arquivo longos (em vez de 8dot3). Para obter mais informações, consulte Creating Project and Item Templates.

Para remover projetos da solução, use Remove.

O exemplo a seguir aborda o método genérico para criar itens de projeto. Os tópicos listados na seção Consulte também aborda como usar os modelos específicos de linguagem.

Dica

Seu computador pode mostrar diferentes nomes ou localizações para alguns dos elementos de interface do usuário Visual Studio nas instruções a seguir.A edição do Visual Studio que você possui e as configurações que você usa determinam esses elementos.Para obter mais informações, consulte Personalizando configurações de desenvolvimento no Visual Studio.

Adicionando itens aos projetos

Para adicionar itens a um projeto de modo programático

  1. Inicie o Visual Studio e crie um projeto de suplemento do Visual Studio.

  2. Adicione o código mostrado posteriormente neste tópico à classe de Connect do suplemento.

  3. Execute o projeto do suplemento e ative-o em Gerenciador de Suplementos clicando em Gerenciador de Suplementos no menu Ferramentas e selecionando a caixa ao lado do suplemento.

Exemplo

O exemplo a seguir demonstra como adicionar itens programaticamente a um projeto existente do Visual Basic.

' Before running the following code, be sure that a Visual Basic 
' project is open in Visual Studio.
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)
    createProjectItem(_applicationObject)
End Sub

Sub createProjectItem(ByVal dte As DTE2)
    ' Adds a new Class to an existing Visual Basic project.
    Dim soln As Solution2
    Dim prj As Project
    soln = CType(_applicationObject.Solution, Solution2)
    Dim prjItem As ProjectItem
    Dim itemPath As String

    ' Point to the first project (the Visual Basic project).
    prj = soln.Projects.Item(1)
    ' Retrieve the path to the Class template.
    itemPath = soln.GetProjectItemTemplate("Class.zip", "vbproj")
    ' Create a new project item based on the template, in this case,
    ' a Class.
    prjItem = prj.ProjectItems.AddFromTemplate(itemPath, "MyNewClass")
End Sub
// Before running the following code, be sure that a Visual Basic 
// project is open in Visual Studio.
public void OnConnection(object application,
 Extensibility.ext_ConnectMode connectMode, object addInInst, ref
 System.Array custom)
{
    _applicationObject = (DTE2)application;
    _addInInstance = (AddIn)addInInst;

    // Pass the applicationObject member variable to the code example.
    createProjectItem(_applicationObject);
}
public void createProjectItem(DTE2 dte)
{
    //Adds a new Class to an existing Visual Basic project.
    Solution2 soln;
    Project prj;
    soln = (Solution2)_applicationObject.Solution;
    ProjectItem prjItem;
    String itemPath;
    // Point to the first project (the Visual Basic project).
    prj = soln.Projects.Item(1);
    // Retrieve the path to the class template.
    itemPath = soln.GetProjectItemTemplate("Class.zip", "vbproj");
    //Create a new project item based on the template, in this
    // case, a Class.
    prjItem = prj.ProjectItems.AddFromTemplate(itemPath, "MyNewClass");
}

Compilando o código

Para compilar este código, crie um novo projeto de suplemento do Visual Studio e substitua o código da classe Connect.cs ou Connect.vb usando o código no exemplo. Antes de executar o suplemento, abra um projeto Visual Basic em Visual Studio. Para obter informações sobre como executar um suplemento, consulte Como controlar suplementos usando o Gerenciador de Suplementos.

Programação robusta

Quando você usa nomes de itens de projeto como o parâmetro de Solution.Projects.Item, deve usar o nome exclusivo do projeto. O nome exclusivo é um caminho relativo do diretório que contém o arquivo de solução (.sln) ao arquivo de projeto.

Por exemplo, considere a estrutura de projeto/solução a seguir:

SomeSolution.sln

     WinApp1

          WinApp1.VBProj

O nome exclusivo para o projeto seria "WinApp1/WinApp1.VBProj" e a chamada ao método Item seria Solution.Projects.Item("WinApp1/WinApp1.VBProj").

Consulte também

Tarefas

Como compilar e executar os exemplos de código do modelo de objeto Automation

Como criar projetos programaticamente

Conceitos

Manipulando projetos do Visual Basic e do Visual C#

Manipulando projetos do Visual C++

Introdução aos modelos de Visual Studio

Outros recursos

Controlando a solução e os respectivos projetos