다음을 통해 공유


소스 제어 플러그 인 아키텍처

소스 제어 플러그 인을 구현 및 연결하여 Visual Studio IDE(통합 개발 환경)에 소스 제어 지원을 추가할 수 있습니다. IDE는 잘 정의된 소스 제어 플러그 인 API를 통해 소스 제어 플러그 인에 연결합니다. IDE는 도구 모음과 메뉴 명령으로 구성된 UI(사용자 인터페이스)를 제공하여 소스 제어 시스템의 버전 제어 기능을 표시합니다. 소스 제어 플러그 인은 소스 제어 기능을 구현합니다.

소스 제어 플러그 인 리소스

소스 제어 플러그 인은 버전 관리 애플리케이션을 만들고 Visual Studio IDE에 연결하는 데 도움이 되는 리소스를 제공합니다. 소스 제어 플러그 인에는 Visual Studio IDE에 통합될 수 있도록 소스 제어 플러그 인에 의해 구현되어야 하는 API 사양이 포함되어 있습니다. 또한 소스 제어 플러그 인 API와 호환되는 필수 함수의 구현을 보여주는 기본 소스 제어 플러그 인을 구현하는 코드 샘플(C++로 작성됨)이 포함되어 있습니다.

소스 제어 플러그 인 API 사양을 사용하면 소스 제어 플러그 인 API에 따라 구현된 필수 함수 집합으로 소스 제어 DLL을 만드는 경우 선택한 소스 제어 시스템을 활용할 수 있습니다.

구성 요소

다이어그램의 소스 제어 어댑터 패키지는 소스 제어 작업에 대한 사용자의 요청을 소스 제어 플러그 인에서 지원하는 함수 호출로 변환하는 IDE의 구성 요소입니다. 이를 위해서는 IDE와 소스 제어 플러그 인에 IDE와 플러그 인 간에 정보를 주고받는 효과적인 대화 상자가 있어야 합니다. 이 대화 상자가 열리려면 둘 다 동일한 언어를 사용해야 합니다. 이 설명서에 설명된 소스 제어 플러그 인 API는 이 교환에 대한 일반적인 어휘입니다.

소스 코드 제어 아키텍처 다이어그램

VS와 소스 제어 플러그 인 간의 상호 작용을 보여주는 아키텍처 다이어그램

아키텍처 다이어그램에 표시된 대로 다이어그램에서 VS 셸로 레이블이 지정된 Visual Studio 셸은 사용자의 작업 프로젝트와 편집기 및 솔루션 탐색기와 같은 관련 구성 요소를 호스트합니다. 소스 제어 어댑터 패키지는 IDE와 소스 제어 플러그 인 간의 상호 작용을 처리합니다. 소스 제어 어댑터 패키지는 자체 소스 제어 UI를 제공합니다. 소스 제어 작업의 범위를 시작하고 정의하기 위해 사용자가 상호 작용하는 최상위 UI입니다.

소스 제어 플러그 인에는 그림과 같이 두 부분으로 구성 될 수 있는 자체 UI가 있을 수 있습니다. "공급업체 UI"라는 레이블이 지정된 상자는 소스 제어 플러그 인 작성자가 제공하는 사용자 지정 사용자 인터페이스 요소를 나타냅니다. 사용자가 고급 소스 제어 작업을 호출할 때 소스 제어 플러그 인에서 직접 표시됩니다. "도우미 UI"라는 레이블이 붙은 상자는 IDE를 통해 간접적으로 호출되는 소스 제어 플러그 인 UI 기능 집합입니다. 소스 제어 플러그 인은 IDE에서 제공하는 특수 콜백 함수를 통해 UI 관련 메시지를 IDE에 전달합니다. 도우미 UI는 IDE와의 보다 원활한 통합을 촉진하여(고급 단추를 사용하는 경우가 많음) 더욱 통합된 최종 사용자 환경을 제공합니다.

소스 제어 플러그 인은 Visual Studio 셸을 변경할 수 없으며, 따라서 소스 제어 어댑터 패키지 또는 IDE에서 제공하는 소스 제어 UI를 변경할 수 없습니다. 최종 사용자를 위한 통합 경험에 기여하는 다양한 소스 제어 플러그 인 API 기능의 구현을 통해 제공되는 유연성을 최대한 활용해야 합니다. 소스 제어 플러그 인 API 설명서의 참조 섹션에는 일부 고급 소스 제어 플러그 인 기능에 대한 정보가 포함되어 있습니다. 이러한 기능을 활용하려면 소스 제어 플러그 인이 초기화 중에 IDE에 고급 기능을 선언해야 하며 각 기능에 대해 특정 고급 함수를 구현해야 합니다.