alignement et sélection (contrôle de code source VSPackage)
Un contrôle de code source VSPackage doit être inscrit pour l'exposer à Visual Studio. Si plusieurs contrôle de code source VSPackage est enregistré, l'utilisateur peut sélectionner le VSPackage à charger à des moments appropriés. Consultez VSPackages pour plus d'informations sur les VSPackages et comment les enregistrer.
Stocker un package de contrôle de code source
Le package de contrôle de code source est enregistré afin que l'environnement de Visual Studio puisse trouver et l'interrogation pour ses fonctionnalités prises en charge. C'est conforme à un modèle de délai-chargement dans laquelle une instance d'un package est créée uniquement lorsque ses fonctionnalités ou commandes sont obligatoires ou sont demandées explicitement.
Les informations de portée de VSPackages dans une clé de Registre spécifique à la version, \SOFTWARE\Microsoft\VisualStudio HKEY_LOCAL_MACHINE \X.Y, où X est le numéro de version principale et O sont le numéro de version secondaire. Cette pratique permet de prendre en charge l'installation côte à côte plusieurs versions de Visual Studio.
L'interface utilisateur de Visual Studio (UI) prend en charge la sélection parmi de plug-ins de contrôle de code source installé par plusieurs (via le package d'adaptateur de contrôle de code source) ainsi que du contrôle de code source VSPackages. Il peut y avoir qu'un seul plug-in ou VSPackage actif de contrôle de code source à la fois. Toutefois, comme décrit ci-dessous, l'IDE permet de basculer le plug-ins de contrôle de code source et le VSPackages via un mécanisme solution-basé automatique de package-échange. Il existe des spécifications sur la partie du contrôle de code source VSPackage d'activer ce mécanisme de sélection.
Entrées du Registre
Un package de contrôle de code source a besoin de trois GUID privé :
package GUID : C'est un GUID principal pour le package qui contient l'implémentation du contrôle de code source (ID_Package appelée de cette section).
contrôle de code source GUID : C'est un GUID pour le contrôle de code source VSPackage utilisé pour l'enregistrement auprès de le stub de contrôle de code source Visual Studio et est également utilisé comme contexte GUID de la commande interface utilisateur. Le service de contrôle de code source GUID est stocké sous contrôle de code source GUID. dans l'exemple, le contrôle de code source GUID est appelé ID_SccProvider.
service de contrôle de code source GUID : Il s'agit du service privé GUID utilisé par Visual Studio (SID_SccPkgService appelée de cette section). En plus de cela, le package de contrôle de code source doit définir l'autre GUID pour les VSPackages, fenêtres Outil, et ainsi de suite.
Les entrées du Registre suivantes doivent être effectuées par un contrôle de code source VSPackage :
Nom de la clé |
entrées |
---|---|
|
(valeur par défaut) = rg_sz : {} ID_SccProvider |
|
(valeur par défaut) = rg_sz : <Friendly name of Package> service = rg_sz : {} SID_SccPkgService |
|
(valeur par défaut) = rg_sz : # <Resource ID for localized name> package = rg_sz : {} ID_Package |
(Remarque pour <PackageName> laquelle le nom de la clé, SourceCodeControl, est déjà utilisé par Visual Studio et n'est pas disponible sous la forme d'un tableau.) |
(valeur par défaut) = rg_sz : {} ID_Package |
sélectionner un package de contrôle de code source
Plusieurs le plug-in contrôle de code source API-a basée sur les connexions et le contrôle de code source VSPackages peut être simultané enregistré. Le processus de sélectionner un plug-in ou un VSPackage de contrôle de code source doit garantir que Visual Studio charge le plug-in ou le VSPackage au moment approprié, et peut différer charger les composants inutiles jusqu'à ce qu'ils soient requis. En outre, Visual Studio doit supprimer tout l'interface utilisateur de l'autre des VSPackages inactif, notamment les éléments de menu, des boîtes de dialogue, et les barres d'outils, et affiche l'interface utilisateur pour le VSPackage actif.
Visual Studio charge un contrôle de code source VSPackage lorsque l'une des opérations suivantes sont exécutées :
La solution est ouverte (lorsque la solution est sous contrôle de code source).
Lorsqu'une solution ou un projet sous le contrôle de code source est ouverte, l'IDE entraîne le contrôle de code source VSPackage qui a été lu pour cette solution à charger.
Les commandes de menu d'un caractère du contrôle de code source VSPackage sont exécutées.
Un contrôle de code source VSPackage doit charger tous les composants dont il a besoin uniquement lorsqu'ils vont être réellement utilisés (sinon appelé chargement différé).
Échange Solution-basé automatique d'un VSPackage
Vous pouvez manuellement échanger le contrôle de code source VSPackages via la boîte de dialogue de Visual StudioOptions sous la catégorie de Contrôle de source de données . L'échange solution-basé automatique de package signifie qu'un package de contrôle de code source qui a été lu pour une solution particulière est automatiquement à actif lorsque cette solution est ouverte. Chaque package de contrôle de code source doit implémenter SetActive et SetInactive. Visual Studio gère le commutateur entre les plug-ins de contrôle de code source (implémentant l'API des plug-ins de contrôle de code source) et le contrôle de code source VSPackages.
Le package d'adaptateur de contrôle de code source permet de basculer vers n'importe quel plug-in API-basé par plug-in contrôle de code source. Le processus de la commutation au package intermédiaire d'adaptateur de contrôle de code source et de déterminer le plug-in contrôle de code source doit être défini à actif ou à inactif est transparent à l'utilisateur. Le package d'adaptateur est toujours actif lorsque tout plug-in contrôle de code source est actif. La commutation entre deux plug-ins de contrôle de code source s'élève simplement au chargement et au déchargement de la DLL de votre plug-in. Basculer vers un contrôle de code source VSPackage, toutefois, implique interagir avec l'IDE pour charger le VSPackage approprié.
Un contrôle de code source VSPackage est appelé lorsqu'une solution est ouverte et la clé de Registre pour le VSPackage est dans le fichier solution. Lorsque la solution est ouverte, Visual Studio trouve la valeur de Registre et charge le contrôle de code source approprié VSPackage. Tout le contrôle de code source VSPackages doit disposer d'entrées du Registre décrites ci-dessus. Une solution sous contrôle de code source est marquée comme étant associé à un contrôle de code source particulier VSPackage. Le contrôle de code source VSPackages doit implémenter IVsSolutionPersistence pour permettre l'échange solution-basé automatique d'un VSPackage.
interface utilisateur de Visual Studio pour la sélection et la commutation de package
Visual Studio fournit une interface utilisateur pour le contrôle de code source VSPackage et la sélection du plug-in dans la boîte de dialogue d' Options sous la catégorie de Contrôle de source de données . Il permet à l'utilisateur de sélectionner le plug-in ou le VSPackage actif de contrôle de code source. Une liste déroulante inclut :
tous les packages installés de contrôle de code source
Tous les plug-ins de contrôle de code source installé
Un « none » option, qui désactive le contrôle de code source
Seul l'interface utilisateur pour le choix actif de contrôle de code source est visible. La sélection d'un VSPackage masque l'interface utilisateur pour le VSPackage précédent et affiche l'interface utilisateur pour le nouveau. Le VSPackage actif est sélectionné sur une base individuelle. Si un utilisateur a plusieurs copies de Visual Studio ouvertes simultanément, chacun peut potentiellement utiliser un VSPackage actif différent. Si plusieurs utilisateurs sont connectés au même ordinateur, chaque utilisateur peut avoir des instances distinctes de Visual Studio ouvertes, chacune avec un VSPackage actif différent. Lorsque plusieurs instances de Visual Studio sont fermées par un utilisateur, le contrôle de code source VSPackage qui était actif pour la dernière solution ouverte devient le contrôle de code source par défaut VSPackage, soit actif défini sur le redémarrage.
Contrairement aux versions antérieures de Visual Studio, un redémarrage de l'IDE n'est plus la seule façon de basculer le contrôle de code source VSPackages. La sélection d'un VSPackage est automatique. Basculement de packages requiert des privilèges d'utilisateur Windows (et non administrateur ou utilisateur avec pouvoir).
Voir aussi
Référence
Autres ressources
Fonctionnalités d'un VSPackage de contrôle de code source