Registro de complementos
Una vez creado un complemento, debe registrarlo con Visual Studio para poder activarlo en el Administrador de complementos.Para este fin se usa un archivo XML con extensión .addin.
Este archivo .addin describe la información que Visual Studio requiere para mostrar el complemento en el Administrador de complementos.Cuando se inicia Visual Studio, busca en la ubicación de archivos .addin los archivos .addin disponibles.Si encuentra alguno, lee el archivo XML y facilita al Administrador de complementos la información necesaria para iniciar el complemento cuando se hace clic en él.
El archivo .addin se crea automáticamente al crear un complemento mediante el Asistente para complementos.También puede crear manualmente un archivo .addin con ayuda de la información de este tema.
Ubicaciones de archivos
El Asistente para complementos crea automáticamente dos copias del archivo .addin, como se muestra a continuación:
Ubicación del archivo .addin |
Ubicación del archivo .dll |
Descripción |
---|---|---|
Carpeta raíz del proyecto \Documentos\Visual Studio 2010\Projects\MyAddin1\MyAddin1\ |
Ruta de acceso local (MyAddin1.dll) |
Se utiliza para la implementación del proyecto de complemento.Se incluye en el proyecto para facilitar la edición y tiene la ruta de acceso local para la implementación de estilo XCopy. |
Carpeta de complementos \Documentos\Visual Studio 2010\Addins\ O bien Ubicación de documentos compartida\Addins\ |
Carpeta de depuración del proyecto (Por ejemplo, \ Documentos\Visual Studio 2010 Projects\MyAddin1\MyAddin1\bin \) |
Se utiliza para ejecutar el complemento en el entorno de depuración.Siempre debe señalar la ruta de acceso de los resultados de la configuración de compilación actual. |
Para instalar el complemento en otro equipo, el archivo .addin se debe colocar en una ubicación donde Visual Studio busque los complementos.estas ubicaciones se enumeran en el cuadro de diálogo de Opciones , en el nodo de Entorno , en la página de Seguridad de complementos .Para obtener más información, vea Seguridad de complementos.
El archivo .dll que contiene el complemento se puede instalar en cualquier parte del equipo cliente.Sin embargo, recomendamos colocarlo con el archivo .addin.
[!NOTA]
El elemento <Assembly> del archivo .addin debe señalar al archivo .dll que contiene los binarios del complemento.
Archivo .Addin
El archivo XML .addin se divide en las siguientes secciones etiquetadas:
Sección |
Descripción |
---|---|
Aplicación host |
(Requerido) Especifica los nombres y números de versión de las aplicaciones que pueden cargar el complemento. |
Addin |
(Requerido) Contiene los elementos que describen el complemento. |
Página Opciones de herramientas |
(Opcional) Especifica una página del cuadro de diálogo Opciones donde se puede configurar el complemento.Los nodos secundarios especifican la categoría y subcategoría de la página Opciones, y también el nombre del ensamblado y el nombre de clase completo. |
Los elementos siguientes son elementos secundarios de la sección <Addin>.
Elemento |
Descripción |
---|---|
Detalles del cuadro Acerca de |
(Opcional) Especifica el texto que se mostrará para el complemento en el cuadro de diálogo Acerca de de Visual Studio. |
Datos del icono Acerca de |
(Opcional) Contiene datos binarios que especifican el icono que se mostrará para el complemento en el cuadro de diálogo Acerca de de Visual Studio. |
Ubicación del icono Acerca de |
(Opcional) Especifica la ruta de acceso absoluta o la ruta de acceso relativa del icono que se mostrará para el complemento en el cuadro de diálogo Acerca de de Visual Studio. |
Ensamblado |
(Requerido) Especifica la ubicación de los binarios del complemento.Este campo se puede establecer en una ruta de acceso local, una ruta de acceso a la red o una dirección URL. |
Seguro para la línea de comandos |
(Opcional) Especifica los modos de Visual Studio con los que el complemento es compatible, como solo con la línea de comandos, solo con el entorno de desarrollo integrado (IDE), o con ambos. |
Carga previa de comando |
(Opcional) Especifica el estado de carga previa del complemento, es decir, si el complemento debe crear su interfaz de usuario con un método como Commands.AddNamedCommand. |
Nombre de clase completo |
(Requerido) Especifica el nombre de la clase que se usa para conectarse al complemento. |
Comportamiento de carga |
(Opcional) Define si un complemento se carga al inicio o manualmente. |
A continuación, se muestran los detalles de cada valor.Para obtener más información sobre la ubicación jerárquica de muchos de los elementos que se describen, vea "Ejemplo de archivo XML .Addin", más adelante en este mismo tema.
Aplicación host
El elemento <Name> de la sección Host Application contiene el nombre de la aplicación.Se trata del nombre que aparece en la barra de título de la aplicación o que es devuelto por DTE.Name.Por ejemplo, para Visual Studio, la etiqueta debe decir "Microsoft Visual Studio" y para el objeto IDE de macros, la etiqueta debe decir "Macros de Microsoft Visual Studio".
Puede haber más de un valor de aplicación host por archivo .addin.Cada valor se debe estar incluido entre etiquetas <Name> en el elemento <HostApplication>.Además de contener un elemento <Name>, cada elemento <HostApplication> debe incluir también el número de versión de la aplicación entre etiquetas <Version>.Por ejemplo,
<HostApplication>
<!-- First Host App name (required). -->
<Name>Microsoft Visual Studio</Name>
<Version>10.0</Version>
</HostApplication>
<HostApplication>
<!-- An additional supported program/version. -->
<Name>Microsoft Visual Studio Macros</Name>
<Version>10.0</Version>
</HostApplication>
Otra opción es especificar un asterisco (*) para representar el valor de <Version> para cualquier versión de Visual Studio.
Nombre descriptivo
El elemento <FriendlyName>, que se encuentra bajo el elemento <Addin>, especifica la cadena que se mostrará en la columna Complementos disponibles del Administrador de complementos.Por ejemplo,
<FriendlyName>My New Super Addin</FriendlyName>
Descripción
El elemento <Description>, que se encuentra bajo el elemento <Addin>, especifica la cadena que se mostrará en el cuadro Descripción del Administrador de complementos.Por ejemplo,
<Description>This add-in will change your life!</Description>
Detalles del cuadro Acerca de
Si selecciona la opción para generar la configuración del cuadro de diálogo Acerca de al crear el complemento, este elemento se agregará al archivo .addin.Este elemento especifica el texto que se mostrará en el cuadro de diálogo Acerca de de Visual Studio.Por ejemplo,
<AboutBoxDetails>For add-in support, call 1-800-xxx-
xxxx.</AboutBoxDetails>
Datos del icono Acerca de
Si selecciona la opción para generar la configuración del cuadro de diálogo Acerca de al crear el complemento, este elemento se agregará al archivo .addin.Este elemento contiene datos binarios que especifican el icono que se mostrará en el cuadro de diálogo Acerca de de Visual Studio.Por ejemplo,
<AboutIconData>0000010006 . . . FFFF0000</AboutIconData>
Ensamblado
El elemento <Assembly>, que se encuentra bajo el elemento <Addin>, especifica la ubicación de los archivos binarios del complemento.Este elemento se puede establecer en una ruta de acceso relativa, una ruta de acceso absoluta ("file"), un nombre de ensamblado registrado ("assembly") o una dirección URL ("url").
En el siguiente ejemplo se muestra una ubicación con ruta de acceso absoluta.En este caso, el parámetro src se establece en file para indicar la ubicación del archivo DLL del complemento.
<Assembly src="file">C:\Documents and Settings\jdoe\Application Data\Microsoft\Visual Studio\10.0\AddIns\MyAddin4.dll</Assembly>
En el siguiente ejemplo se muestra una ubicación registrada.En este caso, el parámetro src se establece en assembly para indicar un archivo DLL de complemento registrado.
<Assembly src="assembly">BookshelfDefineAddin</Assembly>
En el siguiente ejemplo se muestra una ubicación con dirección URL.En este caso, el parámetro src se establece en url para indicar la ubicación web del archivo DLL del complemento.
<Assembly src="url">http://somewebsite.com/MyAddin4.dll</Assembly>
Nombre de clase completo
El elemento <FullClassName> especifica el nombre completo de la clase que se usa para conectar con el complemento.Se incluye el espacio de nombres que contiene la clase.Por ejemplo,
<FullClassName>MyAddin4.Connect</FullClassName>
Comportamiento de carga
El elemento <LoadBehavior> define si un complemento se carga automáticamente a iniciarse el IDE o si se inicia manualmente.El elemento <LoadBehavior> se encuentra bajo el elemento <Addin>.Por ejemplo,
<LoadBehavior>1</LoadBehavior>
Aunque el uso de <LoadBehavior> es opcional, recomendamos usarlo para definir explícitamente cuándo se carga un complemento.
Valor |
Descripción |
---|---|
0 |
El complemento no se carga al inicio del IDE y se debe iniciar manualmente. |
1 |
El complemento se carga automáticamente al inicio del IDE. |
4 |
El complemento se carga cuando devenv se inicia en un símbolo del sistema con un modificador de compilación (devenv /build). |
Carga previa de comando
El elemento <CommandPreload> especifica si el complemento se debe cargar previamente.La carga previa carga el complemento la primera vez que Visual Studio se inicia tras instalar el archivo .addin.Por ejemplo,
<CommandPreload>1</CommandPreload>
Este elemento permite especificar que un complemento se debe cargar después de que se inicie Visual Studio.De esta forma, el complemento tiene la oportunidad de crear los elementos necesarios de la interfaz de usuario, como botones de la barra de comandos, o bien realizar otras tareas de inicialización que solo se ejecutan la primera vez, como crear la configuración predeterminada del complemento.A continuación, el complemento se descarga, hasta que un usuario ejecuta uno de los comandos creados por el complemento.Desde ese momento, el complemento se carga según sea necesario.
Valor |
Descripción |
---|---|
0 |
El complemento no se carga hasta que el usuario lo inicia a través del Administrador de complementos o hasta que el complemento se configura para cargarse al inicio. |
1 |
El complemento se carga automáticamente cuando Visual Studio se inicia por primera vez después de instalar el archivo .addin. |
Puede comprobar el método OnConnection que se implementa para ver si el tipo de conexión, que se especifica estableciendo el segundo argumento en OnConnection, es ext_cm_UISetup.Si es así, se puede dar a los comandos la ubicación deseada, utilizando el método AddNamedCommand o AddControl.
Seguro para la línea de comandos
El elemento opcional <CommandLineSafe> indica si el complemento se diseñó para no mostrar una interfaz de usuario cuando se inicia en un símbolo del sistema, por ejemplo, cuando se realizan compilaciones en la línea de comandos u operaciones similares.(Para esto, se selecciona Mi complemento nunca utilizará una interfaz de usuario modal en el Asistente para complementos). Además, especifica los modos de Visual Studio con los que el complemento es compatible, por ejemplo, solo la línea de comandos o solo el IDE.Por ejemplo,
<CommandLineSafe>0</CommandLineSafe>
Valor |
Descripción |
---|---|
0 |
Especifica que el complemento no es seguro para la línea de comandos y puede mostrar una interfaz de usuario. |
1 |
Especifica que el complemento es seguro para la línea de comandos y no muestra una interfaz de usuario. |
Página Opciones de herramientas
El elemento <ToolsOptionsPage> opcional especifica una página Opciones para que los usuarios puedan configurar el complemento.Los nodos secundarios especifican la categoría y subcategoría en la que aparece la página, así como el nombre del ensamblado y el nombre de clase completo de la página Opciones.En el ejemplo siguiente se muestra la jerarquía de este elemento:
<ToolsOptionsPage>
<Category Name="Text Editor">
<SubCategory Name="General">
<Assembly>"MyFilePath\MyAddInOptionPage.dll"</Assembly>
<FullClassName>"MyNamespace.MyAddInOptionPage"</FullClassName>
</SubCategory>
</Category>
</ToolsOptionsPage>
Ejemplo de un archivo XML .Addin
En el ejemplo siguiente, se muestra un archivo XML .addin completo.Muestra la jerarquía y las ubicaciones de los elementos que se describen en este tema.
<?xml version="1.0" encoding="UTF-16" standalone="no"?>
<Extensibility
xmlns="https://schemas.microsoft.com/AutomationExtensibility">
<HostApplication>
<Name>Microsoft Visual Studio Macros</Name>
<Version>10.0</Version>
</HostApplication>
<HostApplication>
<Name>Microsoft Visual Studio</Name>
<Version>10.0</Version>
</HostApplication>
<Addin>
<FriendlyName>My great new add-in.</FriendlyName>
<Description>This add-in does it all.</Description>
<AboutBoxDetails>Copyright 2010.</AboutBoxDetails>
<AboutIconData>0000 . . . FFFF0000</AboutIconData>
<Assembly>MyNewAddin.dll</Assembly>
<FullClassName>MyNewAddin.Connect</FullClassName>
<LoadBehavior>1</LoadBehavior>
<CommandPreload>1</CommandPreload>
<CommandLineSafe>0</CommandLineSafe>
</Addin>
</Extensibility>
Vea también
Tareas
Cómo: Controlar complementos con el Administrador de complementos
Referencia
Modificadores y comandos de Visual Studio
Conceptos
Gráfico del modelo de objetos de automatización