Udostępnij za pośrednictwem


Omówienie integracji kontroli kodu źródłowego

W tej sekcji porównaliśmy dwa sposoby integracji z kontrolą źródła programu Visual Studio; wtyczka kontroli źródła i pakiet VSPackage, który udostępnia rozwiązanie kontroli źródła i wyróżnia nowe funkcje kontroli źródła. Program Visual Studio umożliwia ręczne przełączanie między pakietami VSPackage kontroli źródła i wtyczkami kontroli źródła, a także automatycznym przełączaniem opartym na rozwiązaniu.

Integracja kontroli źródła

Program Visual Studio obsługuje dwa typy opcji integracji kontroli źródła. We wszystkich wersjach programu Visual Studio nadal można zintegrować wtyczkę opartą na interfejsie API wtyczki kontroli kodu źródłowego (wcześniej nazywanego również interfejsem API MSSCCI), który zapewnia podstawowe funkcje kontroli źródła podczas korzystania z interfejsu użytkownika kontroli źródła programu Visual Studio. Z drugiej strony pakiet VSPackage kontroli źródła udostępnia nową ścieżkę zestawu SDK programu Visual Studio umożliwiającą głęboką integrację zestawu SDK programu Visual Studio, która wymaga wysokiego poziomu wyrafinowania i autonomii w modelu kontroli źródła.

Source Control Overview

Wtyczka kontroli źródła

Wszystkie wersje programu Visual Studio obsługują specyfikację interfejsu API wtyczki kontroli źródła w wersji 1.2 jako ścieżkę integracji. Wtyczka kontroli źródła implementator zapisuje bibliotekę DLL, która implementuje funkcje interfejsu API wtyczki kontroli źródła na potrzeby integracji i rejestracji kontroli źródła zgodnie z opisem w temacie Tworzenie wtyczki kontroli źródła. W tym podejściu zintegrowane środowisko projektowe (IDE) używa interfejsu użytkownika programu Visual Studio dla okien dialogowych, takich jak ewidencjonowanie, wyewidencjonowanie, strony właściwości narzędzi/opcji, paski narzędzi i glyphs kontroli źródła. Ścisłe przestrzeganie interfejsu API wtyczki kontroli kodu źródłowego umożliwia łatwą integrację z programem Visual Studio i bezproblemowe środowisko użytkownika. Oznacza to, że wtyczka kontroli źródła musi implementować większość funkcji i wywołań zwrotnych opisanych w interfejsie API.

Aby zaimplementować wtyczkę kontroli źródła przy użyciu interfejsu API wtyczki kontroli źródła, wykonaj następujące kroki:

  1. Utwórz bibliotekę DLL, która implementuje funkcje określone w wtyczki kontroli źródła.

  2. Zarejestruj bibliotekę DLL, tworząc odpowiednie wpisy rejestru (opisane w temacie Instrukcje: instalowanie wtyczki kontroli kodu źródłowego).

  3. Utwórz interfejs użytkownika pomocnika i wyświetl go po wyświetleniu monitu przez pakiet adaptera kontroli źródła (składnik programu Visual Studio, który obsługuje funkcje kontroli źródła za pośrednictwem wtyczek kontroli źródła)

    W odpowiedzi na polecenie kontroli źródła środowisko IDE programu Visual Studio przedstawia standardowy interfejs użytkownika dla podstawowych operacji, a następnie przekazuje informacje do wtyczki kontroli źródła za pośrednictwem funkcji zdefiniowanych w interfejsie API wtyczki kontroli źródła. W przypadku opcji zaawansowanych wtyczka kontroli źródła może zostać wywołana w celu przedstawienia własnego interfejsu użytkownika, na przykład przeglądania projektu kontrolowanego przez źródło. Oznacza to, że użytkownik może być wyświetlany z dwoma prawdopodobnie różnymi stylami interfejsu użytkownika podczas pracy z kontrolą źródła: interfejs użytkownika prezentowany przez program Visual Studio i interfejs użytkownika, który przedstawia wtyczka kontroli źródła. Jest to najbardziej zauważalne w przypadku zaawansowanych operacji kontroli źródła.

