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

Un control de código fuente se debe registrar VSPackage para exponerlo a la Programa para la mejoraVisual Studio.A source control VSPackage must be registered to expose it to the Programa para la mejoraVisual 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 Programa para la mejoraVisual Studio entorno puede encontrar y consulta de sus características admitidas.The source control package is registered so that the Programa para la mejoraVisual 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.

VSPackages colocar la información en una clave del Registro específica de la versión, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\X.Y, donde X es el número de versión principal y Y es el número de versión secundaria.VSPackages place information in a version-specific registry key, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\X.Y, where X is the major version number and Y is the minor version number. Esta práctica proporciona la capacidad para admitir la instalación en paralelo de varias versiones de Programa para la mejoraVisual Studio.This practice provides the ability to support side-by-side installation of multiple versions of Programa para la mejoraVisual Studio.

El Programa para la mejoraVisual 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 Programa para la mejoraVisual 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

Un paquete de control de código fuente necesita tres GUID privados:A source control package needs three private GUIDs:

  • 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:

Nombre de claveKey name EntradasEntries
HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ VisualStudio\ X.Y\ SourceControlProviders\ (valor predeterminado) = rg_sz: {ID_SccProvider}(default) = rg_sz:{ID_SccProvider}
HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ VisualStudio\ X.Y\ SourceControlProviders\ {ID_SccProvider}\ (valor predeterminado) = rg_sz:<nombre descriptivo del paquete >(default) = rg_sz:<Friendly name of Package>

Servicio = rg_sz: {SID_SccPkgService}Service = rg_sz:{SID_SccPkgService}
HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ VisualStudio\ X.Y\ SourceControlProviders\ {ID_SccProvider}\ Name\ (valor predeterminado) = rg_sz: #<identificador de recurso de nombre localizado >(default) = rg_sz:#<Resource ID for localized name>

Paquete = rg_sz: {ID_Package}Package = rg_sz:{ID_Package}
HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ VisualStudio\ X.Y\ SolutionPersistence\ <PackageName>\

(Tenga en cuenta que el nombre de clave, SourceCodeControl, ya está en uso por Programa para la mejoraVisual Studio y no está disponible como una opción para <PackageName >.)(Note that the key name, SourceCodeControl, is already used by Programa para la mejoraVisual Studio and is not available as a choice for <PackageName>.)
(valor predeterminado) = rg_sz: {ID_Package}(default) = rg_sz:{ID_Package}

Al seleccionar un paquete de Control de código fuenteSelecting a Source Control Package

Varias en función de la API de complementos de Control de origen de complementos y VSPackages puede ser registrados simultáneamente el control de código fuente.Several Source Control Plug-in API-based plug-ins and source control VSPackages may be concurrently registered. El proceso de selección de un complemento de control de código fuente o un paquete VSPackage debe asegurarse de que Programa para la mejoraVisual Studio carga el complemento o VSPackage en el momento adecuado y puede diferir la carga componentes innecesarios hasta que son necesarios.The process of selecting a source control plug-in or VSPackage must ensure that Programa para la mejoraVisual Studio loads the plug-in or VSPackage at the appropriate time, and can defer loading unnecessary components until they are required. Además, Programa para la mejoraVisual Studio debe quitar todas las de la interfaz de usuario desde otros VSPackages inactivas, incluidos elementos de menú, cuadros de diálogo y barras de herramientas y mostrar la interfaz de usuario para el paquete de VS activa.Additionally, Programa para la mejoraVisual Studio must remove all UI from other inactive VSPackages, including menu items, dialog boxes, and toolbars, and display the UI for the active VSPackage.

Programa para la mejoraVisual 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).

El intercambio automático VSPackage basado en la soluciónAutomatic Solution-based VSPackage Swapping

Puede intercambiar manualmente el control de código fuente VSPackages a través de la Programa para la mejoraVisual Studio opciones cuadro de diálogo en el Control de código fuente categoría.You can manually swap source control VSPackages through the Programa para la mejoraVisual Studio Options 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. Programa para la mejoraVisual 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.

