Udostępnij za pośrednictwem


Rejestracja i wybór (pakiet VSPackage kontroli kodu źródłowego)

Aby uwidocznić pakiet VSPackage kontroli źródła, należy go zarejestrować w programie Visual Studio. Jeśli zarejestrowano więcej niż jeden pakiet VSPackage kontroli źródła, użytkownik może wybrać pakiet VSPackage do załadowania w odpowiednim czasie. Zobacz Pakiety VSPackage, aby uzyskać więcej informacji na temat pakietów VSPackage i sposobu ich rejestrowania.

Rejestrowanie pakietu kontroli źródła

Pakiet kontroli źródła jest zarejestrowany, aby środowisko programu Visual Studio było w stanie go znaleźć i wykonać zapytanie dotyczące obsługiwanych funkcji. Jest to zgodne ze schematem ładowania opóźnień, w którym wystąpienie pakietu jest tworzone tylko wtedy, gdy jego funkcje lub polecenia są wymagane lub są wymagane jawnie.

Pakiety VSPackage umieszczają informacje w kluczu rejestru specyficznym dla wersji, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\X.Y, gdzie X jest numerem wersji głównej, a Y jest numerem wersji pomocniczej. Ta praktyka umożliwia obsługę równoległej instalacji wielu wersji programu Visual Studio.

Interfejs użytkownika programu Visual Studio obsługuje wybór spośród wielu zainstalowanych wtyczek kontroli źródła (za pośrednictwem pakietu adaptera kontroli źródła), a także pakietów VSPackage kontroli źródła. Jednocześnie może istnieć tylko jedna aktywna wtyczka kontroli źródła lub pakiet VSPackage. Jednak zgodnie z poniższym opisem środowisko IDE umożliwia przełączanie między wtyczkami kontroli źródła i pakietami VSPackage za pomocą automatycznego mechanizmu wymiany pakietów opartego na rozwiązaniu. W ramach pakietu VSPackage kontroli źródła istnieją pewne wymagania umożliwiające włączenie tego mechanizmu wyboru.

Wpisy rejestru

Pakiet kontroli źródła wymaga trzech prywatnych identyfikatorów GUID:

  • Identyfikator GUID pakietu: jest to główny identyfikator GUID pakietu, który zawiera implementację kontroli źródła (o nazwie ID_Package w tej sekcji).

  • Identyfikator GUID kontroli kodu źródłowego: jest to identyfikator GUID dla pakietu VSPackage kontroli źródła używanej do rejestrowania w wycinku kontroli źródła programu Visual Studio i jest również używany jako identyfikator GUID kontekstu interfejsu użytkownika polecenia. Identyfikator GUID usługi kontroli źródła jest zarejestrowany w ramach identyfikatora GUID kontroli źródła. W tym przykładzie identyfikator GUID kontroli źródła jest nazywany ID_SccProvider.

  • Identyfikator GUID usługi kontroli źródła: jest to prywatny identyfikator GUID usługi używany przez program Visual Studio (nazywany SID_SccPkgService w tej sekcji). Oprócz tego pakiet kontroli źródła musi definiować inne identyfikatory GUID dla pakietów VSPackage, okien narzędzi itd.

    Następujące wpisy rejestru muszą być dokonywane przez pakiet VSPackage kontroli źródła:

Nazwa klucza Wpisy
HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ VisualStudio\ X.Y\ SourceControlProviders\ (ustawienie domyślne) = rg_sz:{ID_SccProvider}
HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ VisualStudio\ X.Y\ SourceControlProviders\ {ID_SccProvider}\ (ustawienie domyślne) = rg_sz:<Przyjazna nazwa pakietu>

Service = rg_sz:{SID_SccPkgService}
HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ VisualStudio\ X.Y\ SourceControlProviders\ {ID_SccProvider}\ Name\ (ustawienie domyślne) = rg_sz:#<Identyfikator zasobu dla zlokalizowanej nazwy>

Pakiet = rg_sz:{ID_Package}
HKEY_LOCAL_MACHINE\ SOFTWARE\ Microsoft\ VisualStudio\ X.Y\ SolutionPersistence\ <PackageName>\

(Pamiętaj, że nazwa klucza, SourceCodeControl, jest już używana przez program Visual Studio i nie jest dostępna jako wybór dla <PackageName>).
(ustawienie domyślne) = rg_sz:{ID_Package}

Wybieranie pakietu kontroli źródła

Kilka wtyczek opartych na wtyczki interfejsu API kontroli źródła i pakietów VSPackage kontroli źródła może być jednocześnie zarejestrowanych. Proces wybierania wtyczki kontroli źródła lub pakietu VSPackage musi zapewnić, że program Visual Studio ładuje wtyczkę lub pakiet VSPackage w odpowiednim czasie i może odroczyć ładowanie niepotrzebnych składników, dopóki nie będą wymagane. Ponadto program Visual Studio musi usunąć cały interfejs użytkownika z innych nieaktywnych pakietów VSPackage, w tym elementów menu, okien dialogowych i pasków narzędzi oraz wyświetlić interfejs użytkownika dla aktywnego pakietu VSPackage.

