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
Visual Studio SDK, que puede obtenerse de la Galería de Visual Studio.
El SDK de Visual Studio de visualización y modelado, que puede obtenerse desde el SDK de Visual Studio de visualización y modelado en la galería de código.
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
En el menú Archivo, elija Nuevo, Proyecto.
En Plantillas instaladas, seleccione Visual C# o Visual Basic y, a continuación, elija Biblioteca de clases.
Para crear un proyecto de VSIX
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.
Crear un proyecto de VSIX.
En el Explorador de soluciones, en el menú contextual de la solución, elija Agregar, Nuevo proyecto.
En Plantillas instaladas, expanda Visual C# o Visual Basic y, a continuación, seleccione Extensibilidad. En la columna central, elija Proyecto VSIX.
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.
Abra source.extension.vsixmanifest. El archivo se abre en el editor de manifiestos.
En la pestaña Metadatos, establezca el nombre y los campos descriptivos de VSIX.
En la pestaña Destinos de instalación, elija Nuevo y establezca las ediciones Ultimate y Premium de Visual Studio.
En la pestaña Activos, agregue los componentes a la extensión de Visual Studio.
Elija Nuevo.
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ú |
[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 |
[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 |
(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
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.
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á.
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.
En el equipo, busque el archivo .vsix que el proyecto de extensión compiló.
En el Explorador de soluciones, en el menú contextual del proyecto, elija Abrir carpeta en el Explorador de Windows.
Busque el archivo bin\*\YourProject.vsix
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.
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.
Inicie o reinicie Visual Studio.
Para desinstalar una extensión
En el menú Herramientas, haga clic en Administrador de extensiones.
Expanda Extensiones instaladas.
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