Compartir a través de


Cómo: Crear elementos de proyecto mediante programación

Para crear elementos de proyecto mediante programación, llame primero a GetProjectItemTemplate y pase a continuación las rutas de acceso de las plantillas devueltas a AddFromTemplate. Para obtener más información, vea Plantillas de Visual Studio.

El método GetProjectItemTemplate devuelve la plantilla del archivo .zip adecuado para usarlo con el método AddFromTemplate. Las plantillas de elemento de proyecto para todos los lenguajes se encuentran en \Archivos de programa\Microsoft Visual Studio 10.0\Common7\IDE\ItemTemplates\lenguaje\.

También puede crear sus propias plantillas de elemento de proyecto personalizadas. Para especificar el directorio en el que almacenará las plantillas, haga clic en el comando Opciones del menú Herramientas. En el recuadro izquierdo del cuadro de diálogo Opciones, haga clic en Proyectos y soluciones. Escriba la ruta de acceso de las plantillas en el cuadro Ubicación de plantillas de elemento de usuario de Visual Studio.

Las plantillas personalizadas requieren nombres de archivo únicos que no entren en conflicto con los nombres de archivo que se definen en: \Archivos de programa\Microsoft Visual Studio 10.0\Common7\IDE\ItemTemplates\lenguaje\.

Asegúrese de utilizar nombres de archivo largos (en lugar del formato 8.3). Para obtener más información, vea Crear plantillas de proyectos y de elementos.

Para quitar proyectos de la solución, utilice Remove.

El ejemplo siguiente dirige la definición de método genérico para crear elementos de proyecto. Los temas mostrados en la sección Vea también indican cómo utilizar los modelos específicos de idioma.

Nota

Es posible que su equipo muestre nombres o ubicaciones diferentes para algunos de los elementos de la interfaz de usuario de Visual Studio en las siguientes instrucciones. La edición de Visual Studio que tenga y la configuración que esté usando determinan estos elementos. Para obtener más información, vea Trabajar con valores de configuración.

Agregar elementos a proyectos

Para agregar elementos a un proyecto mediante programación

  1. Inicie Visual Studio y cree un proyecto de complemento de Visual Studio.

  2. Agregue el código que se muestra más adelante en este tema a la clase Connect del complemento.

  3. Ejecute el proyecto de complemento y actívelo en Administrador de complementos; para ello, haga clic en Administrador de complementos en el menú Herramientas y, a continuación, active la casilla situada al lado del complemento.

Ejemplo

El ejemplo siguiente muestra cómo agregar elementos mediante programación a un proyecto Visual Basic existente.

' 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");
}

Compilar el código

Para compilar este código, cree un proyecto de complemento de Visual Studio y reemplace el código de la clase Connect.cs o Connect.vb con el código del ejemplo. Antes de ejecutar el complemento, abra un proyecto de Visual Basic en Visual Studio. Para obtener información sobre cómo ejecutar un complemento, vea Cómo: Controlar complementos con el Administrador de complementos.

Programación eficaz

Si se utilizan nombres de elementos de proyecto como parámetro de Solution.Projects.Item, se debe usar el nombre único del proyecto. El nombre único es una ruta de acceso relativa desde el directorio que contiene el archivo de solución (.sln) hasta el archivo de proyecto.

Por ejemplo, considere la estructura de solución/proyecto siguiente:

SomeSolution.sln

     WinApp1

          WinApp1.VBProj

El nombre único para el proyecto sería "WinApp1/WinApp1 .VBProj" y la llamada al método Item sería Solution.Projects.Item("WinApp1/WinApp1.VBProj").

Vea también

Tareas

Cómo: Compilar y ejecutar los ejemplos de código del modelo de objetos de automatización

Cómo: Crear proyectos mediante programación

Conceptos

Manipular proyectos de Visual Basic y Visual C#

Manipular proyectos de Visual C++

Introducción a las plantillas de Visual Studio

Otros recursos

Controlar la solución y sus proyectos