Sdílet prostřednictvím


Instalace modulu plug-in správy zdrojového kódu

Vytvoření modulu plug-in správy zdrojového kódu zahrnuje tři kroky:

  1. Vytvořte knihovnu DLL s funkcemi definovanými v referenční části rozhraní API modulu plug-in správy zdrojového kódu v této dokumentaci.

  2. Implementujte funkce definované rozhraním API modulu plug-in správy zdrojového kódu. Když ho Visual Studio volá, zpřístupnit rozhraní a dialogová okna z modulu plug-in.

  3. Zaregistrujte knihovnu DLL provedením odpovídajících položek registru.

Integrace se sadou Visual Studio

Visual Studio podporuje moduly plug-in správy zdrojového kódu, které odpovídají rozhraní API modulu plug-in správy zdrojového kódu.

Registrace modulu plug-in správy zdrojového kódu

Před spuštěním integrovaného vývojového prostředí (IDE) může volat do systému správy zdrojového kódu, musí nejprve najít knihovnu DLL modulu plug-in správy zdrojového kódu, která exportuje rozhraní API.

Registrace knihovny DLL modulu plug-in správy zdrojového kódu

  1. Do podklíče SOFTWARE přidejte dvě položky pod klíč HKEY_LOCAL_MACHINE, za kterým následuje podklíč názvu vaší společnosti. Vzor je HKEY_LOCAL_MACHINE\SOFTWARE\<název_společnosti\<název>>_produktu\<hodnota položky> = . Tyto dvě položky se vždy nazývají SCCServerName a SCCServerPath. Každý z nich je běžný řetězec.

    Pokud je například název vaší společnosti Microsoft a váš produkt správy zdrojového kódu má název Source Sejf, bude tato cesta registru HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Source Sejf. V tomto podklíči je první položka SCCServerName uživatelsky čitelný řetězec, který pojme váš produkt. Druhá položka SCCServerPath je úplná cesta k knihovně DLL modulu plug-in správy zdrojového kódu, ke které se má integrované vývojové prostředí připojit. Následující informace poskytují ukázkové položky registru:

    Ukázková položka registru Ukázková hodnota
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Source Sejf\SCCServerName Microsoft Visual Source Sejf
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Source Sejf\SCCServerPath c:\vss\win32\ssscc.dll

    Poznámka:

    SCCServerPath je úplná cesta k modulu plug-in Source Sejf. Modul plug-in pro správu zdrojového kódu bude používat různé názvy společností a produktů, ale stejné cesty pro položky registru.

  2. Následující volitelné položky registru lze použít ke změně chování modulu plug-in správy zdrojového kódu. Tyto položky jsou ve stejném podklíči jako SccServerName a SccServerPath.

    • Položku HideInVisualStudioregistry můžete použít, pokud nechcete, aby se modul plug-in správy zdrojového kódu zobrazoval v seznamu výběru modulu plug-in sady Visual Studio. Tato položka bude mít vliv také na automatické přepínání na modul plug-in správy zdrojového kódu. Jedním z možných použití pro tuto položku je, když zadáte balíček správy zdrojového kódu, který nahradí modul plug-in správy zdrojového kódu, ale chcete uživatelům usnadnit migraci z použití modulu plug-in správy zdrojového kódu do balíčku správy zdrojového kódu. Po instalaci balíčku správy zdrojového kódu nastaví tuto položku registru, která modul plug-in skryje.

      HideInVisualStudio je hodnota DWORD a je nastavená na 1 , aby modul plug-in skryl nebo 0 , aby se zobrazil modul plug-in. Pokud se položka registru nezobrazí, výchozím chováním je zobrazení modulu plug-in.

    • Položku registru DisableSccManager lze použít k zakázání nebo skrytí možnosti nabídky Spustit <server správy> zdrojového kódu, která se obvykle zobrazuje v podnabídce Správa zdrojového kódu souboru>. Výběr této možnosti nabídky volá funkci SccRunScc . Modul plug-in správy zdrojového kódu nemusí podporovat externí program, a proto můžete chtít zakázat nebo dokonce skrýt možnost nabídky Spustit .

      DisableSccManager je hodnota DWORD a je nastavena na hodnotu 0, pokud chcete povolit možnost nabídky Spustit <server správy> zdrojového kódu, nastavit na hodnotu 1 a zakázat možnost nabídky a nastavit na 2 pro skrytí možnosti nabídky. Pokud se tato položka registru nezobrazí, výchozím chováním je zobrazit možnost nabídky.

    Ukázková položka registru Ukázková hodnota
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Source Sejf\HideInVisualStudio 0
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Source Sejf\DisableSccManager 0
  3. Podklíč SourceCodeControlProvider přidejte pod klíč HKEY_LOCAL_MACHINE v podklíči SOFTWARE .

    Pod tímto podklíčem je položka registru ProviderRegKey nastavena na řetězec, který představuje podklíč , který jste umístili do registru v kroku 1. Vzor je HKEY_LOCAL_MACHINE\SOFTWARE\SourceCodeControlProvider\ProviderRegKey = SOFTWARE\<název>_společnosti\<název> produktu.

    Následuje ukázkový obsah pro tento podklíč.

    Položka registru Ukázková hodnota
    HKEY_LOCAL_MACHINE\SOFTWARE\SourceCodeControlProvider\ProviderRegKey SOFTWARE\Microsoft\Source Sejf

    Poznámka:

    Modul plug-in správy zdrojového kódu bude používat stejný podklíč a názvy položek, ale hodnota se bude lišit.

  4. Vytvořte podklíč s názvem InstalledSCCProviders podklíčem SourceCodeControlProvider a podklíč umístěte jednu položku.

    Název této položky je uživatelsky čitelný název zprostředkovatele (stejný jako hodnota zadaná pro položku SCCServerName) a hodnota je opět podklíč vytvořený v kroku 1. Vzor je HKEY_LOCAL_MACHINE\SOFTWARE\SourceCodeControlProvider\InstalledSCCProviders\<display name> = SOFTWARE\<company name>\<product name.>

    Příklad:

    Ukázková položka registru Ukázková hodnota
    HKEY_LOCAL_MACHINE\SOFTWARE\SourceCodeControlProvider\InstalledSCCProviders\Microsoft Visual Source Sejf SOFTWARE\Microsoft\Source Sejf

    Poznámka:

    Tímto způsobem je možné zaregistrovat více modulů plug-in správy zdrojového kódu. Takto Visual Studio najde všechny nainstalované moduly plug-in modulu plug-in správy zdrojového kódu založené na rozhraní API.

