Cómo: Definir e instalar una extensión de modelado

En Visual Studio Ultimate, puede definir extensiones para diagramas de modelado.De este modo, puede adaptar los diagramas y modelos a sus propias necesidades.Puede definir, por ejemplo, comandos de menú, perfiles de UML, restricciones de validación y elementos de cuadros de herramientas.Puede definir varios componentes en una única extensión.También puede distribuir estas extensiones a otros usuarios de Visual Studio Ultimate en forma de A. Extensión de integración de Visual Studio (VSIX) Puede crear un VSIX utilizando un proyecto VSIX en Visual Studio.

Requisitos

Crear una solución de extensión de modelado

Para definir una extensión de modelado, debe crear una solución que contenga estos proyectos:

  • Un proyecto de Extensión de integración de Visual Studio (VSIX).De este modo, se genera un archivo que actúa como instalador de los componentes de la extensión.

  • Un proyecto de biblioteca de clases, necesario para los componentes que contienen el código del programa.

Si desea realizar una extensión que tenga diversos componentes, puede desarrollarlos en una única solución.Solo necesita un proyecto VSIX.

Los componentes que no requieren código, como elementos de cuadro de herramientas personalizados y UML personalizado generación de perfiles, pueden agregarse directamente al proyecto VSIX sin usar proyectos independientes de la biblioteca de clases.Definen los componentes que requieren código de programa más fácilmente en un proyecto de bibliotecas de clases independiente.Componentes que requieren los controladores de gestos de inclusión del código, los comandos de menú, y código de validación.

Para crear un proyecto de biblioteca de clases para los comandos de menú, haga gestos los controladores, o validación

  1. en el menú de Archivo , elija Nuevo, proyecto.

  2. En Plantillas instaladas, Visual C# seleccione o Visual Basic, elija Biblioteca de clases.

Para crear un proyecto de VSIX

  1. Si está creando un componente con código, es más fácil crear primero el proyecto de biblioteca de clases.Va a agregar su código a ese proyecto.

  2. Crear un proyecto de VSIX.

    1. En Explorador de soluciones, en el menú contextual de la solución, elija Agregar, Nuevo proyecto.

    2. En Plantillas instaladas, expanda Visual C# o Visual Basic, después Extensibilidadseleccione.En la columna central, elija Proyecto VSIX.

  3. Establezca el proyecto VSIX como proyecto de inicio de la solución.

    • En el explorador de soluciones, en el menú contextual del proyecto VSIX elija Establecer como proyecto de inicio.
  4. Abra source.extension.vsixmanifest.El archivo se abre en el editor de manifiestos.

  5. En la pestaña de metadatos , establezca el nombre y los campos descriptivos de VSIX.

  6. En la pestaña de Destinos de instalación , elija Nuevo y establezca las ediciones de Ultimate y Premium de Visual Studio.

  7. En la pestaña de Activos , agregue los componentes a la extensión de Visual Studio.

    1. Elija Nuevo.

    2. Para un componente con código, establezca estos campos en el cuadro de diálogo de Agregar nuevo activo :

      Tipo =

      Microsoft.VisualStudio.MefComponent

      Origen =

      Un proyecto de la solución actual

      Proyecto =

      El proyecto de biblioteca de clases

      Incrustar en esta carpeta =

      (vacío)

      Para otros tipos de componentes, vea los vínculos de la sección siguiente.

Desarrollar el componente

Para cada componente, por ejemplo un comando de menú o un controlador de gestos, debe definir un controlador independiente.Puede colocar varios controladores en el mismo proyecto de biblioteca de clases.En la siguiente tabla se resumen los diferentes tipos de controlador.

Tipo de extensión

Tema

Cómo se declara normalmente cada componente

Comando de menú

Cómo: Definir un comando de menú en un diagrama de modelado

[ClassDesignerExtension]

// or other diagram types

[Export(typeof(ICommandExtension))]

public class MyCommand : ICommandExtension

{...

Arrastrar y colocar o hacer doble clic

Cómo: Definir un controlador de gestos en un diagrama de modelado

[ClassDesignerExtension]

// or other diagram types

[Export(typeof(IGestureExtension))]

public class MyGesture : IGestureExtension

{...

Restricción de validación

Cómo: Definir restricciones de validación para modelos UML

[Export(typeof( System.Action<ValidationContext, object>))]

[ValidationMethod(ValidationCategories.Save

| ValidationCategories.Menu)]

public void ValidateSomething

(ValidationContext context, IClassifier elementToValidate)

{...}

Controlador de eventos de vínculo de elemento de trabajo

Cómo: Definir un controlador de vínculos de elementos de trabajo

[Export(typeof(ILinkedWorkItemExtension))]

public class MyWorkItemEventHandler : ILinkedWorkItemExtension

{...

Perfil UML

Cómo: Definir un perfil para ampliar UML

(Definir)

Elemento de cuadro de herramientas

Cómo: Definir un elemento personalizado en un cuadro de herramientas de modelado

(Definir)

Ejecutar una extensión durante su desarrollo

Para ejecutar una extensión durante su desarrollo

  1. En el menú de Visual StudioDepurar , elija Iniciar depuración.

    El proyecto se compila y se inicia una nueva instancia de Visual Studio en modo experimental.

    • Puede elegir también Iniciar sin depurar.Esto reduce el tiempo que se tarda en iniciar el programa.
  2. Cree o abra un proyecto de modelado en la instancia experimental de Visual Studio y, cree o abra un diagrama.

    La extensión se cargará y se ejecutará.

  3. Si utilizó Iniciar sin depurar pero desea utilizar el depurador, regrese a la instancia principal de Visual Studio.En el menú Depurar, haga clic en Asociar al proceso.En el cuadro de diálogo, seleccione la instancia experimental de Visual Studio, que tiene el nombre del programa devenv.

Instalar y desinstalar una extensión

Realice los pasos siguientes para ejecutar la extensión en la instancia principal de Visual Studio en el equipo o en otros equipos.

  1. En el equipo, busque el archivo .vsix que el proyecto de extensión compiló.

    1. En Explorador de soluciones, en el menú contextual del proyecto y, a continuación Abrir carpeta en el Explorador de Windows.

    2. Busque el archivo bin\*\SuProyecto.vsix

  2. Copie el archivo .vsix en el equipo de destino en el que desea instalar la extensión.Puede tratarse de su propio equipo o de otro.

    • El equipo de destino debe tener una de las ediciones de Visual Studio que especificó en la pestaña de Destinos de instalación de source.extension.vsixmanifest.
  3. En el equipo de destino, abra el archivo de .vsix , por ejemplo haciendo doble clic en.

    El Instalador de extensiones de Visual Studio se abre e instala la extensión.

  4. Inicie o reinicie Visual Studio.

Para desinstalar una extensión

  1. En el menú Herramientas, haga clic en Administrador de extensiones.

  2. Expanda Extensiones instaladas.

  3. Seleccione la extensión y, a continuación, haga clic Desinstalar.

En contadas ocasiones, una extensión defectuosa no se carga y crea un informe en la ventana de error, aunque no aparece en el Administrador de extensiones.En ese caso, puede quitar la extensión eliminando el archivo de la siguiente ubicación, donde % LocalAppData% es normalmente el DriveName: \Users\UserName\AppData\Local:

%LocalAppData%\Microsoft\VisualStudio\11.0\Extensions

Vea también

Conceptos

Cómo: Definir un perfil para ampliar UML

Cómo: Definir un elemento personalizado en un cuadro de herramientas de modelado

Cómo: Definir restricciones de validación para modelos UML

Cómo: Definir un comando de menú en un diagrama de modelado