Implementación de generadores de un solo archivo
Una herramienta personalizada ( a veces denominada generador de archivos único) se puede usar para ampliar los sistemas de proyectos de Visual Basic y Visual C# en Visual Studio. Una herramienta personalizada es un componente COM que implementa la IVsSingleFileGenerator interfaz . Con esta interfaz, una herramienta personalizada transforma un único archivo de entrada en un único archivo de salida. El resultado de la transformación puede ser código fuente o cualquier otra salida que sea útil. Dos ejemplos de archivos de código personalizados generados por herramientas son código generado en respuesta a los cambios en un diseñador visual y los archivos generados mediante el lenguaje de descripción de servicios web (WSDL).
Cuando se carga una herramienta personalizada o se guarda el archivo de entrada, el sistema del proyecto llama al Generate método y pasa una referencia a una IVsGeneratorProgress interfaz de devolución de llamada, en la que la herramienta puede notificar su progreso al usuario.
El archivo de salida que genera la herramienta personalizada se agrega al proyecto con una dependencia en el archivo de entrada. El sistema de proyecto determina automáticamente el nombre del archivo de salida, en función de la cadena devuelta por la implementación de la herramienta personalizada de DefaultExtension.
Una herramienta personalizada debe implementar la IVsSingleFileGenerator interfaz . Opcionalmente, las herramientas personalizadas admiten la IObjectWithSite interfaz para recuperar información de orígenes distintos del archivo de entrada. En cualquier caso, para poder usar una herramienta personalizada, debe registrarla en el sistema o en el registro local de Visual Studio. Para obtener más información sobre el registro de herramientas personalizadas, vea Registrar generadores de archivos únicos.