Jak integrované vývojové prostředí vyhledá knihovnu DLL

Integrované vývojové prostředí sady Visual Studio má dva způsoby vyhledání knihovny DLL modulu plug-in správy zdrojového kódu:

  • Vyhledejte výchozí modul plug-in správy zdrojového kódu a připojte se k němu bezobslužně.

  • Vyhledejte všechny zaregistrované moduly plug-in správy zdrojového kódu, ze kterých si uživatel vybere jeden.

    Chcete-li knihovnu DLL vyhledat prvním způsobem, integrované vývojové prostředí (IDE) hledá pod podklíčem HKEY_LOCAL_MACHINE\Software\SourceCodeControlProvider pro položku ProviderRegKey. Hodnota této položky odkazuje na jiný podklíč. Integrované vývojové prostředí pak vyhledá položku s názvem SccServerPath v druhém podklíči v HKEY_LOCAL_MACHINE. Hodnota této položky odkazuje integrované vývojové prostředí (IDE) na knihovnu DLL.

Poznámka:

Integrované vývojové prostředí nenačítá knihovny DLL z relativních cest (například .\NewProvider.DLL). Musí být zadána úplná cesta k knihovně DLL (například c:\Providers\NewProvider.DLL). Tím se posiluje zabezpečení integrovaného vývojového prostředí tím, že brání načítání neautorizovaných nebo zosobněných knihoven DLL modulů plug-in.

Chcete-li knihovnu DLL najít druhým způsobem, integrované vývojové prostředí hledá pod podklíčem HKEY_LOCAL_MACHINE\Software\SourceCodeControlProvider\InstalledSCCProviders pro všechny položky. Každá položka má název a hodnotu. Integrované vývojové prostředí (IDE) zobrazí uživateli seznam těchto jmen. Když uživatel zvolí název, integrované vývojové prostředí vyhledá hodnotu vybraného názvu, který odkazuje na podklíč. Integrované vývojové prostředí vyhledá položku s názvem SccServerPath v podklíči v HKEY_LOCAL_MACHINE. Hodnota této položky odkazuje integrované vývojové prostředí (IDE) na správnou knihovnu DLL.

Modul plug-in správy zdrojového kódu musí podporovat oba způsoby vyhledání knihovny DLL a v důsledku toho nastaví ProviderRegKey a přepíše jakékoli předchozí nastavení. Důležitější je, že se musí přidat do seznamu InstalledSccProviders , aby uživatel mohl mít možnost zvolit, který modul plug-in správy zdrojového kódu použít.

Poznámka:

Vzhledem k tomu, že se používá klíč HKEY_LOCAL_MACHINE, lze na daném počítači zaregistrovat jako výchozí modul plug-in správy zdrojového kódu pouze jeden modul plug-in správy zdrojového kódu (Visual Studio ale umožňuje uživatelům určit, který modul plug-in správy zdrojového kódu chce skutečně použít pro konkrétní řešení). Během procesu instalace zkontrolujte, jestli už je nastavený modul plug-in správy zdrojového kódu. Pokud ano, zeptejte se uživatele, zda má být nový modul plug-in správy zdrojového kódu nainstalován jako výchozí. Během odinstalace neodebívejte jiné podklíče registru, které jsou společné pro všechny moduly plug-in správy zdrojového kódu v HKEY_LOCAL_MACHINE\SOFTWARE\SourceCodeControlProvider; odeberte pouze váš konkrétní podklíč SCC.

Zjištění podpory integrovaného vývojového prostředí (IDE) verze 1.2/1.3

Jak Visual Studio zjistí, jestli modul plug-in podporuje rozhraní API modulu plug-in správy zdrojového kódu verze 1.2 a 1.3? Aby bylo deklarováno pokročilé možnosti, musí modul plug-in správy zdrojového kódu implementovat odpovídající funkci:

Nejprve Visual Studio zkontroluje hodnotu vrácenou voláním SccGetVersion. Musí být větší nebo rovna 1,2.

Dále Sada Visual Studio určí, zda je konkrétní nová funkce podporována prozkoumáním lpSccCaps argumentu sccInitialize.

Pokud jsou splněny obě tyto podmínky, je možné volat nové funkce podporované ve verzích 1.2 a 1.3.