[visual-studio] Visual Studio의 그룹 파일

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에서 사실입니다 … 아마도 이전 버전에서는 사실이지만 확인하지는 않았습니다.


답변

Visual Studio 용 파일 중첩 확장은 좋은 것입니다. 이 답변을 작성하는 시점에 약 500K 다운로드가 있습니다. 나는 그것을 내 VS 2015에 개인적으로 추가했고 잘 작동했습니다 (아직 VS 2017에서 시도하지 않았습니다).


답변

사람들이 알고 있는지 확실하지 않지만 이와 같은 중첩 파일은 적어도 새 중첩 파일도 부분 클래스 인 경우 루트 파일의 이름을 바꾸는 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

어쨌든 이것은 우리가 이와 같은 중첩 파일을 포기할 충분한 이유였습니다. 이름을 바꿀 수 없으면 그럴 가치가 없습니다.


답변