Un control de código fuente VSPackage se llama cuando se abre una solución y la clave del registro para el VSPackage está en el archivo de solución.A source control VSPackage is called when any solution is opened and the registry key for the VSPackage is in the solution file. Cuando se abre la solución, Programa para la mejoraVisual Studio busca el valor del registro y cargue el control de origen que corresponda VSPackage.When the solution is opened, Programa para la mejoraVisual Studio finds the registry value and loads the appropriate source control VSPackage. Control de código fuente de todos los VSPackages debe tener las entradas del registro que se ha descrito anteriormente.All source control VSPackages must have the registry entries described above. Una solución que se encuentra bajo control de código fuente se marca como está asociado con un control de origen determinado VSPackage.A solution that is under source control is marked as being associated with a particular source control VSPackage. Paquetes VSPackage deben implementar el control de código fuente el IVsSolutionPersistence para permitir el VSPackage basado en la solución automática intercambio.Source control VSPackages must implement the IVsSolutionPersistence to enable automatic solution-based VSPackage swapping.

Interfaz de usuario para la selección de paquetes y el cambio de Visual StudioVisual Studio UI for Package Selection and Switching

Programa para la mejoraVisual Studio Proporciona una interfaz de usuario para el control de código fuente VSPackage y la selección de complemento en el opciones cuadro de diálogo en el Control de código fuente categoría. provides a UI for source control VSPackage and plug-in selection in the Options dialog box under the Source Control category. Permite al usuario seleccionar el complemento de control de origen activo o el VSPackage.It allows the user to select the active source control plug-in or VSPackage. Incluye una lista desplegable:A drop-down list includes:

  • Todos los paquetes de control de código fuente instaladoAll installed source control packages

  • Instalar todos los complementos de control de código fuenteAll installed source control plug-ins

  • Una opción "Ninguno", que deshabilita el control de código fuenteA "none" option, which disables source code control

    Solo la interfaz de usuario para la opción de control de origen activo está visible.Only the UI for the active source control choice is visible. La selección de VSPackage oculta la interfaz de usuario para el VSPackage anterior y muestra la interfaz de usuario para una nueva.The VSPackage selection hides the UI for the previous VSPackage and shows the UI for the new one. El VSPackage active está activado en cada usuario.The active VSPackage is selected on a per-user basis. Si un usuario tiene varias copias de Programa para la mejoraVisual Studio abiertos al mismo tiempo, cada uno de ellos podrían utilizar un VSPackage active diferentes.If a user has multiple copies of Programa para la mejoraVisual Studio open concurrently, each one can potentially use a different active VSPackage. Si varios usuarios inician sesión el mismo equipo, cada usuario puede tener instancias independientes de Programa para la mejoraVisual Studio abrir, cada uno con un VSPackage active diferentes.If multiple users are logged on to the same computer, each user can have separate instances of Programa para la mejoraVisual Studio open, each with a different active VSPackage. Cuando varias instancias de Programa para la mejoraVisual Studio se cierran con un usuario, el control de código fuente VSPackage que estaba activa para la última solución abierta se convierte en el control de código fuente predeterminada VSPackage, establecerse activo en el reinicio.When multiple instances of Programa para la mejoraVisual Studio are closed by a user, the source control VSPackage that was active for the last open solution becomes the default source control VSPackage, to be set active on restart.

    A diferencia de las versiones anteriores de Programa para la mejoraVisual Studio, un reinicio IDE ya no es la única manera de cambiar control de código fuente VSPackages.Unlike previous versions of Programa para la mejoraVisual Studio, an IDE restart is no longer the only way to switch source control VSPackages. Selección de VSPackage es automático.VSPackage selection is automatic. Conmutación de paquetes, requiere privilegios de usuario de Windows (no administrador o usuario avanzado).Switching packages requires Windows User privileges (not Administrator or Power User).

Vea tambiénSee Also

IVsSolutionPersistence
Características Features
Crear un Control de código fuente complemento Creating a Source Control Plug-in
VSPackagesVSPackages