Program Visual Studio ładuje pakiet VSPackage kontroli źródła po wykonaniu jednej z następujących operacji:

  • Rozwiązanie jest otwierane (gdy rozwiązanie jest pod kontrolą źródła).

    Po otwarciu rozwiązania lub projektu pod kontrolą źródła środowisko IDE powoduje załadowanie pakietu VSPackage kontroli źródła, która została wyznaczona do załadowania tego rozwiązania.

  • Wszystkie polecenia menu kontroli źródła vsPackage są wykonywane.

    Pakiet VSPackage kontroli źródła powinien załadować wszystkie składniki, których potrzebuje tylko wtedy, gdy zostaną one rzeczywiście użyte (inaczej znane jako opóźnione ładowanie).

Automatyczne zamienianie pakietów VSPackage oparte na rozwiązaniu

Pakiety VSPackage kontroli źródła można zamienić ręcznie za pomocą okna dialogowego Opcje programu Visual Studio w kategorii Kontrola źródła. Automatyczne zamienianie pakietów opartych na rozwiązaniu oznacza, że pakiet kontroli źródła, który został wyznaczony dla określonego rozwiązania, jest automatycznie ustawiany na aktywny po otwarciu tego rozwiązania. Każdy pakiet kontroli źródła powinien implementować SetActive i SetInactive. Program Visual Studio obsługuje przełącznik między wtyczkami kontroli źródła (implementowanie interfejsu API wtyczki kontroli kodu źródłowego) i pakietami VSPackage kontroli źródła.

Pakiet adaptera kontroli źródła służy do przełączania się do dowolnej wtyczki opartej na interfejsie API kontroli źródła. Proces przełączania do pośredniego pakietu adaptera kontroli źródła i określania, która wtyczka kontroli źródła musi być ustawiona na aktywne lub nieaktywne, jest niewidoczna dla użytkownika. Pakiet adaptera jest zawsze aktywny, gdy jakakolwiek wtyczka kontroli źródła jest aktywna. Przełączanie między dwiema wtyczkami kontroli źródła to po prostu ładowanie i zwalnianie wtyczki DLL. Przełączenie do pakietu VSPackage kontroli źródła obejmuje jednak interakcję ze środowiskiem IDE w celu załadowania odpowiedniego pakietu VSPackage.

Pakiet VSPackage kontroli źródła jest wywoływany po otwarciu dowolnego rozwiązania, a klucz rejestru dla pakietu VSPackage znajduje się w pliku rozwiązania. Po otwarciu rozwiązania program Visual Studio znajdzie wartość rejestru i załaduje odpowiedni pakiet VSPackage kontroli źródła. Wszystkie pakiety VSPackage kontroli źródła muszą mieć wpisy rejestru opisane powyżej. Rozwiązanie, które jest pod kontrolą źródła, jest oznaczone jako skojarzone z konkretnym pakietem VSPackage kontroli źródła. Pakiet VSPackage kontroli źródła musi zaimplementować element , IVsSolutionPersistence aby umożliwić automatyczne zamiany pakietów VSPackage oparte na rozwiązaniu.

Interfejs użytkownika programu Visual Studio dla wyboru i przełączania pakietów

Program Visual Studio udostępnia interfejs użytkownika do wyboru pakietu VSPackage kontroli źródła i wtyczki w oknie dialogowym Opcje w kategorii Kontrola źródła. Umożliwia użytkownikowi wybranie wtyczki aktywnej kontroli źródła lub pakietu VSPackage. Lista rozwijana zawiera następujące elementy:

  • Wszystkie zainstalowane pakiety kontroli źródła

  • Wszystkie zainstalowane wtyczki kontroli źródła

  • Opcja "none", która wyłącza kontrolę kodu źródłowego

    Widoczny jest tylko interfejs użytkownika dla wyboru aktywnej kontroli źródła. Zaznaczenie pakietu VSPackage powoduje ukrycie interfejsu użytkownika poprzedniego pakietu VSPackage i wyświetlenie interfejsu użytkownika dla nowego pakietu. Aktywny pakiet VSPackage jest wybierany dla poszczególnych użytkowników. Jeśli użytkownik ma wiele kopii programu Visual Studio otwieranych jednocześnie, każdy z nich może potencjalnie używać innego aktywnego pakietu VSPackage. Jeśli wielu użytkowników jest zalogowanych na tym samym komputerze, każdy użytkownik może mieć otwarte oddzielne wystąpienia programu Visual Studio, z których każdy ma inny aktywny pakiet VSPackage. Gdy użytkownik zamknie wiele wystąpień programu Visual Studio, pakiet VSPackage kontroli źródła, który był aktywny dla ostatniego otwartego rozwiązania, staje się domyślnym pakietem VSPackage kontroli źródła, który ma być aktywny po ponownym uruchomieniu.

    W przeciwieństwie do poprzednich wersji programu Visual Studio ponowne uruchomienie środowiska IDE nie jest już jedynym sposobem przełączania pakietów VSPackage kontroli źródła. Wybór pakietu VSPackage jest automatyczny. Przełączanie pakietów wymaga uprawnień użytkownika systemu Windows (nie Administracja istrator lub power user).