본문 바로가기
개발/.NET

[VS2010] Visual Studio 2010 의 Class 템플릿 시그니처 변경하기....

by 그저그런보통사람 2010. 9. 5.
VS2010 IDE를 이용해서 솔루션탐색기 혹은 단축키를 이용해서 class 파일이나 interface 등의 코드 파일을 첨부할
때 대부분 암시적 internal 형태인 (즉, 아무런 접근제한자가 없는) 템플릿으로 출력된다.

하지만, 작업을 하다보면 비율로 봤을 때 public 이나 private 가 internal 보다 많다. 
항상 추가로 class 파일을 add 해놓고 제일 먼저하는게 접근제한자를 public이나 private 로 수정하는 일인데, 여간
귀찮은게 아니다 (-_-).

아예 처음부터 public 키워드를 꼽아놓고 (혹은 생성자까지...) 시작할 순 없을까.....
interface는 구현을 하기위해서 public으로 정해야한다..... 이놈만큼은 무조건 public으로 고정 출력하고 싶다.

방법은 약간의 노가다가 요구되는데, 아래와 같은 순서로 진행하면 된다.

VS2010이 설치된 폴더 (나의 경우는 OS가 64비트라 C:\Program Files (x86) 라는 폴더가 별도로 존재한다)

x64기준:
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\ItemTemplates\CSharp\Code\1033

x86기준:
C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\ItemTemplates\CSharp\Code\1033

폴더를 열어보면 각각의 템플릿 패키지가 보인다.
이 중에 class.zip 과 interface.zip 패키지 파일의 class.cs 와 interface.cs 를 각각 편집한다.

* class.cs파일

원본:

using System;
using System.Collections.Generic;
$if$ ($targetframeworkversion$ >= 3.5)using System.Linq;
$endif$using System.Text;

namespace $rootnamespace$
{
class $safeitemrootname$
{
}
}

수정 후:

using System;
using System.Collections.Generic;
$if$ ($targetframeworkversion$ >= 3.5)using System.Linq;
$endif$using System.Text;

namespace $rootnamespace$
{
public class $safeitemrootname$
{
public $safeitemrootname$()
{

}
}
}

수정한 뒤에 다시 이 파일을 패키지로 묶어 교체한다. inferface.zip 도 마찬가지....

수정 교체가 끝나면 "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE"
경로를 command 창으로 (관리자 권한) 연 뒤에 아래와 같이 명령어를 실행한다.

"devenv.exe /installvstemplates"

이제 추가하는 템플릿 마다 새로 정의된 시그니처가 나타날 것이다. 아우~ 편해.....