Implementar y utilizar extensores de automatización

Actualización: noviembre 2007

La parte del modelo de automatización de Visual Studio que corresponde a los extensores de automatización proporciona la posibilidad de agregar o filtrar las propiedades que se muestran en un tipo de proyecto específico. Por ejemplo, Visual Studio incluye un modelo de código de Visual Basic con un objeto que representa una clase de Visual Basic. Por ejemplo, puede utilizar extensores de automatización para agregar nuevas propiedades a las propiedades existentes en un objeto comercial de nivel medio. También puede utilizar este modelo para filtrar las propiedades que aparecen en la página de propiedades del proyecto.

A continuación, se muestra un posible escenario. Un usuario selecciona un elemento de clase en el Explorador de soluciones y modifica el código que crea el asistente. O bien, un usuario coloca el punto de inserción del editor dentro de la definición de clase. Por consiguiente, la ventana Propiedades podría mostrar propiedades adicionales de la clase. Las propiedades son pertinentes porque se trata de una definición del objeto comercial de nivel medio. Mediante los Extensores de automatización se pueden efectuar estas y otras acciones.

A continuación, aparecen los objetos del modelo de objetos de extensores de automatización.

Nombre de objeto

Descripción

IExtenderProvider (interfaz)

Representa un proveedor extensor conocido.

IExtenderProviderUnk (interfaz)

Representa un Extensor de automatización desconocido.

IExtenderSite (interfaz)

Objeto de sitio que aloja al extensor de automatización.

IFilterProperties (interfaz)

Cuando se implementa, permite que un extensor impida que algunas propiedades especificadas aparezcan en la ventana Propiedades.

ObjectExtenders (objeto)

Proporciona acceso a los extensores de automatización.

Mediante estos objetos se puede:

  • Agregar propiedades a objetos en Visual Studio, a las que se puede tener acceso a través de la ventana Propiedades o a través del código.

  • Ocultar propiedades para que no aparezcan en la ventana Propiedades.

  • Reemplazar una propiedad por otra con el mismo nombre, pero que sólo acepte un conjunto de valores específicos.

Para obtener un ejemplo de cómo utilizar los extensores de automatización para agregar propiedades y métodos a un objeto de Visual Studio, vea el ejemplo "Solution Extender Add-in" en la página Web Visual Studio Automation Samples (en inglés).

El ejemplo SolutionExtender extiende el objeto de presentación de la ventana Propiedades y el objeto de automatización DTE.Solution. Agrega cuatro propiedades nuevas: Notes, Created, LastAccessed y LastModified. Para hacer referencia a las nuevas propiedades se puede utilizar DTE.Solution, tal como se muestra en esta macro:

Sub ShowNotes()
    Dim extender As Object
    extender = DTE.Solution.Extender("SolutionMisc")
    MsgBox(extender.Notes)
End Sub

Para ejecutar el ejemplo

  1. Genere e implemente la solución SolutionExtender.

  2. Agregue las entradas de registro contenidas en SolutionExtender.reg mediante el archivo de Registro de la línea de comandos SolutionExtender.reg.

  3. Ejecute devenv.exe y abra o cree una solución nueva.

  4. En el Explorador de soluciones, seleccione el nodo Solución para ver las propiedades agregadas recientemente.

Adiciones de comunidad

Mostrar: