다음을 통해 공유


소스 제어 VSPackage 아키텍처

소스 제어 패키지를 사용 하 여 VSPackage 서비스가 되는 Visual Studio IDE를 제공 합니다. 소스 제어 패키지는 소스 제어 서비스 기능을 제공 합니다. 또한 소스 제어 패키지는 소스 제어에 통합 하는 플러그 인 보다는 더 다재 다능 한 대체 됩니다 Visual Studio.

엄격한 계약에는 소스 제어 플러그 인 API를 구현 하는 플러그 인을 abides. 예를 들어, 플러그인의 기본 대체할 수 없습니다 Visual Studio 사용자 인터페이스 (UI)입니다. 또한, 소스 제어 플러그 인 API 자체 소스 제어 모델을 구현 하는 플러그 인 사용 하지 않습니다. 그러나 소스 제어 패키지를 이러한 한계를 모두 극복. 소스 제어 패키지는 소스 제어 경험을 통해 완벽 한 제어 되어 있는 Visual Studio 사용자입니다. 또한 소스 제어 패키지는 자체 소스 제어 모델 및 논리를 사용할 수 있습니다 및 모든 소스 제어와 관련 된 사용자 인터페이스를 정의할 수 있습니다.

소스 제어 패키지 구성 요소

아키텍처 다이어그램에 표시 된 대로 Visual Studio 라는 소스 제어 스텁 구성 요소는 소스 제어 패키지에 통합 되어 있는 VSPackage Visual Studio.

소스 제어 스텁 다음과 같은 작업을 처리합니다.

  • 소스 제어 패키지 등록에 필요한 공통 UI를 제공 합니다.

  • 소스 제어 패키지를 로드합니다.

  • 소스 제어 패키지를 활성/비활성으로 설정합니다.

소스 제어 스텁 활성 서비스 소스 제어 패키지를 찾아 들어오는 모든 서비스 호출 IDE에서 해당 패키지를 라우팅합니다.

특별 한 소스 제어 패키지는 소스 제어 어댑터 패키지는 Visual Studio 를 제공 합니다. 이 패키지에 소스 제어 플러그 인 API에 따라 소스 제어 플러그 인을 지원의 핵심 구성 요소입니다. 플러그 인 플러그 인 활성화 되 면 소스 제어 스텁 해당 이벤트 소스 컨트롤 어댑터 패키지를 보냅니다. 결과적으로 어댑터 소스 제어 패키지 소스 제어 플러그 인에서 소스 제어 플러그 인 API를 사용 하 여 통신 및 또한 기본은 모든 소스 제어 플러그 인에 대 한 공통 UI를 제공 합니다.

현재 패키지는 소스 제어 패키지는 때 반면, 소스 제어 스텁 직접 패키지를 사용 하 여 통신의 Visual Studio SDK 소스 제어 패키지를 인터페이스입니다. 소스 제어 패키지를 호스팅 자체 소스 제어 UI에 대 한 책임이 있습니다.

소스 컨트롤 아키텍처 그래픽

소스 제어 패키지, Visual Studio 소스 제어 코드 또는 통합을 위한 API를 제공 하지 않습니다. 이에 설명 된 방법을 사용 대비 소스 제어 플러그 인을 만들기 소스 제어 플러그 인 있는 강성 세트 하 고 콜백 함수를 구현 합니다.

모든 Vspackage와 같은 소스 제어 패키지는 COM 개체를 사용 하 여 만들 수 있습니다입니다 CoCreateInstance. 있는 Vspackage은 사용할 수 있습니다의 Visual Studio 을 구현 하 여 IDE IVsPackage. 인스턴스를 만들 때 사이트 포인터는 Vspackage를 수신 하는 IServiceProvider VSPackage 액세스는 사용할 수 있는 서비스와 ide에서 인터페이스를 제공 하는 인터페이스입니다.

소스 제어 플러그 인 API 기반 쓰기 보다 고급 프로그래밍 전문 지식이 필요 VSPackage 기반 소스 제어 패키지를 작성 플러그 인입니다.

참고 항목

참조

IVsPackage

기타 리소스

소스 제어 Vspackages에 시작 하기