MS Visual Studio에는 모든 프로젝트 파일을 볼 수있는 솔루션 탐색기가 있으며 파일을 그룹으로 유지하기위한 파일과 같은 필터를 만들 수도 있습니다. 문제는 - 내 파일을 시각적으로나 물리적으로 내 디스크에 그룹으로 나누고 싶습니다. 그러나 Visual과 내 디스크에서 각각의 변경 사항을 두 번 적용하지 않아도됩니다. Visual 솔루션 탐색기에서 디스크에 파일을 보관하는 실제 폴더를 표시 할 수있는 방법이 있습니까? (그리고 "모든 파일 표시"는 방금 체크 한 것입니다)?Visual Solution Explorer의 실제 폴더는 무엇입니까?
답변
아니요 - SE 및 신고 시스템은 구조/계층 정보의 독립적 인 사본을 보유합니다.
보통 필터를 사용하지 않도록 설정하고 원하는 곳에 파일을 넣으므로 기본적으로 두 구조가 동기화 상태로 유지됩니다 (실제로 어떤 종류의 소스 코드라도 원하는 경우 광란처럼 보입니다. 별도의 폴더에 들어 있지 않은 구성 요소의 파일을 항상 그룹화하십시오. (비활성화 필터) 다음
...당신은 솔루션 탐색기에서 폴더를 만들고 ... "새 항목 추가"또는 다음 "항목을 기존 추가"해당 폴더에서 상황에 맞는 메뉴를 사용하는 경우 디스크 구조는 솔루션 탐색기를 반영합니다 (기존 항목은 현재이 위치를 유지하기 위해 현재 위치에서 참조되지 않고 복사되므로 잘못된 SE 폴더에 추가하면 프로젝트의 이전 복사본이 남아있게됩니다). 그렇지 않으면 대개 VS가 디스크에 나타나는 것보다 SE의 다른 폴더에 항목을 넣을 "링크로 추가"해야합니다.
깔끔한 일까지, 가장 쉬운 방법은 (경우에 대비해 백업 복사본을 만드는 후) :
- 열기 솔루션 및 파일 탐험가 수동으로 "DIFF"그들. "잘못된"파일은 SE에서 제거하고 올바른 디스크 위치로 이동 한 다음 정확한 SE 폴더의 상황에 맞는 메뉴를 사용하여 SE 에 추가해야합니다.
- 폴더가 너무 많지 않은 경우 더 간단한 방법은 솔루션 탐색기에서 모든 파일을 제거한 다음 한 번에 하나의 폴더를 프로젝트에 다시 추가하여 올바른 폴더 이름을 만드는 것과 가서 각 폴더의 컨텍스트 메뉴에서 추가하십시오. SE를 처음부터 다시 빌드하면 두 레이아웃을 상당히 신속하게 동기화 할 수 있으며 차이점이있는 부분을 해결하는 것보다 쉬울 수도 있습니다.
일단 동기화되면 SE를 사용하여 파일을 관리하고 올바른 폴더의 상황에 맞는 메뉴를 사용하여 항목을주의해서 추가하십시오. 디스크에서 물건을 움직이면 링크가 끊어집니다.
이것은 C/C++ 프로젝트에만 적용됩니다. C# 프로젝트에는 파일의 1 대 1 매핑이 있습니다. –
@Sebastiaan : 예, 다음과 같은 두 가지 예외가 있습니다. 1) 파일을 "링크"로 추가 할 때 1 : 1 매핑이 필요하지 않습니다 (그러나이 링크는 명백한 링크 아이콘과 함께 표시됩니다).2) 1 : 1 매핑은 프로젝트 내에서 적용되지만 프로젝트 자체 (솔루션 내)에는 1 : 1 경로 매핑이 필요하지 않습니다. –
'모든 파일 표시'를 클릭하면 솔루션 탐색기에서 파일의 가상 필터를 실제 파일 필터로 전환합니다.
OP는 질문에이 해결책이 효과가 없다고 말했습니다. – psubsee2003
필터를 통해 나는 솔루션 폴더를 말하는 것이라고 생각합니다. 그것들은 파일 시스템과 관련이없는 가상 폴더입니다. 내가 한 트릭은 프로젝트를 버리는 것입니다. 프로젝트 폴더에 추가 된 항목은 관계를 유지합니다. 그것은 해킹이지만 작동합니다. 누군가가 덜 해킹하는 방법을 알고 있다면 나도 알고 싶습니다.
프로젝트 파일이 모든 소스 파일의 상위 폴더에 있지만 프로젝트 파일이 별도의 폴더에있는 경우가 아니라면 '모든 파일 표시'가 작동합니다. – entheh