Sdílet prostřednictvím


Vlastní uživatelské rozhraní (VSPackage pro správu verzí)

Balíček VSPackage deklaruje položky nabídky a jejich výchozí stavy prostřednictvím souboru příkazové tabulky sady Visual Studio (.vsct). Integrované vývojové prostředí (IDE) sady Visual Studio zobrazí položky nabídky ve výchozím stavu, dokud se nenačte balíček VSPackage. QueryStatus Následně se volá metoda pro povolení nebo zakázání položek nabídky.

Balíček VSPackage může nastavit klíč registru, aby bylo možné balíček VSPackage automaticky načíst v závislosti na kontextu uživatelského rozhraní příkazu, i když by se obvykle měl balíček VSPackage na vyžádání načíst místo pouhého přepnutí na konkrétní kontext uživatelského rozhraní. Další informace o klíči registru AutoLoadPackages naleznete v tématu Správa balíčků VSPackages.

Uživatelské rozhraní balíčku VSPackage

Balíček správy zdrojového kódu se implementuje jako balíček VSPackage a nepoužívá žádné uživatelské rozhraní ze sady Visual Studio. Každý balíček VSPackage správy zdrojového kódu musí určovat vlastní prvky uživatelského rozhraní, jako jsou položky nabídky, skupiny nabídek, okna nástrojů, panely nástrojů a veškeré požadované uživatelské rozhraní pro nastavení možností specifických pro balíček VSPackage správy zdrojového kódu. Tyto prvky uživatelského rozhraní je možné povolit staticky nebo dynamicky. Statické prvky uživatelského rozhraní jsou definovány v souboru .vsct a zobrazují se, zda je balíček VSPackage načten nebo ne. Dynamické prvky uživatelského rozhraní můžou být viditelné v závislosti na konkrétním kontextu uživatelského rozhraní příkazu, například vsContextNoSolution, nebo v důsledku volání QueryStatus metody. Viditelnost dynamických prvků uživatelského rozhraní odpovídá strategii opožděného načítání balíčků VSPackage.

Omezení uživatelského rozhraní pro balíčky VSPackage správy zdrojového kódu

Vzhledem k tomu, že balíček VSPackage správy zdrojového kódu nelze po načtení odebrat z integrovaného vývojového prostředí (IDE), musí být VSPackage schopný přejít do neaktivního stavu. Když balíček VSPackage obdrží oznámení, že už není aktivní, balíček VSPackage zakáže jeho uživatelské rozhraní a ignoruje všechny externí interakce integrovaného vývojového prostředí. Implementace VSPackage QueryStatus metody by měla skrýt příkazy, pokud VSPackage není aktivní.

Každý modul správy zdrojového kódu VSPackage musí implementovat rozhraní IVsSccProvider. Dvě metody v rozhraní SetActive a SetInactivemusí být implementovány VSPackage.

Balíček VSPackage pro správu zdrojového kódu může být přihlášen k odběru různých událostí integrovaného vývojového prostředí (IDE), které jsou implementovány pomocí IVsSolutionEvents3, IVsTrackProjectDocumentsEvents2 a podobně. Balíček VSPackage rovněž mohl implementovat rozhraní pro zpětné volání s podporou registru, například IVsSolutionPersistence. Tato rozhraní musí být při nečinnosti ignorována.

Následující seznam ukazuje rozhraní ovlivněná aktivním stavem balíčku VSPackage správy zdrojového kódu:

  • Sledování událostí dokumentů projektu

  • Události řešení

  • Rozhraní trvalosti řešení Pokud jsou neaktivní, balíčky by neměly zapisovat do souborů .sln a .suo .

  • Rozšiřovače vlastností.

    Požadovaná IVsQueryEditQuerySave2 a IVsSccManager2, a také všechna volitelná rozhraní přidružená ke správě zdrojového kódu, nejsou volána, pokud je balíček VSPackage správy zdrojového kódu neaktivní.

    Při spuštění integrovaného vývojového prostředí sady Visual Studio nastaví Visual Studio kontext uživatelského rozhraní příkazu na ID aktuálního výchozího ID VSPackage správy zdrojového kódu. To způsobí, že se statické uživatelské rozhraní VSPackage aktivního balíčku pro správu zdrojového kódu zobrazí v integrovaném vývojovém prostředí, aniž by se balíček VSPackage skutečně načetl. Visual Studio pozastaví činnost, aby se balíček VSPackage zaregistroval v sadě Visual Studio prostřednictvím IVsRegisterScciProvider, před tím, než provede jakákoliv volání na balíček VSPackage.

    Následující tabulka popisuje konkrétní podrobnosti o tom, jak integrované vývojové prostředí sady Visual Studio skryje různé položky uživatelského rozhraní.

Položka uživatelského rozhraní Description
Nabídky a panely nástrojů Balíček správy zdrojového kódu musí nastavit počáteční nabídku a stav viditelnosti panelu nástrojů na ID balíčku správy zdrojového kódu v části VisibilityConstraints souboru .vsct . To umožňuje integrovanému vývojovému prostředí Visual Studio správně nastavit stav položek nabídky bez načtení balíčku VSPackage a volání implementace metody QueryStatus.
Okna nástrojů Balíček VSPackage správy zdrojového kódu skryje všechna okna nástrojů, která vlastní, když je neaktivní.
Stránky možností specifické pro správu zdrojového kódu VSPackage Klíč registru HKLM\SOFTWARE\Microsoft\VisualStudio\X.Y\ToolsOptionsPages\VisibilityCmdUIContexts umožňuje VSPackage nastavit kontexty, ve kterých vyžaduje zobrazení stránek možností. Položka registru pod tímto klíčem by se musela vytvořit pomocí ID služby (SID) zdrojové řídicí služby a přiřadit jí hodnotu DWORD 1. Pokaždé, když dojde k události uživatelského rozhraní v kontextu, ve které je balíček VSPackage správy zdrojového kódu zaregistrovaný, zavolá se balíček VSPackage, pokud je aktivní.