다음을 통해 공유


방법: 플러그 인 설치

소스 제어 플러그 인을 만드는 세 가지 단계가 포함 됩니다.

  1. DLL이이 설명서를 소스 제어 플러그 인 API 참조 단원에 정의 된 함수를 만듭니다.

  2. 소스 제어 플러그 인 API 정의 된 함수를 구현 합니다. 때 Visual Studio ,에 대 한 호출을 인터페이스 및 대화 상자 플러그 인에서 사용할 수 있습니다.

  3. 적절 한 레지스트리 항목을 만들어 DLL을 등록 합니다.

Visual Studio와의 통합

Visual Studio소스 컨트롤 소스 제어 플러그 인 API에 맞는 플러그 인을 지원 합니다.

소스 제어 플러그 인을 등록 하는 중

소스 제어 시스템에 실행 중인 통합된 개발 환경 (IDE)를 호출할 수 있습니다 전에 먼저 원본을 찾아야 합니다 내보내기 API 플러그 인 DLL을 제어 합니다.

소스 제어 플러그 인 DLL을 등록 하려면

  1. 회사 이름 하위 키를 제품 이름 하위 키가 다음에 사용자 지정 소프트웨어 하위 키의 HKEY_LOCAL_MACHINE 키 아래에 두 개의 항목을 추가 합니다. 패턴 HKEY_LOCAL_MACHINE\SOFTWARE\입니다[회사 이름]\[제품 이름]\[항목] = 값입니다. 두 개의 항목이 항상 SCCServerName 및 SCCServerPath 라고 합니다. 각 정규식 문자열입니다.

    예를 들어, 회사 이름이 Microsoft 및 소스 제어 제품을 경우 SourceSafe, 다음이 레지스트리 경로 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SourceSafe 명명 됩니다. 이 하위 키에 첫 번째 항목, SCCServerName, 제품을 사용자가 읽을 수 있는 문자열입니다. SCCServerPath, 두 번째 항목의 전체 경로를 원본 제어 IDE에 연결 해야 하는 플러그 인 DLL입니다. 다음 예제 레지스트리 항목을 제공합니다.

    샘플 레지스트리 항목

    샘플 값

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SourceSafe\SCCServerName

    Microsoft Visual SourceSafe

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SourceSafe\SCCServerPath

    c:\vss\win32\ssscc.dll

    참고

    Sccserverpath에는 SourceSafe 플러그 인에 대 한 전체 경로입니다.소스 제어 플러그 인 다른 회사 및 제품 이름은 같지만 동일한 레지스트리 항목 경로 사용 합니다.

  2. 동작 소스 제어 플러그 인을 수정 하는 다음과 같은 선택적 레지스트리 항목을 사용할 수 있습니다. 이러한 항목은 SccServerName 및 SccServerPath 같은 하위 키에서 이동 하십시오.

    • 소스 제어 플러그-인 플러그 인 선택 목록에 표시 하려면 원하지 않는 경우 HideInVisualStudioregistry 항목을 사용할 수 있습니다 Visual Studio. 또한이 항목 자동 소스 제어 플러그 인 전환에 적용 됩니다. 이 항목에 대해 사용할 수 제공 되는 소스 제어 플러그 인을 대체 하는 소스 제어 패키지에서 소스 제어를 소스 제어 패키지를 플러그 인을 사용 하 여 마이그레이션할 사용자가 쉽게 원하는 경우입니다. 소스 제어 패키지를 설치 하는 경우 숨깁니다 플러그인이 레지스트리 항목을 설정 합니다.

      HideInVisualStudio DWORD 값입니다 및 플러그 인을 숨기려면 1 또는 플러그 인을 표시 하는 0으로 설정 됩니다. 레지스트리 항목이 나타나지 않는 경우 기본 동작은 플러그 인 표시 됩니다.

    • DisableSccManager 레지스트리 항목을 해제 하거나 숨기려면 사용할 수 있습니다의 < 소스 제어 서버 > 시작 에서 정상적으로 표시 되는 메뉴 옵션의 파일 -> 소스 제어 하위 메뉴. 이 메뉴를 선택 하면 호출 옵션은 SccRunScc 함수 함수입니다. 외부 프로그램 소스 제어 플러그 인을 지원 하지 않고 따라서 사용 하거나 숨길 수도 하지 않을 수도 있습니다의 시작 메뉴 옵션.

      Disablesccmanager는 DWORD 값을 0으로 설정 되어 있도록는 < 소스 제어 서버 > 시작 메뉴 옵션을 1로 설정 하 여 메뉴 옵션을 사용 하지 않도록 설정 하 고 메뉴 옵션을 숨기려면 2로 설정 합니다. 이 레지스트리 항목이 나타나지 않는 경우 기본 동작은 메뉴 옵션이 표시 됩니다.

    샘플 레지스트리 항목

    샘플 값

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SourceSafe\HideInVisualStudio

    1

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SourceSafe\DisableSccManager

    1

  3. 하위 키를 SourceCodeControlProvider, HKEY_LOCAL_MACHINE 키 아래에서 소프트웨어 하위 키를 추가 합니다.

    이 하위 키 아래에서 레지스트리 항목 ProviderRegKey 하 여 1 단계에서 레지스트리에서 하위 키를 나타내는 문자열을 설정 됩니다. 패턴 HKEY_LOCAL_MACHINE\SOFTWARE\SourceCodeControlProvider\ProviderRegKey입니다 SOFTWARE\ =[회사 이름]\[제품 이름].

    다음이 하위 키에 대 한 샘플 콘텐츠입니다.

    레지스트리 항목

    샘플 값

    HKEY_LOCAL_MACHINE\SOFTWARE\SourceCodeControlProvider\ProviderRegKey

    SOFTWARE\Microsoft\SourceSafe

    참고

    동일한 하위 키와 항목 이름 소스 제어 플러그 인 사용 하지만 서로 다른 값이 됩니다.

  4. SourceCodeControlProvider 하위 키에서 InstalledSCCProviders 라는 하위 키를 만들어 다음 항목 하위 키가 아래를 넣습니다.

    이 항목의 이름을 사용자가 읽을 수 있는 이름 공급자 (SCCServerName 항목에 지정 된 값과 동일)입니다 및 값을 다시 1 단계에서 만든 하위 키입니다. 패턴 HKEY_LOCAL_MACHINE\SOFTWARE\SourceCodeControlProvider\InstalledSCCProviders\입니다[표시 이름] SOFTWARE\ =[회사 이름]\[제품 이름].

    예를 들면 다음과 같습니다.

    샘플 레지스트리 항목

    샘플 값

    HKEY_LOCAL_MACHINE\SOFTWARE\SourceCodeControlProvider\InstalledSCCProviders\Microsoft Visual SourceSafe

    SOFTWARE\Microsoft\SourceSafe

    참고

    여러 개의 소스 제어 이러한 방식으로 등록 된 플러그 인 될 수 있습니다.이 Visual Studio 설치 된 모든 플러그 인 소스 제어 플러그 인 API를 기반으로 찾습니다.

