Compartir a través de


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 extensión de integración de Visual Studio (VSIX). Puede crear una extensión VSIX usando 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 se necesita un proyecto VSIX.

Los componentes que no necesitan código, como los elementos de cuadro de herramientas personalizados y los perfiles UML personalizados, pueden agregarse directamente al proyecto VSIX sin usar proyectos de biblioteca de clases independientes. Los componentes que requieren código del programa, se definen más fácilmente en un proyecto de biblioteca de clases independiente. Entre los componentes que requieren código se incluyen los controladores de gestos, los comandos de menú y el código de validación.

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

  1. En el menú Archivo, elija Nuevo, Proyecto.

  2. En Plantillas instaladas, seleccione Visual C# o Visual Basic y, a continuación, 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 el 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 y, a continuación, seleccione Extensibilidad. 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 Metadatos, establezca el nombre y los campos descriptivos de VSIX.

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

  7. En la pestaña 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 Agregar nuevo activo:

      Tipo =

      Microsoft.VisualStudio.MefComponent

      Origen =

      Un proyecto de la solución actual

      Proyecto =

      Your class library project

      Incrustar en esta carpeta =

      (empty)

      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

(Por definir)

Elemento de cuadro de herramientas

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

(Por definir)

Ejecutar una extensión durante su desarrollo

Para ejecutar una extensión durante su desarrollo

  1. En el menú Visual Studio Depurar, elija Iniciar depuración.

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

    • Como alternativa, puede elegir 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 usó Iniciar sin depurar pero desea utilizar el depurador, vuelva 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 de 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 su propio equipo o en otros equipos.

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

    1. En el Explorador de soluciones, en el menú contextual del proyecto, elija Abrir carpeta en el Explorador de Windows.

    2. Busque el archivo bin\*\YourProject.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 se especificó en la pestaña Destino de la instalación de source.extension.vsixmanifest.
  3. En el equipo de destino, abra el archivo .vsix, por ejemplo, haciendo doble clic en él.

    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\12.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