Wady implementacji wtyczki kontroli kodu źródłowego

  • W przypadku zaawansowanych funkcji użytkownik może zobaczyć dwa różne style interfejsów, co prowadzi do możliwych nieporozumień.

  • Wtyczka kontroli źródła jest ograniczona do modelu kontroli źródła dorozumianego przez interfejs API wtyczki kontroli źródła.

  • Interfejs API wtyczki kontroli źródła może być zbyt restrykcyjny w przypadku niektórych scenariuszy kontroli źródła.

Zalety implementacji wtyczki kontroli kodu źródłowego

  • Program Visual Studio dostarcza cały interfejs użytkownika dla wszystkich podstawowych operacji kontroli źródła, dzięki czemu wtyczka kontroli źródła nie musi implementować potencjalnie złożonego interfejsu użytkownika.

  • Ze względu na rygorystyczny interfejs API wtyczka kontroli źródła może łatwo korzystać z zewnętrznych programów kontroli źródła w celu zapewnienia bardziej rozbudowanych funkcji; Program Visual Studio nie dba o to, jak działa funkcja kontroli źródła, tylko to, że jest realizowane zgodnie z interfejsem API wtyczki kontroli kodu źródłowego.

  • Łatwiej jest zaimplementować wtyczkę kontroli źródła niż pakiet VSPackage kontroli źródła.

Pakiet VSPackage kontroli kodu źródłowego

Zestaw Visual Studio SDK umożliwia głęboką integrację z programem Visual Studio z pełną kontrolą funkcji kontroli źródła i kompletnym zastąpieniem interfejsu użytkownika kontroli źródła dostarczonej przez program Visual Studio. Pakiet VSPackage kontroli źródła jest zarejestrowany w programie Visual Studio i zapewnia funkcje kontroli źródła. Mimo że w programie Visual Studio można zarejestrować kilka pakietów VSPackage kontroli źródła, tylko jeden z nich może być aktywny w dowolnym momencie. Pakiet VSPackage kontroli źródła ma pełną kontrolę nad funkcjami kontroli źródła i wyglądem w programie Visual Studio, gdy jest aktywny. Wszystkie inne pakiety VSPackage kontroli źródła, które mogą być zarejestrowane w systemie, są nieaktywne i w ogóle nie będą wyświetlać żadnego interfejsu użytkownika.

Implementacja pakietu VSPackage kontroli źródła wymaga strategii "wszystkiego lub nic". Twórca pakietu VSPackage kontroli źródła musi zainwestować znaczną ilość wysiłku w zaimplementowanie wielu interfejsów kontroli źródła i nowych elementów interfejsu użytkownika (okien dialogowych, menu i pasków narzędzi) w celu pokrycia całej funkcjonalności kontroli źródła. Aby uzyskać więcej informacji, zobacz Tworzenie pakietu VSPackage kontroli kodu źródłowego.

Wady implementowania pakietu VSPackage kontroli kodu źródłowego

  • Pakiet VSPackage musi zaimplementować szereg złożonych interfejsów w celu pomyślnego zintegrowania z programem Visual Studio.

  • Pakiet VSPackage musi podać cały interfejs użytkownika wymagany do kontroli źródła; Program Visual Studio nie zapewni żadnej pomocy w tym obszarze.

  • Pakiet VSPackage kontroli źródła jest ściśle powiązany z programem Visual Studio i nie może działać z programami autonomicznymi, więc funkcjonalność nie może być tak łatwo udostępniona zewnętrznej wersji programu kontroli źródła.

Zalety implementacji pakietu VSPackage kontroli kodu źródłowego

  • Ponieważ pakiet VSPackage ma pełną kontrolę nad interfejsem użytkownika i funkcjonalnością kontroli źródła, użytkownik jest wyświetlany z bezproblemowym interfejsem kontroli źródła.

  • Pakiet VSPackage nie jest ograniczony do określonego modelu kontroli źródła.