소스 제어 패키지 SDK는 소스 제어 구현자가 자신의 소스 제어 기능을 Visual Studio 환경과 통합할 수 있도록 VSPackage를 만들기 위한 지침을 제공합니다. VSPackage는 일반적으로 레지스트리 항목의 패키지에서 보급하는 서비스를 기반으로 Visual Studio IDE(통합 개발 환경)에서 요청 시 로드되는 COM 구성 요소입니다. 모든 VSPackage는 IVsPackage를 구현해야 합니다. VSPackage는 일반적으로 Visual Studio IDE에서 제공하는 서비스를 사용하고 자체 서비스를 제공합니다.
VSPackage는 해당 메뉴 항목을 선언하고 .vsct 파일을 통해 기본 항목 상태를 설정합니다. Visual Studio IDE는 VSPackage가 로드될 때까지 메뉴 항목을 이 상태로 표시합니다. 그 후 VSPackage의 QueryStatus 메서드 구현이 호출되어 메뉴 항목을 사용하거나 사용하지 않도록 설정합니다.
소스 제어 패키지 특성
소스 제어 VSPackage는 Visual Studio에 깊이 통합되어 있습니다. VSPackage 의미 체계에는 다음이 포함됩니다.
VSPackage(
IVsPackage인터페이스)가 되어 구현할 인터페이스UI 명령 구현(.vsct 파일 및 IOleCommandTarget 인터페이스 구현)
Visual Studio에 VSPackage 등록.
소스 제어 VSPackage는 다음과 같은 다른 Visual Studio 엔터티와 통신해야 합니다.
프로젝트
편집기
해결 방법
Windows
실행 중인 문서 테이블
사용할 수 있는 Visual Studio 환경 서비스
SVsRegisterScciProvider Service
구현되고 호출된 VSIP 인터페이스
소스 제어 패키지는 VSPackage이므로 Visual Studio에 등록된 다른 VSPackage와 직접 상호 작용할 수 있습니다. 소스 제어 기능의 전체 범위를 제공하기 위해 소스 제어 VSPackage는 프로젝트 또는 셸에서 제공하는 인터페이스를 처리할 수 있습니다.
Visual Studio의 모든 프로젝트는 Visual Studio IDE 내에서 프로젝트로 인식되도록 IVsProject3을 구현해야 합니다. 그러나 이 인터페이스는 소스 제어에 대해 충분히 특수화되어 있지 않습니다. 소스 제어 하에 있을 것으로 예상되는 프로젝트는 IVsSccProject2를 구현합니다. 이 인터페이스는 소스 제어 VSPackage에서 프로젝트의 내용을 쿼리하고 문자 모양 및 바인딩 정보(서버 위치와 소스 제어에 있는 프로젝트의 디스크 위치 간에 연결을 설정하는 데 필요한 정보)를 제공하는 데 사용됩니다.
소스 제어 VSPackage는 IVsSccManager2를 구현하여 프로젝트가 소스 제어에 등록하고 상태 문자 모양을 검색할 수 있도록 합니다.
소스 제어 VSPackage에서 고려해야 하는 인터페이스의 전체 목록은 관련 서비스 및 인터페이스를 참조하세요.