다음을 통해 공유


프로젝트 및 편집기용 추가 소스 제어 지침

소스 제어를 지원하기 위해 프로젝트 및 편집기가 준수해야 하는 여러 지침이 있습니다.

Guidelines

또한 프로젝트 또는 편집기에서 소스 제어를 지원하려면 다음을 수행해야 합니다.

Area 프로젝트 Editor 세부 정보
파일의 개인 복사본 X 환경은 파일의 프라이빗 복사본을 지원합니다. 즉, 프로젝트에 참여하는 각 사용자에게는 해당 프로젝트에 있는 파일의 개인 복사본이 있습니다.
ANSI/유니코드 지속성 X X 지속성 코드를 작성하는 경우 대부분의 소스 제어 프로그램이 현재 유니코드를 지원하지 않으므로 파일을 ANSI 형식으로 유지합니다.
파일 나열 X 프로젝트에는 포함된 모든 파일의 특정 목록이 포함되어야 하며 또는 IVsSccProject2 (VSH_PROPID_First_Child/Next_Sibling)를 사용하여 GetProperty 파일 목록을 열거할 수 있어야 합니다. 프로젝트는 GetMkDocument 구현을 통해 항목 이름을 노출해야 하며, IsDocumentInProject 구현을 통해 이름 조회(특수 파일 포함)를 지원해야 합니다.
텍스트 서식 X X 가능하면 파일은 다른 버전의 병합을 지원하기 위해 텍스트 형식이어야 합니다. 텍스트 형식이 아닌 파일은 나중에 다른 버전의 파일과 병합할 수 없습니다. 기본 설정 텍스트 형식은 XML입니다.
참조 기반 X 참조 기반 프로젝트는 소스 제어에서 쉽게 지원됩니다. 그러나 디렉터리 기반 프로젝트는 해당 파일이 디스크에 있는지 여부에 관계없이 요청 시 해당 파일 목록을 생성할 수 있는 한 소스 제어에서 지원됩니다. 소스 제어에서 프로젝트를 열면 프로젝트의 다른 파일들보다 먼저 프로젝트 파일이 다운로드됩니다.
예측 가능한 순서로 개체 및 속성 유지 X X 병합을 용이하게 하기 위해 사전순과 같은 예측 가능한 순서로 파일을 유지합니다.
다시 로드 X X 디스크에서 파일이 변경되면 편집기에서 파일을 다시 로드할 수 있어야 합니다. 소스 제어에 참여하면 환경이 구현 ReloadDocData을(를) 호출하여 귀하를 위해 데이터를 다시 로드합니다. 가장 어려운 다시 로드 사례는 IVsQueryEditQuerySave:를QueryEditFiles 호출하고 정보를 처리할 때 체크 아웃이 발생하는 경우입니다. 그러나 이 상황에서는 다시 로드 코드를 실행할 수 있어야 합니다.

환경은 프로젝트 파일을 자동으로 다시 로드합니다. 그러나 중첩된 계층 구조를 가진 프로젝트는 중첩된 프로젝트 파일 다시 로드를 지원하려면 IVsPersistHierarchyItem2를 구현해야 합니다.