제목 뒤를 살짝 자극적으로 변경해봅니다. :)

목차

1.     T4란 무엇일까요?

2.     편리한 작업 환경 구성

3.     첫 예제 구현

4.     이미 있는 T4 Template 수정해보기 예제 (MVC Scaffolding에 나만의 주석달기)

5.     라이브러리 참조하여 사용하기와 디버깅하기

6.     매개변수를 위한 UI 구성

7.     코드 생성 툴로써 실행해보기

8.     VS와 연결하기

 

1.     T4란 무엇일까요?

 

Text Template Transformation Toolkit의 준말 TTTT의 다시 준말이 바로 T4입니다.

확장자는 .tt로 사용합니다.

텍스트 파일을 generation(생성)해줄수 있는 도구입니다.

다시 말해서 그 파일명이 무엇이냐에 따라 HTML, JavaScript, ASP, C#, PHP, C, JAVA 등의 파일을 program으로 생성해줄 수 있도록 하는 도구(toolkit)입니다.

그리고 사용되어지는 언어는 닷넷에서 제공되어지는 C#, VB.net 등입니다.

사용하는 방법에 따라서 프로그램을 만들때 (design time)에 도움을 받을 수도 있을 것이고, HTML, 도움말 Text등을 프로그램 실행중에 생성할 수도 있을 것입니다.

간단하게 생각해보아도

일정주기 DB에 있는 내용을 HTML생성하여 사용하기

회사 ERP에서 매번 새로 만들어지는 테이블에 맞게 Copy and paste해서 조금 조금만 바꾸어서 사용한다면 패턴화해서 테이블만 입력하면 사용자 단 까지 뼈대를 한번에 만들기

등등 활용방법에 따라 폭넓고 유용한 도구이라는 것을 짐작할 수 있을 것입니다.

하지만 이번 강좌에서는 주로 entity framework이나 MVC Scaffolding처럼 코딩 중에 도움을 받을 수있는 작업을 예로 해서 진행합니다.

개인적으로 C#언어를 선호하므로 예제는 모두 C#으로 작성되었습니다.

해당 언어를 잘 구사할 수 있고 닷넷 개발 경험이 있으시다면 수월하게 따라 하실 수 있습니다.

 

2.     편리한 작업 환경 구성

 

T4 Template을 만들거나 수정하려고 마음을 먹었다면 가장 문제가 되는 부분이 바로 IDE환경에서 거의 Text파일 편집할 때와 마찬가지라는 점이다.

다시 말해, Visual studio IDE에서 적응되어져 있는 문법의 색상입혀 주기, 속성, 매서드, 하위 개체등을 편리하게 찾을 수 있는 intellsense 등이 현재까지는 tt파일에 관해서는 적용이 되지 않는 다는 점이다.

 

새 아이템 추가를 해서 [General]분류에 “Text Template”을 추가한다.

1-1.png

추가되면서 동시에 해당 tt가 실행되면서 경고창이 나온다.

1-2.png

이렇게 간단한 형태의 tt 파일을 확인한다.

1-3.png

솔루션 탐색기 화면에서 해당 TextTemplate1.tt파일의 앞의 ▷버튼을 클릭하여 추가되면서 생성된 빈 text파일인 TextTemplate1.txt파일을 확인할 수 있다.

  1-4.png

1-5.png

처음을 확인하였던 tt파일을 다시 확인해보면 아래와 같이 흑백화면임을 알 수 있다.

1-6.png

이미 거론한 바와 같이 문법에 관한 색상 등 Visual studio가 제공해주는 editor환경의 혜택을 하나도 볼 수가 없다.

결국 메모장으로 T4 template을 작성해야하는 것이다.

아마도 아직까지는 visual studio에서 해당 환경을 지원하고 있지 않는 듯하다.

그래서 3rd party 프로그램을 찾아봅니다.

[tools]-[extension manager]로 이동합니다.

1-7.png

[Online Gallery]에서 “t4 template editor”라고 검색을 합니다.

1-8.png

다행히 현재(2012-04-09)기준으로 3개의 editor가 보입니다.

그 중에서 가장 많이 사용되었고 평가도 좋고 흔히 인용되어지고 사용되어지는 tangible T4 editordownload합니다.

참고로 해당 소프트웨어는 free버젼과 pro 버젼이 있다고 합니다.

그리고 modeling 툴이 같이 포함되어져 있습니다.

1-9.png

다운로드를 클릭하고 실행합니다

1-10.png

1-11.png

환영메세지를 확인하고 다음을 클릭합니다.

1-12.png

설치폴더를 지정하고 다음을 클릭합니다.

1-13.png

원하는 features를 선택하고 다음을 클릭합니다.

1-14.png

조금 과하게 친절해서 설치확인화면이 나옵니다. 확인을 하고 다음을 클릭합니다.

1-15.png

라이센스가 있는 소프트웨어니 만큼 꼼꼼히 살핍니다. 그리고 동의를 합니다.

여기서 동의하지 않으실 분은 메모장에서 코딩하듯 계속 그렇게 하십니다.

저는 동의하고 다음을 클릭하였습니다.

1-16.png

설치가 진행되고 기다립니다.

1-17.png

설치가 완료되었습니다. 닫기를 클릭합니다.

Visual studio를 돌아 옵니다. 여전히 흑백화면임을 확인합니다.

1-18.png

 

종료 후 다시 시작합니다.

1-19.png

OMG!! 여전히 흑백화면입니다. 해당 tt파일을 닫았다가 다시 열어줍니다.

1-20.png

1-21.png

1-22.png

컬러가 되었습니다. 그리고 원하는 IDE의 기능도 있습니다. 올레~~!!