Arquitectura de complemento de control de código fuente
Puede agregar compatibilidad con el control de código fuente al entorno de desarrollo integrado (IDE) de Visual Studio mediante la implementación y conexión de un módulo de control de código fuente. El IDE se conecta al complemento de control de código fuente a través de la API del complemento de control de código fuente bien definido. El IDE expone las características de control de versiones del sistema de control de código fuente proporcionando una interfaz de usuario (UI) formado por barras de herramientas y comandos de menú. El complemento de control de código fuente implementa la funcionalidad de control de código fuente.
Recursos del complemento de control de código fuente
El complemento de control de código fuente proporciona recursos para ayudar a crear y conectar la aplicación de control de versiones al IDE de Visual Studio. El complemento de control de código fuente contiene la especificación de API que debe implementar un complemento de control de código fuente para que se pueda integrar en el IDE de Visual Studio. También contiene un ejemplo de código (escrito en C++) que implementa un complemento de control de código fuente maestro que demuestra la implementación de funciones esenciales compatibles con la API del complemento de control de código fuente.
La especificación de la API del complemento de control de código fuente le permite aprovechar cualquier sistema de control de código fuente que prefiera si crea un archivo DLL de control de código fuente con el conjunto necesario de funciones implementadas de acuerdo con la API del complemento de control de código fuente.
Componentes
El paquete del adaptador de control de código fuente del diagrama es el componente del IDE que traduce la solicitud del usuario para una operación de control de código fuente en una llamada de función compatible con el complemento de control de código fuente. Para que esto suceda, el IDE y el complemento de control de código fuente deben mantener un diálogo eficaz que pase información entre el IDE y el complemento. Para que este diálogo tenga lugar, ambos deben hablar el mismo idioma. La API del complemento de control de código fuente que se describe en esta documentación es el vocabulario común para este intercambio.
Diagrama de la arquitectura que muestra la interacción entre VS y el complemento de control de código fuente
Como se muestra en el diagrama de arquitectura, el shell de Visual Studio, etiquetado como shell de VS en el diagrama, hospeda los proyectos de trabajo del usuario y los componentes asociados, como los editores y el Explorador de soluciones. El paquete del adaptador de control de código fuente controla la interacción entre el IDE y el complemento de control de código fuente. El paquete del adaptador de control de código fuente proporciona su propia interfaz de usuario de control de código fuente. Es la interfaz de usuario de nivel superior con la que interactúa el usuario para iniciar y definir el ámbito de una operación de control de código fuente.
El complemento de control de código fuente puede tener su propia interfaz de usuario, que puede constar de dos partes, tal y como se muestra en la figura. El cuadro con la etiqueta "Interfaz de usuario del proveedor" representa elementos de interfaz de usuario personalizados que usted, como creador del complemento de control de código fuente, proporcione. Estos se muestran directamente mediante el complemento de control de código fuente cuando el usuario invoca una operación avanzada de control de código fuente. El cuadro con la etiqueta "Interfaz de usuario del asistente" es un conjunto de características de interfaz de usuario del complemento de control de código fuente que se invocan indirectamente a través del IDE. El complemento de control de código fuente pasa mensajes relacionados con la interfaz de usuario al IDE a través de funciones especiales de devolución de llamada proporcionadas por el IDE. La interfaz de usuario del asistnete facilita una integración más fluida con el IDE (a menudo mediante el uso de un botón Avanzado) y, por tanto, proporciona una experiencia de usuario final más unificada.
Un complemento de control de código fuente no puede realizar cambios en el shell de Visual Studio y, en consecuencia, en el paquete del adaptador de control de código fuente o en la interfaz de usuario del control de código fuente proporcionada por el IDE. Debe hacer el máximo uso de la flexibilidad ofrecida a través de la implementación de las diversas funciones de API del complemento de control de código fuente que contribuyen a una experiencia integrada para el usuario final. La sección de referencia de la documentación de la API del complemento de control de código fuente incluye información sobre algunas funcionalidades avanzadas del complemento de control de código fuente. Para aprovechar estas características, el complemento de control de código fuente debe declarar sus funcionalidades avanzadas al IDE durante la inicialización y debe implementar funciones avanzadas específicas para cada funcionalidad.