다음을 통해 공유


소스 제어 통합 개요

이 섹션에서는 Visual Studio 소스 제어에 통합하는 두 가지 방법을 비교합니다. 소스 제어 솔루션을 제공하고 새로운 소스 제어 기능을 강조 표시하는 소스 제어 플러그 인 및 VSPackage입니다. Visual Studio를 사용하면 자동 솔루션 기반 전환뿐만 아니라 소스 제어 VSPackage와 소스 제어 플러그 인 간에 수동으로 전환할 수 있습니다.

소스 제어 통합

Visual Studio는 두 가지 유형의 소스 제어 통합 옵션을 지원합니다. Visual Studio의 모든 버전에서는 Visual Studio UI(소스 제어 사용자 인터페이스)를 사용하는 동안 기본 소스 제어 기능을 제공하는 소스 제어 플러그 인 API(이전에는 MSSCCI API라고도 함)를 기반으로 플러그 인을 통합할 수 있습니다. 반면, 소스 제어 VSPackage는 소스 제어 모델에서 높은 수준의 정교함과 자율성을 요구하는 소스 제어 통합에 적합한 새로운 심층 통합 Visual Studio SDK 경로를 제공합니다.

소스 제어 개요

소스 제어 플러그 인

모든 버전의 Visual Studio는 통합 경로로 소스 제어 플러그 인 API 사양 버전 1.2를 지원합니다. 소스 제어 플러그 인 구현자는 소스 제어 플러그 인 만들기에 설명된 대로 소스 제어 통합 및 등록을 위한 소스 제어 플러그 인 API 함수를 구현하는 DLL을 작성합니다. 이 방법에서 IDE(통합 개발 환경)는 체크 인, 체크 아웃, 도구/옵션 속성 페이지, 도구 모음 및 소스 제어 문자 모양과 같은 대화 상자에 Visual Studio UI를 사용합니다. 소스 제어 플러그 인 API를 엄격하게 준수하면 Visual Studio에 쉽게 통합되고 사용자에게 문제가 없는 환경이 보장됩니다. 즉, 소스 제어 플러그 인은 API에 자세히 설명된 대부분의 함수 및 콜백을 구현해야 합니다.

소스 제어 플러그 인 API를 사용하여 소스 제어 플러그 인을 구현하려면 다음 단계를 수행합니다.

  1. 소스 제어 플러그 인에 지정된 함수를 구현하는 DLL을 만듭니다.

  2. 적절한 레지스트리 항목을 만들어 DLL을 등록합니다( 방법: 소스 제어 플러그 인 설치에 설명됨).

  3. 소스 제어 어댑터 패키지(소스 제어 플러그인을 통해 소스 제어 기능을 처리하는 Visual Studio 구성 요소)의 메시지가 표시되면, 도우미 UI를 생성하고 표시합니다.

    소스 제어 명령에 대한 응답으로 Visual Studio IDE는 기본 작업에 대한 표준 UI를 제공하고 소스 제어 플러그 인 API에 정의된 함수를 통해 정보를 소스 제어 플러그 인에 전달합니다. 고급 옵션의 경우 소스 제어 플러그 인을 호출하여 원본 제어 프로젝트 검색과 같은 자체 UI를 표시할 수 있습니다. 즉, 소스 제어를 처리할 때 Visual Studio에서 제공하는 UI와 소스 제어 플러그 인이 제공하는 UI의 두 가지 다른 UI 스타일이 사용자에게 표시될 수 있습니다. 고급 소스 제어 작업에서 가장 두드러집니다.

소스 제어 플러그 인 구현에 대한 단점

  • 고급 기능의 경우 사용자에게 두 가지 인터페이스 스타일이 표시되어 혼동을 야기할 수 있습니다.

  • 소스 제어 플러그 인은 소스 제어 플러그 인 API에 내포된 소스 제어 모델로 제한됩니다.

  • 소스 제어 플러그 인 API는 일부 소스 제어 시나리오에 대해 너무 제한적일 수 있습니다.

소스 제어 플러그 인 구현의 장점

  • Visual Studio는 소스 제어 플러그 인이 잠재적으로 복잡한 UI를 구현할 필요가 없도록 모든 기본 소스 제어 작업에 대한 모든 UI를 제공합니다.

  • 엄격한 API로 인해 소스 제어 플러그 인은 외부 소스 제어 프로그램과 쉽게 상호 작용하여 보다 광범위한 기능을 제공할 수 있습니다. Visual Studio는 소스 제어 기능이 수행되는 방식을 크게 신경 쓰지 않고 소스 제어 플러그 인 API에 따라 수행됩니다.

  • 소스 제어 VSPackage보다 소스 제어 플러그 인을 구현하는 것이 더 쉽습니다.

소스 제어 VSPackage

Visual Studio SDK를 사용하면 소스 제어 기능을 완전히 제어하고 Visual Studio에서 제공하는 소스 제어 사용자 인터페이스를 완전히 대체하여 Visual Studio에 심층 통합할 수 있습니다. 소스 제어 VSPackage는 Visual Studio에 등록되며 소스 제어 기능을 제공합니다. 여러 소스 제어 VSPackage를 Visual Studio에 등록할 수 있지만 한 번에 하나만 활성화할 수 있습니다. 소스 제어 VSPackage는 활성 상태인 동안 Visual Studio의 소스 제어 기능 및 모양을 완전히 제어할 수 있습니다. 시스템에 등록할 수 있는 다른 모든 소스 제어 VSPackage는 비활성 상태이며 UI를 전혀 표시하지 않습니다.

소스 제어 VSPackage를 구현하려면 "전부 또는 전혀" 전략이 필요합니다. 소스 제어 VSPackage의 작성자는 전체 소스 제어 기능을 포함하기 위해 많은 소스 제어 인터페이스 및 새 UI 요소(대화 상자, 메뉴 및 도구 모음)를 구현하는 데 상당한 노력을 투자해야 합니다. 자세한 내용은 소스 제어 VSPackage 만들기 를 참조하세요.

소스 제어 VSPackage 구현에 대한 단점

  • VSPackage는 Visual Studio와 성공적으로 통합하려면 여러 복잡한 인터페이스를 구현해야 합니다.

  • VSPackage는 소스 제어에 필요한 모든 UI를 제공해야 합니다. Visual Studio는 이 영역에 대한 지원을 제공하지 않습니다.

  • 소스 제어 VSPackage는 Visual Studio에 밀접하게 연결되어 있으며 독립 실행형 프로그램으로 작동할 수 없으므로 기능을 외부 버전의 소스 제어 프로그램과 쉽게 공유할 수 없습니다.

소스 제어 VSPackage 구현의 장점

  • VSPackage는 소스 제어 UI 및 기능을 완전히 제어하므로 사용자에게 소스 제어를 위한 원활한 인터페이스가 제공됩니다.

  • VSPackage는 특정 소스 제어 모델에 국한되지 않습니다.