Installieren eines Quellcodeverwaltungs-Plug-Ins
Das Erstellen eines Quellcodeverwaltungs-Plug-Ins umfasst drei Schritte:
Erstellen Sie eine DLL mit den Funktionen, die im Referenzabschnitt der Quellcodeverwaltungs-Plug-In-API definiert sind.
Implementieren Sie die api-definierten Funktionen des Quellcodeverwaltungs-Plug-Ins. Wenn Visual Studio dafür aufruft, stellen Sie Schnittstellen und Dialogfelder über das Plug-In zur Verfügung.
Registrieren Sie die DLL, indem Sie entsprechende Registrierungseinträge vornehmen.
Integration in Visual Studio
Visual Studio unterstützt Quellcodeverwaltungs-Plug-Ins, die der Quellcodeverwaltungs-Plug-In-API entsprechen.
Registrieren des Quellcodeverwaltungs-Plug-Ins
Bevor eine ausgeführte integrierte Entwicklungsumgebung (IDE) in das Quellcodeverwaltungssystem aufrufen kann, muss zuerst die Plug-In-DLL für die Quellcodeverwaltung gefunden werden, die die API exportiert.
So registrieren Sie die Plug-In-DLL für die Quellcodeverwaltung
Fügen Sie zwei Einträge unter dem HKEY_LOCAL_MACHINE Schlüssel im SOFTWARE-Unterschlüssel hinzu, der den Unterschlüssel "Firmenname" gefolgt vom Unterschlüssel "Produktname" angibt. Das Muster ist HKEY_LOCAL_MACHINE\SOFTWARE\<Firmenname>\<Produktname>\<Eintragswert> = . Die beiden Einträge werden immer als SCCServerName und SCCServerPath bezeichnet. Jede ist eine reguläre Zeichenfolge.
Wenn Ihr Firmenname beispielsweise Microsoft ist und Ihr Quellcodeverwaltungsprodukt den Namen "Source Tresor" hat, lautet dieser Registrierungspfad HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Source Tresor. In diesem Unterschlüssel ist der erste Eintrag SCCServerName eine benutzerlesbare Zeichenfolge, die Ihr Produkt benennt. Der zweite Eintrag, SCCServerPath, ist der vollständige Pfad zu der Quellcodeverwaltungs-Plug-In-DLL, mit der die IDE eine Verbindung herstellen soll. Im Folgenden finden Sie Beispielregistrierungseinträge:
Beispielregistrierungseintrag Beispielwert HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Source Tresor\SCCServerName Microsoft Visual SourceSafe HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Source Tresor\SCCServerPath c:\vss\win32\ssscc.dll Hinweis
SCCServerPath ist der vollständige Pfad zum Source Tresor Plug-In. Ihr Quellcodeverwaltungs-Plug-In verwendet unterschiedliche Firmen- und Produktnamen, aber dieselben Registrierungseintragspfade.
Die folgenden optionalen Registrierungseinträge können verwendet werden, um das Verhalten Ihres Quellcodeverwaltungs-Plug-Ins zu ändern. Diese Einträge werden im selben Unterschlüssel wie SccServerName und SccServerPath abgelegt.
Der Eintrag "HideInVisualStudioregistry " kann verwendet werden, wenn Das Quellcodeverwaltungs-Plug-In nicht in der Plug-In-Auswahlliste von Visual Studio angezeigt werden soll. Dieser Eintrag wirkt sich auch auf den automatischen Wechsel zum Quellcodeverwaltungs-Plug-In aus. Eine mögliche Verwendung für diesen Eintrag ist, wenn Sie ein Quellcodeverwaltungspaket bereitstellen, das Das Quellcodeverwaltungs-Plug-In ersetzt, aber Sie möchten es dem Benutzer erleichtern, vom Quellcodeverwaltungs-Plug-In zum Quellcodeverwaltungs-Plug-In zu migrieren. Wenn das Quellcodeverwaltungspaket installiert ist, wird dieser Registrierungseintrag festgelegt, der das Plug-In ausblendet.
HideInVisualStudio ist ein DWORD-Wert und wird auf 1 festgelegt, um das Plug-In oder 0 auszublenden, um das Plug-In anzuzeigen. Wenn der Registrierungseintrag nicht angezeigt wird, besteht das Standardverhalten darin, das Plug-In anzuzeigen.
Der Registrierungseintrag "DisableSccManager" kann verwendet werden, um die Menüoption "Source Control Server> starten<" zu deaktivieren oder auszublenden, die normalerweise unter dem Untermenü "Quellcodeverwaltung">angezeigt wird. Wenn Sie diese Menüoption auswählen, wird die SccRunScc-Funktion aufgerufen. Ihr Quellcodeverwaltungs-Plug-In unterstützt möglicherweise kein externes Programm, daher möchten Sie die Menüoption "Start " deaktivieren oder sogar ausblenden.
DisableSccManager ist ein DWORD-Wert und wird auf 0 festgelegt, um die Menüoption "Source Control Server> starten<" zu aktivieren, auf 1 festzulegen, um die Menüoption zu deaktivieren und auf 2 festzulegen, um die Menüoption auszublenden. Wenn dieser Registrierungseintrag nicht angezeigt wird, wird standardmäßig die Menüoption angezeigt.
Beispielregistrierungseintrag Beispielwert HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Source Tresor\HideInVisualStudio 1 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Source Tresor\DisableSccManager 1 Fügen Sie den Unterschlüssel SourceCodeControlProvider unter dem schlüssel HKEY_LOCAL_MACHINE im SOFTWARE-Unterschlüssel hinzu.
Unter diesem Unterschlüssel wird der Registrierungseintrag ProviderRegKey auf eine Zeichenfolge festgelegt, die den Unterschlüssel darstellt, den Sie in der Registrierung in Schritt 1 platziert haben. Das Muster ist HKEY_LOCAL_MACHINE\SOFTWARE\SourceCodeControlProvider\ProviderRegKey = SOFTWARE\<Firmenname\<Produktname.>>
Im Folgenden sehen Sie Beispielinhalte für diesen Unterschlüssel.
Registrierungseintrag Beispielwert HKEY_LOCAL_MACHINE\SOFTWARE\SourceCodeControlProvider\ProviderRegKey SOFTWARE\Microsoft\Source Tresor Hinweis
Das Quellcodeverwaltungs-Plug-In verwendet dieselben Unterschlüssel- und Eintragsnamen, der Wert ist jedoch unterschiedlich.
Erstellen Sie einen Unterschlüssel namens InstalledSCCProviders unter dem Unterschlüssel "SourceCodeControlProvider" , und platzieren Sie dann einen Eintrag unter diesem Unterschlüssel.
Der Name dieses Eintrags ist der benutzerlesbare Name des Anbieters (identisch mit dem für den SCCServerName-Eintrag angegebenen Wert), und der Wert ist erneut der in Schritt 1 erstellte Unterschlüssel. Das Muster ist HKEY_LOCAL_MACHINE\SOFTWARE\SourceCodeControlProvider\InstalledSCCProviders\<Anzeigename = >SOFTWARE\<Firmenname\<Produktname.>>
Beispiel:
Beispielregistrierungseintrag Beispielwert HKEY_LOCAL_MACHINE\SOFTWARE\SourceCodeControlProvider\InstalledSCCProviders\Microsoft Visual Source Tresor SOFTWARE\Microsoft\Source Tresor Hinweis
Auf diese Weise können mehrere Quellcodeverwaltungs-Plug-Ins registriert werden. So findet Visual Studio alle installierten Plug-Ins für die Quellcodeverwaltung auf API-Basis.
So sucht eine IDE die DLL
Die Visual Studio-IDE verfügt über zwei Möglichkeiten zum Suchen der Quellcodeverwaltungs-Plug-In-DLL:
Suchen Sie das Standardmäßige Quellcodeverwaltungs-Plug-In, und stellen Sie eine automatische Verbindung damit her.
Suchen Sie alle registrierten Quellcodeverwaltungs-Plug-Ins, aus denen der Benutzer eins auswäht.
Um die DLL auf die erste Weise zu finden, sucht die IDE unter dem Unterschlüssel "HKEY_LOCAL_MACHINE\Software\SourceCodeControlProvider " nach dem Eintrag "ProviderRegKey". Der Wert dieses Einstiegs verweist auf einen anderen Unterschlüssel. Die IDE sucht dann in diesem zweiten Unterschlüssel unter HKEY_LOCAL_MACHINE nach einem Eintrag namens "SccServerPath". Der Wert dieses Einstiegs verweist auf die IDE auf die DLL.
Hinweis
Die IDE lädt keine DLLs aus relativen Pfaden (z . B. .\NewProvider.DLL). Ein vollständiger Pfad zur DLL muss angegeben werden (z . B. c:\Providers\NewProvider.DLL). Dadurch wird die Sicherheit der IDE gestärkt, indem verhindert wird, dass nicht autorisierte oder imitierte Plug-In-DLLs geladen werden.
Um die DLL auf die zweite Weise zu finden, sucht die IDE unter dem Unterschlüssel HKEY_LOCAL_MACHINE\Software\SourceCodeControlProvider\InstalledSCCProviders nach allen Einträgen. Jeder Eintrag hat einen Namen und einen Wert. Die IDE zeigt dem Benutzer eine Liste dieser Namen an. Wenn der Benutzer einen Namen auswählt, findet die IDE den Wert für den ausgewählten Namen, der auf einen Unterschlüssel verweist. Die IDE sucht in diesem Unterschlüssel unter HKEY_LOCAL_MACHINE nach einem Eintrag namens "SccServerPath". Der Wert dieses Einstiegs verweist die IDE auf die richtige DLL.
Ein Quellcodeverwaltungs-Plug-In muss beide Möglichkeiten der Suche nach der DLL unterstützen und folglich ProviderRegKey festlegen, um jede vorherige Einstellung zu überschreiben. Wichtiger ist, dass es sich selbst zur Liste der InstalledSccProviders hinzufügen muss, damit der Benutzer die Wahl haben kann, welches Quellcodeverwaltungs-Plug-In verwendet werden soll.
Hinweis
Da der HKEY_LOCAL_MACHINE-Schlüssel verwendet wird, kann nur ein Quellcodeverwaltungs-Plug-In als Standard-Quellcodeverwaltungs-Plug-In auf einem bestimmten Computer registriert werden (Visual Studio ermöglicht Benutzern jedoch zu bestimmen, welches Quellcodeverwaltungs-Plug-In sie tatsächlich für eine bestimmte Lösung verwenden möchten). Überprüfen Sie während des Installationsvorgangs, ob bereits ein Quellcodeverwaltungs-Plug-In festgelegt ist. Falls ja, fragen Sie den Benutzer, ob das neue Quellcodeverwaltungs-Plug-In als Standard installiert werden soll. Entfernen Sie während der Deinstallation keine anderen Registrierungsunterschlüssel, die allen Quellcodeverwaltungs-Plug-Ins in HKEY_LOCAL_MACHINE\SOFTWARE\SourceCodeControlProvider gemeinsam sind; entfernen Sie nur Den jeweiligen SCC-Unterschlüssel.
Wie die IDE die Unterstützung von Version 1.2/1.3 erkennt
Wie erkennt Visual Studio, ob ein Plug-In die Quellcodeverwaltungs-Plug-In-API, Version 1.2 und 1.3, unterstützt? Um erweiterte Funktionen zu deklarieren, muss das Quellcodeverwaltungs-Plug-In die entsprechende Funktion implementieren:
Zuerst überprüft Visual Studio den von SccGetVersion zurückgegebenen Wert. Er muss größer oder gleich 1,2 sein.
Als Nächstes bestimmt Visual Studio, ob die bestimmte neue Funktion unterstützt wird, indem das lpSccCaps
Argument für die SccInitialize untersucht wird.
Wenn beide Bedingungen erfüllt sind, können die in den Versionen 1.2 und 1.3 unterstützten neuen Funktionen aufgerufen werden.