Información general de la integración del control de código fuente
En esta sección se comparan las dos maneras de integrarse en el control de código fuente de Visual Studio; Un complemento de control de código fuente y un VSPackage que proporciona una solución de control de código fuente y resalta las nuevas características de control de código fuente. Visual Studio permite el cambio manual entre VSPackages de control de código fuente y complementos de control de código fuente, así como la conmutación automática basada en soluciones.
Integración del control de código fuente
Visual Studio admite dos tipos de opciones de integración de control de código fuente. En todas las versiones de Visual Studio, todavía puede integrar un complemento basado en la API de complemento de control de código fuente (anteriormente denominada API MSSCCI), que proporciona funcionalidad básica de control de código fuente al usar la interfaz de usuario (UI) del control de código fuente de Visual Studio. Por otro lado, un VSPackage de control de código fuente proporciona una nueva ruta de acceso del SDK de Visual Studio de integración profunda adecuada para la integración del control de código fuente que requiere un alto nivel de sofisticación y autonomía en su modelo de control de código fuente.
Complemento de control de código fuente
Todas las versiones de Visual Studio admiten la especificación 1.2 de la API de control de código fuente como ruta de acceso de integración. Un implementador de complementos de control de código fuente escribe un archivo DLL que implementa las funciones de API del complemento de control de código fuente para la integración y el registro del control de código fuente, tal como se describe en Creación de un complemento de control de código fuente. En este enfoque, el entorno de desarrollo integrado (IDE) usa la interfaz de usuario de Visual Studio para los cuadros de diálogo, como check in, checkout, tools/options property pages, toolbars y glyphs de control de código fuente. El cumplimiento estricto de la API del complemento de control de código fuente garantiza una integración sencilla en Visual Studio y una experiencia sin problemas para el usuario. Esto significa que el complemento de control de código fuente debe implementar la mayoría de las funciones y devoluciones de llamada detalladas en la API.
Para implementar un complemento de control de código fuente mediante la API del complemento de control de código fuente, siga estos pasos:
Cree un archivo DLL que implemente las funciones especificadas en complementos de control de código fuente.
Registre el archivo DLL realizando las entradas del Registro adecuadas (que se describen en Cómo: Instalar un complemento de control de código fuente).
Cree una interfaz de usuario auxiliar y se muestre cuando lo solicite el paquete del adaptador de control de código fuente (el componente de Visual Studio que controla la funcionalidad de control de código fuente a través de complementos de control de código fuente).
En respuesta a un comando de control de código fuente, el IDE de Visual Studio presenta una interfaz de usuario estándar para las operaciones básicas y, a continuación, pasa la información al complemento de control de código fuente a través de las funciones definidas en la API del complemento control de código fuente. En el caso de las opciones avanzadas, se puede llamar al complemento de control de código fuente en para presentar su propia interfaz de usuario, por ejemplo, la exploración de un proyecto controlado por código fuente. Esto significa que el usuario puede presentar dos estilos de interfaz de usuario posiblemente diferentes al tratar con el control de código fuente: la interfaz de usuario que Visual Studio presenta y la interfaz de usuario que presenta el complemento de control de código fuente. Esto es más notable con las operaciones avanzadas de control de código fuente.
Desventajas de implementar un complemento de control de código fuente
En el caso de las características avanzadas, el usuario puede ver dos estilos diferentes de interfaces, lo que provoca posibles confusiones.
El complemento de control de código fuente se limita al modelo de control de código fuente implícito en la API del complemento de control de código fuente.
La API del complemento de control de código fuente puede ser demasiado restrictiva para algunos escenarios de control de código fuente.
Ventajas para implementar un complemento de control de código fuente
Visual Studio proporciona toda la interfaz de usuario para todas las operaciones básicas de control de código fuente para que el complemento de control de código fuente no tenga que implementar una interfaz de usuario potencialmente compleja.
Debido a la API estricta, el complemento de control de código fuente puede interactuar fácilmente con programas de control de código fuente externos para proporcionar una funcionalidad más amplia; Visual Studio no le importa demasiado cómo se logra la funcionalidad de control de código fuente, solo que se logra según la API del complemento de control de código fuente.
Es más fácil implementar un complemento de control de código fuente que un VSPackage de control de código fuente.
VSPackage de control de código fuente
El SDK de Visual Studio permite una integración profunda en Visual Studio con control total de la funcionalidad de control de código fuente y reemplazo completo de la interfaz de usuario del control de código fuente proporcionado por Visual Studio. Un VSPackage de control de código fuente se registra con Visual Studio y proporciona funcionalidad de control de código fuente. Aunque se pueden registrar varios VSPackages de control de código fuente con Visual Studio, solo uno de ellos puede estar activo en cualquier momento. Un control de código fuente VSPackage tiene control total sobre la funcionalidad de control de código fuente y la apariencia en Visual Studio mientras está activo. Todos los demás vsPackages de control de código fuente que se pueden registrar en el sistema están inactivos y no mostrarán ninguna interfaz de usuario en absoluto.
La implementación de un VSPackage de control de código fuente requiere una estrategia de "todo o nada". El creador de un VSPackage de control de código fuente debe invertir una cantidad significativa de esfuerzo en implementar una serie de interfaces de control de código fuente y nuevos elementos de interfaz de usuario (cuadros de diálogo, menús y barras de herramientas) para cubrir toda la funcionalidad de control de código fuente. Consulte Creación de un VSPackage de control de código fuente para obtener más información.
Desventajas de implementar un VSPackage de control de código fuente
VSPackage debe implementar una serie de interfaces complejas para integrarse correctamente con Visual Studio.
VSPackage debe proporcionar toda la interfaz de usuario necesaria para el control de código fuente; Visual Studio no proporcionará asistencia en esta área.
Un VSPackage de control de código fuente está íntimamente vinculado a Visual Studio y no puede funcionar con programas independientes, por lo que la funcionalidad no puede compartirse tan fácilmente con una versión externa del programa de control de código fuente.
Ventajas para implementar un VSPackage de control de código fuente
Dado que VSPackage tiene control total sobre la interfaz de usuario y la funcionalidad del control de código fuente, el usuario se presenta con una interfaz sin problemas para el control de código fuente.
VSPackage no se limita a un modelo de control de código fuente determinado.