Registrierung und Auswahl (Quellcodeverwaltungs-VSPackage)
Ein Quellcodeverwaltungs-VSPackage muss registriert werden, um es für Visual Studio verfügbar zu machen. Wenn mehr als eine Quellcodeverwaltung VSPackage registriert ist, kann der Benutzer auswählen, welche VSPackage zu geeigneten Zeiten geladen werden soll. Weitere Informationen zu VSPackages und deren Registrierung finden Sie unter VSPackages .
Registrieren eines Quellcodeverwaltungspakets
Das Quellcodeverwaltungspaket wird registriert, sodass die Visual Studio-Umgebung es finden und nach den unterstützten Features abfragen kann. Dies entspricht einem Verzögerungsladeschema, bei dem eine Instanz eines Pakets nur erstellt wird, wenn seine Features oder Befehle erforderlich sind oder explizit angefordert werden.
VSPackages platzieren Informationen in einem versionsspezifischen Registrierungsschlüssel, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\X.Y, wobei X die Hauptversionsnummer und Y die Nebenversionsnummer ist. Diese Vorgehensweise bietet die Möglichkeit, die parallele Installation mehrerer Versionen von Visual Studio zu unterstützen.
Die Visual Studio-Benutzeroberfläche (UI) unterstützt die Auswahl zwischen mehreren installierten Quellcodeverwaltungs-Plug-Ins (über das Quellcodeverwaltungsadapterpaket) sowie von VSPackages zur Quellcodeverwaltung. Es kann jeweils nur ein aktives Quellcodeverwaltungs-Plug-In oder VSPackage geben. Wie unten beschrieben, ermöglicht die IDE jedoch den Wechsel zwischen Quellcodeverwaltungs-Plug-Ins und VSPackages über einen automatischen lösungsbasierten Pakettauschmechanismus. Es gibt einige Anforderungen an den Teil der Quellcodeverwaltung VSPackage, um diesen Auswahlmechanismus zu aktivieren.
Registrierungseinträge
Ein Quellcodeverwaltungspaket benötigt drei private GUIDs:
Paket-GUID: Dies ist die Standard GUID für das Paket, das die Implementierung der Quellcodeverwaltung enthält (in diesem Abschnitt ID_Package genannt).
GUID der Quellcodeverwaltung: Dies ist eine GUID für das Quellcodeverwaltungs-VSPackage, das zum Registrieren beim Visual Studio Source Control Stub verwendet wird und auch als Befehls-UI-Kontext-GUID verwendet wird. Die GUID des Quellcodeverwaltungsdiensts wird unter der GUID der Quellcodeverwaltung registriert. Im Beispiel wird die GUID der Quellcodeverwaltung ID_SccProvider aufgerufen.
GUID des Quellcodeverwaltungsdiensts: Dies ist die private Dienst-GUID, die von Visual Studio verwendet wird (in diesem Abschnitt als SID_SccPkgService bezeichnet). Darüber hinaus muss das Quellcodeverwaltungspaket andere GUIDs für VSPackages, Toolfenster usw. definieren.
Die folgenden Registrierungseinträge müssen von einem Quellcodeverwaltungs-VSPackage vorgenommen werden:
Schlüsselname | Posten |
---|---|
HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ VisualStudio\ X.Y\ SourceControlProviders\ |
(Standard) = rg_sz:{ID_SccProvider} |
HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ VisualStudio\ X.Y\ SourceControlProviders\ {ID_SccProvider}\ |
(Standard) = rg_sz:<Anzeigename des Pakets> Service = rg_sz:{SID_SccPkgService} |
HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ VisualStudio\ X.Y\ SourceControlProviders\ {ID_SccProvider}\ Name\ |
(Standard) = rg_sz:#<Resource ID für lokalisierten Namen> Paket = rg_sz:{ID_Package} |
HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ VisualStudio\ X.Y\ SolutionPersistence\ <PackageName>\ (Beachten Sie, dass der Schlüsselname bereits SourceCodeControl von Visual Studio verwendet wird und nicht als Auswahl für <PackageName> verfügbar ist.) |
(Standard) = rg_sz:{ID_Package} |
Auswählen eines Quellcodeverwaltungspakets
Mehrere API-basierte Plug-Ins für quellcodeverwaltungsbasierte Plug-Ins und VSPackages können gleichzeitig registriert werden. Der Prozess der Auswahl eines Quellcodeverwaltungs-Plug-Ins oder VSPackage muss sicherstellen, dass Visual Studio das Plug-In oder VSPackage zur entsprechenden Zeit lädt und das Laden unnötiger Komponenten zurückstellen kann, bis sie erforderlich sind. Darüber hinaus muss Visual Studio alle Ui aus anderen inaktiven VSPackages entfernen, einschließlich Menüelementen, Dialogfeldern und Symbolleisten, und die Benutzeroberfläche für das aktive VSPackage anzeigen.
Visual Studio lädt ein Quellcodeverwaltungs-VSPackage, wenn eine der folgenden Vorgänge ausgeführt wird:
Die Lösung wird geöffnet (wenn sich die Lösung unter quellcodeverwaltung befindet).
Wenn eine Projektmappe oder ein Projekt unter Quellcodeverwaltung geöffnet wird, bewirkt die IDE, dass die Quellcodeverwaltung VSPackage, die für diese Lösung festgelegt wurde, geladen wird.
Jeder der Menübefehle des Quellcodeverwaltungs-VSPackage-Steuerelements wird ausgeführt.
Ein Quellcodeverwaltungs-VSPackage sollte alle benötigten Komponenten nur laden, wenn sie tatsächlich verwendet werden (sonst als verzögertes Laden bezeichnet).
Automatisches lösungsbasiertes VSPackage-Swapping
Sie können die Quellcodeverwaltung vsPackages manuell über das Dialogfeld "Visual Studio-Optionen" unter der Kategorie "Quellcodeverwaltung" austauschen. Das automatische, lösungsbasierte Pakettausch bedeutet, dass ein Quellcodeverwaltungspaket, das für eine bestimmte Lösung festgelegt wurde, automatisch aktiviert ist, wenn diese Lösung geöffnet wird. Jedes Quellcodeverwaltungspaket sollte implementieren SetActive und SetInactive. Visual Studio behandelt den Switch zwischen beiden Quellcodeverwaltungs-Plug-Ins (Implementieren der Quellcodeverwaltungs-Plug-In-API) und der Quellcodeverwaltung VSPackages.
Das Quellcodeverwaltungsadapterpaket wird verwendet, um zu einem API-basierten Quellcodeverwaltungs-Plug-In zu wechseln. Der Prozess des Wechsels zum zwischengeschalteten Quellcodeverwaltungsadapterpaket und das Bestimmen, welches Quellcodeverwaltungs-Plug-In auf "aktiv" oder "inaktiv" festgelegt werden muss, ist für den Benutzer transparent. Das Adapterpaket ist immer aktiv, wenn ein Quellcodeverwaltungs-Plug-In aktiv ist. Der Wechsel zwischen zwei Quellcodeverwaltungs-Plug-Ins bedeutet, dass einfach die Plug-In-DLL geladen und entladen wird. Der Wechsel zu einem Quellcodeverwaltungs-VSPackage erfordert jedoch die Interaktion mit der IDE, um das entsprechende VSPackage zu laden.
Ein Quellcodeverwaltungs-VSPackage wird aufgerufen, wenn eine Lösung geöffnet wird und der Registrierungsschlüssel für das VSPackage in der Lösungsdatei enthalten ist. Wenn die Lösung geöffnet wird, findet Visual Studio den Registrierungswert und lädt die entsprechende Quellcodeverwaltung VSPackage. Alle Quellcodeverwaltungs-VSPackages müssen über die oben beschriebenen Registrierungseinträge verfügen. Eine Lösung, die sich unter der Quellcodeverwaltung befindet, wird als verknüpft mit einem bestimmten Quellcodeverwaltungs-VSPackage markiert. Die Quellcodeverwaltung VSPackages muss das IVsSolutionPersistence automatische lösungsbasierte VSPackage-Swapping implementieren.
Visual Studio-Benutzeroberfläche für die Paketauswahl und -umschaltung
Visual Studio bietet eine Benutzeroberfläche für die Quellcodeverwaltung vsPackage und Plug-In-Auswahl im Dialogfeld "Optionen " unter der Kategorie "Quellcodeverwaltung ". Er ermöglicht es dem Benutzer, das aktive Quellcodeverwaltungs-Plug-In oder VSPackage auszuwählen. Eine Dropdownliste enthält Folgendes:
Alle installierten Quellcodeverwaltungspakete
Alle installierten Quellcodeverwaltungs-Plug-Ins
Eine Option "none", die die Quellcodeverwaltung deaktiviert.
Nur die Benutzeroberfläche für die Auswahl des aktiven Quellcodeverwaltungselements ist sichtbar. Die VSPackage-Auswahl blendet die Benutzeroberfläche für das vorherige VSPackage aus und zeigt die Benutzeroberfläche für die neue an. Das aktive VSPackage wird pro Benutzer ausgewählt. Wenn ein Benutzer mehrere Kopien von Visual Studio gleichzeitig geöffnet hat, kann jeder eine andere aktive VSPackage verwenden. Wenn mehrere Benutzer auf demselben Computer angemeldet sind, kann jeder Benutzer separate Instanzen von Visual Studio öffnen, jeweils mit einem anderen aktiven VSPackage. Wenn mehrere Instanzen von Visual Studio von einem Benutzer geschlossen werden, wird das Quellcodeverwaltungs-VSPackage, das für die letzte geöffnete Lösung aktiv war, zum Standardquellsteuerelement VSPackage, das beim Neustart aktiv ist.
Im Gegensatz zu früheren Versionen von Visual Studio ist ein IDE-Neustart nicht mehr die einzige Möglichkeit, die Quellcodeverwaltung vsPackages zu wechseln. VsPackage-Auswahl ist automatisch. Das Wechseln von Paketen erfordert Windows-Benutzerberechtigungen (nicht Administrator oder Power User).