다음을 통해 공유


작업 영역 최적화

효과적이 고 효율적으로 여러분의 코드 기반에서 작동을 작업 영역 최적화 되어 있는지 확인 하 시겠습니까?그렇다면, 올바른 위치에 있습니다.

수행할 작업

  • 폴더 이름은 최적화

  • 작업 영역 사용 하 여 명시적, 암시적, 숨겨진, 및 비재귀적 폴더 매핑을 최적화합니다

  • 작업 영역을 사용 하 여 격리 하 고 다른 분기 간에 작업을 관리 하

폴더 이름은 최적화

기본적으로 Visual Studio 코드 프로젝트를 만들 때이 기본 사용자 폴더에 배치 (예: c:\users\myname\documents\visual studio 2012\Projects\SolutionName.하지만 대부분의 경우 같은 프로젝트 구조와 일치 하는 이해 하기 쉽게 짧은 폴더 경로 사용 하는 것이 좋습니다 c:\code\siteapp\Main\SolutionName\.

효과적인 폴더 이름에 몇 가지 팁:

  • 모든 폴더, 하위 폴더 및 파일 이름을 짧게 작업을 단순화 하 고 일부 유형의 코드 프로젝트에 발생할 수 있는 잠재적인 긴 경로 문제를 방지 하려면 유지 합니다.

  • 명령줄 작업을 수행할 수 보다 쉽게 원하는 경우 공백을 방지 합니다.

  • 분기를 아직 사용 하지 않으면 코드를 main 하위 폴더에 배치 (예: $/SiteApp/Main/).이렇게 하면 팀 분기 하 여 코드 베이스를 관리할 수 있어야 하기에 너무 작거나 커지면 다음을 수 있습니다.

작업 영역 사용 하 여 명시적, 암시적, 숨겨진, 및 비재귀적 폴더 매핑을 최적화합니다

여러분의 코드 기반 클 경우 작업 영역 폴더 매핑을 최적화 하 여 시간과 네트워크 대역폭을 로컬 디스크 공간 낭비를 방지할 수 있습니다.

폴더를 매핑하면 충분히 낮게 필요한 것 보다 많은 파일 가져오는지 있지만 로컬 빌드를 만드는 데 필요한 모든 파일을 가져오는 코드 트리에서 폴더를 선택 하는 것이 있는지 확인 하십시오.보다 간단 하 고 신속 하 게 사용할 수 있는 작업 영역을 만들려면 몇 가지 도구를 사용할 수 있습니다: 명시적, 암시적, 숨겨져, 및 비재귀적 폴더 매핑이 있습니다.

줄리아의 영역에서 볼 때 자신에 게 궁금할 수 있습니다: 왜 하지 않은 그녀가 단순히 맵 $/SiteApp/ 에 c:\code\SiteApp\ 이 작업을 수행 해야 하 고?이와 같은 간단한 작업 영역 것 암시적으로 eva에서 모든 폴더 맵 $/SiteApp/Main/.

그 또한 그녀와 그녀 하지 않습니다, 따라서 시간과 자원을 낭비 파일과 많은 얻을 수 있는이 방법은 기본적인 문제를입니다.그렇다면 줄리아 일부 사용자 지정 된 폴더 매핑을 만듭니다.

최적화된 작업 영역에서 매핑한 폴더작업 영역을 최적화하기 위해 매핑한 폴더

1단계

줄리아가 필요 하므로 사용자 지정된 빌드 프로세스를 개발 하지 않는 $/SiteApp/BuildProcessTemplates.시간이 지남에 따라 그녀 증가 하도록 코드 베이스 받아 그녀 또한 모든 새로운 비트 추가 하는 코드를 자동으로 다운로드 하지 않을 $/SiteApp/Main/.줄리아 서버에서 최신 파일을 가져올 때 이러한 파일을 다른 폴더에서 작업 하는 팀을 변경 하면 그녀는 그녀는 필요 하지 않은 파일에 대한 업데이트를 기다리는 데 시간이 오래 지연 저하가 발생 합니다.

그녀의 코드를 개발 하려면 줄리아 FabrikamFiber 솔루션을 구성 하는 모든 코드 프로젝트를 해야 합니다.대신 명시적으로 각 코드 프로젝트를 포함 하 여 (예를 들어, $/SiteApp/Main/FabrikamFiber/FabrikamFiber.DAL) 그녀 대신 맵 $/SiteApp/Main/FabrikamFiber/, 따라서 그녀와 암시적으로 eva 코드 프로젝트에 포함 된 모든 하위 폴더를 매핑합니다.

2단계

줄리아 하지 않아도 파일을 $/SiteApp/Main/FabrikamFiber/3DModels 또는 $/SiteApp/Main/FabrikamFiber/Docs, 암시적으로 매핑된 때문에1단계, 그녀를 두 개의 숨겨져 매핑을 자신의 작업 영역에서 이러한 폴더를 제외할 수 있습니다.

3단계

줄리아와 그녀의 팀의 다른 유지 하 고 때로는 일부 기본적인 라이브러리의 집합을 보강 합니다.현재 거의 모든 라이브러리가이 폴더에 필요 하 고 그녀가 맵 라이브러리 팀 추가 방법이 앞으로 필요 하는 것으로 간주 하 니 $/SiteApp/Main/libraries/Common.

4단계

줄리아 필요한 작은 부분에 큰 폴더 $/SiteApp/Main/libraries/Common/LibraryC, 그녀로 매핑합니다 숨겨져 다음 eva 하위 폴더를 명시적으로 매핑됩니다: $/SiteApp/Main/libraries/Common/LibraryC/Sub-Library1.

5단계

줄리아 필요한 파일 중 일부가 바로 안쪽 LibraryD, 하지만 그녀를 적용 하므로 해당 하위 폴더의 내용을 큰 필요는 비재귀적 이 폴더에 매핑: $/SiteApp/Main/libraries/Specialized/LibraryD/*.

작업 영역을 사용 하 여 격리 하 고 다른 분기 간에 작업을 관리 하

회사에서 사용 하는 경우 위험을 찾으려면 분기 여러분의 코드 기반에서 다음 별도 작업 영역에서 작업 하는 각 분기에 대한 관계를 설정 해야 합니다.

예를 들어 Fabrikam 파이버에서 코드 베이스와 직원 증가 했습니다.대부분의 팀 간의 위험을 분리 하려면 해당 코드 베이스를 분기는 했습니다.줄리아 그녀의 작은 팀 내에서 자신의 작업을 계속 하지만 이제 그녀는 몇 가지 작업 영역 그녀가 여러 분기에서 수행 되는 작업을 관리할 수 사용 합니다.

Julia가 작업하는 분기

1단계

기능 개발 그녀가 어디 그녀 참여 개발이이 지점에서 고객 서비스 웹 사이트의 엑스트라넷 분기에서 작업을 수행할 수 그녀의 기본 작업 영역을 수정 합니다.

2단계

통합 및 안정화 가 공동 작업을 여기서 그녀 수행에 다른 개발자와 테스터가 코드를 통합 하는 동안 안정화 테스트 및 Dev 분기에서 작업을 위한 두 새 작업 영역을 만듭니다.

줄리아는 자신의 개발 컴퓨터의 폴더와 폴더 분기 서버에 매핑합니다 자신의 작업 세 가지 작업 영역에서 관리 합니다.

서버 폴더에서 클라이언트 폴더로 매핑

[!참고]

분기 또는 일시 중지 (또는 보류) 동일한 코드 베이스에 대한 작업을 다른 작업을 분리 하기에 기본 방법입니다.그러나 이러한 방법 중 어떤 것도 사용자의 요구를 충족 하는 경우 동일한 서버 폴더에 둘 이상의 작업 영역에 매핑할 수 있습니다.대부분의 경우가 작업을 수행할 필요가 없습니다.동일한 서버 폴더에서 둘 이상의 작업 영역에 매핑되지 않으면 사용자와 보류 중인 변경 내용이 다른 별도 각 작업 영역에 저장 된 동일한 파일에 수 해야 합니다.