Notice
Recent Posts
05-19 03:56
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Today
Total
관리 메뉴

프로그래밍 잡화점

Visual Studio 종속 파일 만들기 본문

Tip

Visual Studio 종속 파일 만들기

Luana7 2021. 6. 9. 21:58

비주얼 스튜디오 팁

가끔 그럴때가 있다. 내가 만든 cs파일 (예를 들어 Form.Init)을 Form.Designer.cs 처럼 특정 폼에 종속시켜버리고 싶은 경우가 있다. 아래의 사진과 같이 말이다

얼마나 불편해 보이는가!

이럴때는 csproj를 수정해서 종속을 시켜주자

*주의 : csproj는 코드파일처럼 열리지 않기 때문에 notepad++나 일반 메모장등으로 따로 열어주자

열어보면 여러 코드줄 중에서 자기 폼의 이름이 들어가 있는 줄이 있을꺼다. 예제 같은 경우 폼의 이름은 MainForm과 종속시킬 파일 이름은 MainForm.Init으로 하였다

...
<ItemGroup>
    <Compile Include="MainForm.cs">
      <SubType>Form</SubType>
    </Compile>
    <Compile Include="MainForm.Designer.cs">
      <DependentUpon>MainForm.cs</DependentUpon>
    </Compile>
    <Compile Include="MainForm.Init.cs">
      <SubType>Form</SubType>
    </Compile>
...

만약 partial을 통해서 종속시켰다면 위와 같이 되어 있을것이다. 이 상태에서 <SubType>Form</SubType> 이 부분을 지우고 위에 Desinger 코드 밑에 있는 <DependentUpon>종속시킬 폼의 이름.cs</DependentUpon> 으로 바꾸어 주면된다

...
<ItemGroup>
    <Compile Include="MainForm.cs">
      <SubType>Form</SubType>
    </Compile>
    <Compile Include="MainForm.Designer.cs">
      <DependentUpon>MainForm.cs</DependentUpon>
    </Compile>
    <Compile Include="MainForm.Init.cs">
      <DependentUpon>MainForm.cs</DependentUpon>
    </Compile>
...

이렇게 하면 종속이 완료된것이다

봐라, 얼마나 깔끔해졌는가!

* 참고로 종속된 파일은 Designer와 마찬가지로 이름을 변경할 수 없다. 변경하고 싶다면 csproj를 이용해야 한다.


재밌는 사실을 하나 알려주자면 폼이 아닌 일반 cs파일에도 종속이 가능하다. 단 위와같은 형태처럼 SubType이 없고 <Compile Include="파일.cs" /> 형태로 되어 있기 때문에 변경이 필요하다

예를 들어 Program.cs에 Program.Init.cs를 종속시키고 싶다면

...
<Compile Include="Program.cs" />
<Compile Include="Program.Init.cs" />
...

위와 같은 코드를 아래와 같이 변경해주면 된다.

...
<Compile Include="Program.cs" />
<Compile Include="Program.Init.cs">
    <DependentUpon>Program.cs</DependentUpon>
</Compile>
...

이러한 종속 기능으로 솔루션 탐색기를 좀더 깔끔하게 만들수 있을것이다!

Comments