How to: Criar programaticamente os itens de projeto

Para criar programaticamente os itens de projeto, primeiro chame GetProjectItemTemplatee em seguida passar os caminhos de modelo retornado para AddFromTemplate. Para obter mais informações, consulte Modelos Visual Studio.

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

Você também pode criar modelos de item de projeto personalizado. Para especificar o diretório no qual você armazenará seus modelos, clique em Opções sobre o Ferramentas menu. No painel esquerdo do Opções caixa de diálogo, clique em projetos e soluções. Digite o caminho de seus modelos na local de modelos de item de usuário Visual Studio caixa.

Modelos personalizados requerem nomes de arquivo exclusivo que não entrem em conflito com os nomes de arquivo são definidos em: Programa de Visual Studio de Programas\Microsoft 10.0\Common7\IDE\ItemTemplates\idioma\.

Certifique-se de que você use nomes de arquivo longos (em oposição ao que esteja em formato 8.3). Para obter mais informações, consulte Criando modelos de projeto e de item.

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

O exemplo a seguir aborda o método genérico para criar itens de projeto. Tópicos listados no endereço de seção Consulte também como usar os modelos específicos do idioma.

ObservaçãoObservação

Seu computador pode mostrar diferentes nomes ou localizações para alguns dos elementos de interface do usuário do 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 Trabalhando com configurações.

Adicionando itens a projetos

Para adicionar programaticamente os itens a um projeto

  1. Iniciar Visual Studio e criar um Visual Studio suplemento do projeto.

  2. Adicione o código que é mostrado posteriormente neste tópico para o Connect a classe do add-in.

  3. Executar o projeto de suplemento e ativá-lo em Gerenciador de suplementos clicando em Gerenciador de suplementos na Ferramentas menu e, em seguida, selecionando a caixa ao lado do suplemento.

Exemplo

O exemplo a seguir demonstra como programaticamente adicionar itens a um Visual Basic project.

' 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 esse código, crie um Visual Studio add-in do projeto e substitua o código da classe Connect. cs ou Connect. vb, usando o código de exemplo. Antes de executar o suplemento, abra uma Visual Basic o projeto em Visual Studio. Para obter informações sobre como executar um suplemento, consulte How to: Adicionar-Ins usando o Adicionar-no Gerenciador de controle.

Programação robusta

Quando você usa nomes de item de projeto como o parâmetro para Solution.Projects.Item, você 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) para o 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 do método Item seria Solution.Projects.Item("WinApp1/WinApp1.VBProj").

Consulte também

Tarefas

How to: Compilar e executar os exemplos de código de modelo de objeto de automação

How to: Programaticamente, criar projetos

Conceitos

Manipulação de Visual Basic e projetos do Visual C#

Manipulação de projetos do Visual C++

Introdução a modelos do Visual Studio

Outros recursos

Controlando a solução e seus projetos.