En este artículo

Registro y la selección (VSPackage de Control de código fuente)Registration and Selection (Source Control VSPackage)

11/04/2016

Tiempo de lectura: 12 minutos

Colaboradores

En este artículo

Un control de código fuente se debe registrar VSPackage para exponerlo a la Visual StudioVisual Studio.A source control VSPackage must be registered to expose it to the Visual StudioVisual Studio.Si se registra más de un control de código fuente VSPackage, el usuario puede seleccionar qué VSPackage para cargar en los momentos adecuados.If more than one source control VSPackage is registered, the user can select which VSPackage to load at appropriate times.Vea VSPackages para obtener más información sobre VSPackages y cómo registrarlos.See VSPackages for more details on VSPackages and how to register them.

Registrar un paquete de Control de código fuenteRegistering a Source Control Package

El paquete de control de origen se registra para que la Visual StudioVisual Studio entorno puede encontrar y consulta de sus características admitidas.The source control package is registered so that the Visual StudioVisual Studio environment can find it and query for its supported features.Esto es conforme con un esquema de carga retrasada en la que se crea una instancia de un paquete solo cuando sus funciones o los comandos son necesarios o que se solicitan explícitamente.This is in accordance with a delay-loading scheme in which an instance of a package is created only when its features or commands are required or are requested explicitly.

El Visual StudioVisual Studio interfaz de usuario (UI) admite la selección entre varios código fuente instalado control complementos (mediante el paquete de adaptador de Control de origen), así como el control de código fuente VSPackages.The Visual StudioVisual Studio user interface (UI) supports selection from among multiple installed source control plug-ins (via the Source Control Adapter Package) as well as source control VSPackages.Puede haber solo un complemento de control de origen activo o VSPackage a la vez.There can be only one active source control plug-in or VSPackage at a time.Sin embargo, tal y como se describe a continuación, el IDE permite cambiar entre los complementos de control de código fuente y VSPackages a través de un mecanismo de intercambio de paquetes de basado en la solución automática.However, as described below, the IDE allows switching between source control plug-ins and VSPackages through an automatic solution-based package-swapping mechanism.Existen algunos requisitos por parte del control de código fuente VSPackage para habilitar este mecanismo de selección.There are some requirements on the part of the source control VSPackage to enable this selection mechanism.

Entradas del RegistroRegistry Entries

GUID del paquete: Este es el GUID principal para el paquete que contiene la implementación de control de código fuente (denominada ID_Package en esta sección).Package GUID: This is the main GUID for the package that contains the source control implementation (called ID_Package in this section).

GUID de Control de código fuente: Esto es un GUID para el control de código fuente VSPackage que se usa para registrar con código auxiliar Control de código fuente de Visual Studio y también se utiliza como un contexto de la interfaz de usuario de comando GUID.Source Control GUID: This is a GUID for the source control VSPackage used to register with the Visual Studio Source Control Stub and is also used as a command UI context GUID.El GUID de servicio de control de origen está registrado en el GUID del control de código fuente.The source control service GUID is registered under the source control GUID.En el ejemplo, el GUID del control de código fuente se denomina ID_SccProvider.In the example, the source control GUID is called ID_SccProvider.

GUID de servicio de control de origen: se trata del servicio privado GUID utilizado por Visual Studio (denominado SID_SccPkgService en esta sección).Source control service GUID: This is the private service GUID used by Visual Studio (called SID_SccPkgService in this section).Además, el paquete de control de código fuente debe definir el resto de GUID para VSPackages, ventanas de herramientas y así sucesivamente.In addition to this, the source control package needs to define other GUIDs for VSPackages, tool windows, and so on.

Un control de código fuente VSPackage deben realizarse las siguientes entradas del registro:The following registry entries must be made by a source control VSPackage:

Visual StudioVisual Studio carga un paquete VSPackage del control de código fuente cuando se realiza cualquiera de las siguientes operaciones: loads a source control VSPackage when any one of the following operations is performed:

Se abre la solución (cuando la solución está bajo control de código fuente).Solution is opened (when the solution is under source control).

Cuando se abre una solución o proyecto bajo control de código fuente, el IDE hace que el control de código fuente VSPackage que designó para que esa solución que se va a cargar.When a solution or project under source control is opened, the IDE causes the source control VSPackage that was designated for that solution to be loaded.

Cualquiera de los comandos de menú del control de código fuente VSPackage se ejecutan.Any of the menu commands of the source control VSPackage are executed.

Un control de código fuente A que VSPackage debe cargar los componentes que necesita sólo cuando realmente va utiliza (lo que se conoce como la carga retrasada).A source control VSPackage should load any components it needs only when they are actually going to be used (otherwise known as delayed loading).

Puede intercambiar manualmente el control de código fuente VSPackages a través de la Visual StudioVisual Studioopciones cuadro de diálogo en el Control de código fuente categoría.You can manually swap source control VSPackages through the Visual StudioVisual StudioOptions dialog box under the Source Control category.El intercambio automático de paquetes basados en soluciones significa que un paquete de control de código fuente que se ha designado para una solución concreta se establece automáticamente en activo cuando se abre esa solución.Automatic solution-based package swapping means that a source control package that has been designated for a particular solution is automatically set to active when that solution is opened.Debe implementar cada paquete de control de código fuente SetActive y SetInactive.Every source control package should implement SetActive and SetInactive.Visual StudioVisual Studio Controla el cambio entre ambos del origen de los complementos de control (implementación de la API de complemento de Control de origen) y VSPackages de control de código fuente. handles the switch between both source control plug-ins (implementing the Source Control Plug-in API) and source control VSPackages.

El paquete de adaptador de Control de origen se utiliza para cambiar a basada en la API de complementos de Control de código fuente cualquier complemento.The Source Control Adapter Package is used to switch to any Source Control Plug-in API-based plug-in.El proceso de cambio para el paquete intermedio de adaptador de Control de origen y determinar qué complemento de control de código fuente debe establecerse en activo o inactivo es transparente para el usuario.The process of switching to the intermediate Source Control Adapter Package and determining which source control plug-in must be set to active or inactive is transparent to the user.El paquete del adaptador siempre está activo cuando cualquier complemento de control de código fuente está activa.The Adapter Package is always active when any source control plug-in is active.Cambiar entre dos cantidades de complementos de control de origen para simplemente carga y descarga la DLL del complemento.Switching between two source control plug-ins amounts to simply loading and unloading the plug-in DLL.Sin embargo, se cambia a un control de código fuente VSPackage, implica interactuar con el IDE para cargar el VSPackage adecuado.Switching to a source control VSPackage, however, involves interacting with the IDE to load the appropriate VSPackage.