Arquitectura de VSPackage del Control de código fuenteSource Control VSPackage Architecture

Un paquete de control de código fuente es un VSPackage que usa los servicios que el Visual StudioVisual Studio IDE proporciona.A source-control package is a VSPackage that uses services that the Visual StudioVisual Studio IDE provides. En cambio, un paquete de control de código fuente proporciona su funcionalidad como un servicio de control de código fuente.In return, a source-control package provides its functionality as a source control service. Además, un paquete de control de código fuente es una alternativa más versátil que un complemento para integrar el control de código fuente en control de código fuente Visual StudioVisual Studio.Additionally, a source-control package is a more versatile alternative than a source control plug-in for integrating source control into Visual StudioVisual Studio.

Un complemento que implementa la API de complemento de Control de origen de control de código fuente se rige por un contrato estricto.A source control plug-in that implements the Source Control Plug-in API abides by a strict contract. Por ejemplo, un complemento no puede reemplazar el valor predeterminado Visual StudioVisual Studio interfaz de usuario (UI).For example, a plug-in cannot replace the default Visual StudioVisual Studio user interface (UI). Además, la API de complementos de Control de código fuente no habilitar un complemento implementar su propio modelo de control de código fuente.Moreover, the Source Control Plug-in API does not enable a plug-in to implement its own source control model. Sin embargo, un paquete de control de código fuente, supera ambas de estas limitaciones.A source-control package, however, overcomes both of these limitations. Un paquete de control de código fuente tiene un control completo sobre la experiencia de control de código fuente de un Visual StudioVisual Studio usuario.A source-control package has complete control over the source control experience of a Visual StudioVisual Studio user. Además, un paquete de control de código fuente puede utilizar su propio modelo de control de origen y la lógica, y puede definir todas las interfaces de usuario relacionada con el control de código fuente.Additionally, a source-control package can use its own source control model and logic, and it can define all the source control-related user interfaces.

Componentes del paquete de Control de código fuenteSource-Control Package Components

Como se muestra en el diagrama de arquitectura, una Visual StudioVisual Studio componente denominado el código auxiliar de Control de código fuente es un VSPackage que integra un paquete de control de código fuente con Visual StudioVisual Studio.As shown in the architecture diagram, a Visual StudioVisual Studio component named the Source Control Stub is a VSPackage that integrates a source-control package with Visual StudioVisual Studio.

Código auxiliar de Control de código fuente controla las siguientes tareas.Source Control Stub handles the following tasks.

  • Proporciona la interfaz de usuario comunes que es necesario para registrar paquetes de control de código fuente.Provides the common UI that is required for source-control package registration.

  • Carga un paquete de control de código fuente.Loads a source-control package.

  • Un paquete de control de código fuente se establece como activo o inactivo.Sets a source-control package as active/inactive.

    Código auxiliar de Control de origen busca el servicio activo para el paquete de control de código fuente y los enruta todas las llamadas de servicio desde el IDE para que el paquete.Source Control Stub looks for the active service for the source-control package and routes all incoming service calls from the IDE to that package.

    El paquete de adaptador de Control de origen es un control especial de origen del paquete que Visual StudioVisual Studio proporciona.The Source Control Adapter Package is a special source-control package that Visual StudioVisual Studio provides. Este paquete es el componente central para admitir origen control complementos en función de la API de complementos de Control de código fuente.This package is the central component for supporting source control plug-ins based on the Source Control Plug-in API. Cuando un complemento de control de origen es el complemento activo, el código auxiliar de Control de origen envía sus eventos para el paquete de adaptador de Control de origen.When a source control plug-in is the active plug-in, the Source Control Stub sends its events to the Source Control Adapter Package. A su vez, el paquete de adaptador de Control de origen se comunica con el complemento de control de código fuente mediante la API de complemento de Control de origen y también proporciona una interfaz de usuario que es común para todos los complementos código fuente control predeterminada.In turn, the Source Control Adapter Package communicates with the source control plug-in by using the Source Control Plug-in API and also provides a default UI that is common for all source control plug-ins.

    Cuando un paquete de control de código fuente es el activo, por otro lado, el código auxiliar de Control de origen se comunica directamente con el paquete mediante el uso de la Visual Studio SDKVisual Studio SDK interfaces de paquete de Control de código fuente.When a source-control package is the active package, on the other hand, the Source Control Stub directly communicates with the package by using the Visual Studio SDKVisual Studio SDK Source-Control Package interfaces. El paquete de control de código fuente es responsable de hospedaje de su propia interfaz de usuario de control de código fuente.The source-control package is responsible for hosting its own source control UI.

    Gráfico de arquitectura de Control de código fuenteSource Control Architecture graphic

    Para un paquete de control de código fuente, Visual StudioVisual Studio no proporciona código de control de código fuente o una API para la integración.For a source-control package, Visual StudioVisual Studio does not supply source control code or an API for integration. Compare esto con el enfoque descrito en crear un complemento de Control de código fuente donde tiene el complemento de control de código fuente implementar un conjunto rígido de las funciones y las devoluciones de llamada.Contrast this with the approach outlined in Creating a Source Control Plug-in where the source control plug-in has to implement a rigid set of functions and callbacks.

    Al igual que cualquier VSPackage, un paquete de control de código fuente es un objeto COM que se pueden crear mediante el uso de CoCreateInstance.Like any VSPackage, a source-control package is a COM object that can be created by using CoCreateInstance. El VSPackage pone a disposición la Visual StudioVisual Studio IDE implementando IVsPackage.The VSPackage makes itself available to the Visual StudioVisual Studio IDE by implementing IVsPackage. Cuando se ha creado una instancia, un VSPackage recibe un puntero de sitio y un IServiceProvider interfaz que proporciona acceso a los servicios disponibles y interfaces en el IDE de VSPackage.When an instance has been created, a VSPackage receives a site pointer and an IServiceProvider interface that provides the VSPackage access to the available services and interfaces in the IDE.

    Escribir un paquete de control de código fuente en función de VSPackage requiere experiencia de programación más avanzado de escribir basado en la API de complementos de Control de origen de complemento.Writing a VSPackage-based source-control package requires more advanced programming expertise than writing a Source Control Plug-in API-based plug-in.

Vea tambiénSee Also

IVsPackageIVsPackage
IntroducciónGetting Started