Visual Studio에서 프로젝트 레이아웃을 정리하는 중이며 .xml 파일을 동일한 이름 의 .cs 파일과 연결하여 솔루션 탐색기에 그룹화되어 표시되도록 하는 해킹, 플러그인 또는 트릭이 있는지 궁금합니다. /탐침.
코드 숨김 파일이 해당 aspx와 연결되는 방식과 유사합니다.
어떤 제안이라도 환영합니다. 감사
Visual Studio에서 프로젝트 레이아웃을 정리하는 중이며 .xml 파일을 동일한 이름 의 .cs 파일과 연결하여 솔루션 탐색기에 그룹화되어 표시되도록 하는 해킹, 플러그인 또는 트릭이 있는지 궁금합니다. /탐침.
코드 숨김 파일이 해당 aspx와 연결되는 방식과 유사합니다.
어떤 제안이라도 환영합니다. 감사
답변:
프로젝트 파일에서 :
<Compile Include="FileA.cs"/>
<Compile Include="FileA.xml">
<DependentUpon>FileA.cs</DependentUpon>
</Compile>
또는 VSCommands 2010 확장의 Group Items
명령을 사용할 수 있습니다 .
편집 : 파일이 폴더에있는 경우 DependentUpon
태그에 폴더 이름을 포함하지 마십시오 . 예를 들어 파일이 Helpers
폴더에있는 경우 :
<Compile Include="Helpers\FileA.cs"/>
<Compile Include="Helpers\FileA.xml">
<DependentUpon>FileA.cs</DependentUpon>
</Compile>
무겁고 독점적 인 VSCommands 확장으로 IDE 속도를 늦추지 않으려면 대신 작은 확장 NestIn을 사용할 수 있습니다 . 파일을 그룹화 / 그룹 해제 할 수 있습니다.
파일이 "최상위"파일 인 간단한 경우 Julien의 설명이 완벽하게 작동합니다. 그러나 DependentUpon 파일이 프로젝트 아래의 폴더에있는 경우에는 다르게 보입니다. 나는 그것이 모호함으로 이어질 수있을 것 같아서 개인적으로 그것을 좋아하지 않지만, 그것은 의견이다.
<Compile Include="DataStructs\CKDTree.cs" />
<Compile Include="DataStructs\CClosestObjects.cs" >
<DependentUpon>CKDTree.cs</DependentUpon>
</Compile>
종속 항목에는 상위 폴더가 포함되지 않습니다. 이것은 VS2013에서 사실입니다 ... 아마도 이전 버전에서는 사실이지만 확인하지는 않았습니다.
DependentUpon
요소 를 사용하여 자식을 만드는 간단한 테스트를 통해이 가설을 확인할 수 있습니다. 그래도 아래의 답변에서 언급했듯이 VS의 파일 이름 변경 기능이 손상되므로 조심하십시오.
사람들이 알고 있는지 확실하지 않지만 이와 같은 중첩 파일은 적어도 새 중첩 파일도 부분 클래스 인 경우 루트 파일의 이름을 바꾸는 VS의 기능을 손상시키는 것 같습니다. 예를 들어 여기에 우리가 만든 트리가 있습니다.
MainWindow.xaml
MainWindow.xaml.cs
MainWindow.Commands.cs
MainWindow.Commands.cs는 MainWindow.xaml.cs와 동일한 MainWindow의 또 다른 부분 클래스입니다. 그러나 종속 파일의 이름을 자동으로 바꾸는 대신 MainWindow.xaml의 이름을 바꾸려고하면 예외가 발생합니다.
완전성을 위해 파일 이름을 지정하려고 시도했지만 MainWindow.xaml.Commands.cs
작동하지 않았습니다.
추가 '명령'파일이 없으면 이름 바꾸기는 물론 잘 작동합니다.
MainWindow.xaml
MainWindow.xaml.cs
어쨌든 이것은 우리가 이와 같은 중첩 파일을 포기할 충분한 이유였습니다. 이름을 바꿀 수 없으면 그럴 가치가 없습니다.
.cs
.