IDE에서 DLL을 찾는 방법

Visual Studio IDE를 두 개의 소스를 찾는 방법으로 제어 플러그 인 DLL:

  • 기본 소스 제어 플러그 인을 찾을 하 고 자동으로 연결 합니다.

  • 등록 된 모든 소스 제어 플러그 인을 하나 선택할 수를 찾습니다.

첫 번째 방법으로 해당 DLL을 찾을 수 IDE HKEY_LOCAL_MACHINE\Software\SourceCodeControlProvider 하위 키에서 ProviderRegKey 항목을 찾습니다. 이 항목의 값이 다른 하위 키를 가리킵니다. 다음 IDE에서 두 번째 하위 키 아래의 HKEY_LOCAL_MACHINE SccServerPath 라는 항목을 찾습니다. 이 항목의 값이 IDE에 연결 됩니다.

참고

IDE Dll에서 상대 경로 (예:. 로드 하지 않습니다.\NewProvider.DLL)입니다.DLL의 전체 경로 지정 합니다 (예: c:\Providers\NewProvider.DLL).이 권한이 없는 또는 가장 된 플러그 인 Dll의 로드를 방지 하 여 IDE의 보안 강화.

두 번째 방법으로는 DLL을 찾을 수, 모든 항목에 대해 HKEY_LOCAL_MACHINE\Software\SourceCodeControlProvider\InstalledSCCProviders 하위 키에서 IDE를 찾습니다*.* 각 항목에는 이름과 값 있습니다. IDE의 이러한 이름 목록을 사용자에 게 표시 됩니다*.* 사용자 이름을 선택 하는 경우 IDE 선택한 이름을 가리키는 하위 키에 대 한 값을 찾습니다. IDE는 hkey_local_machine 하위 키에서 SccServerPath 라는 항목을 찾습니다. 해당 항목의 값이 올바른 DLL에는 IDE를 가리킵니다.

플러그 인 DLL을 찾는 두 가지 방식으로 지원 하 고 ProviderRegKey 이전 설정을 덮어쓰지, 따라서 설정 해야 합니다. 무엇 보다 사용 하는 다양 한 소스 제어 플러그 인은 사용자가 있을 수 있으므로 자체 InstalledSccProviders 목록에 추가 해야 합니다.

참고

HKEY_LOCAL_MACHINE 키를 사용 하기 때문에 하나의 소스 제어 플러그 인은 기본 소스 제어 플러그 인 지정 된 시스템 등록 될 수 있습니다 (단, Visual Studio 사용자가 원하는 특정 솔루션을 실제로 사용 하는 소스 제어 플러그 인을 확인할 수)입니다.설치 하는 동안 플러그 인이 이미 설정 되어 있는지 확인 하십시오. 이 경우 사용자가 새 소스 제어 플러그 인은 기본적으로 설치 되 고 설정 여부 문의 하십시오.Un 설치 과정에서 hkey_local_machine\software\sourcecodecontrolprovider에 소스 제어 플러그 인은 모두 공통 되는 다른 레지스트리 하위 키를 제거 하지 마십시오. 특정 소스 코드 제어 하위만 제거 합니다.

IDE 버전 1.2/1.3 지원을 감지 하는 방법

어떻게 하지 Visual Studio 플러그인 지원 소스 제어 플러그 인 API 버전 1.2와 1.3 기능이 있는지 여부를 감지? 고급 기능을 선언 하 고 소스 제어 플러그 인에서 해당 함수를 구현 해야 합니다.

첫째, Visual Studio 를 호출 하 여 반환 된 값을 검사 하는 SccGetVersion 함수. 1.2 이상이 있어야 합니다.

다음, Visual Studio 를 검사 하 여 특정 새로운 기능이 지원 되는지 여부를 결정은 lpSccCaps 인수에는 SccInitialize 함수.

두이 조건이 모두 충족 되 면 새 버전 1.2과 1.3 지원 되는 함수를 호출할 수 있습니다.

참고 항목

기타 리소스

소스 제어 플러그 인을 시작 하기