다음을 통해 공유


Domain-Specific 언어에서 코드 생성

Microsoft Domain-Specific Language Tools는 모델에 표시된 데이터에서 코드, 문서, 구성 파일 및 기타 아티팩트를 생성하는 강력한 방법을 제공합니다. Domain-Specific Language Tools를 사용하여 데이터를 나타내는 클래스 집합을 만들 수 있으며 이름 및 속성이 해당 데이터를 반영하는 클래스에 텍스트 템플릿을 작성할 수 있습니다.

예를 들어 Fabrikam에는 고객 이름과 전자 메일 주소의 XML 파일이 있습니다. 개발자들은 Customer(고객)을 이름과 이메일 속성으로 하는 클래스로 모델을 만듭니다. HTML 페이지의 일부로 모든 고객의 테이블을 생성하는 이 조각을 포함하여 데이터를 처리하는 여러 텍스트 템플릿을 작성합니다.

<table>
<# foreach (Customer c in ContactList) {  #>
  <tr><td> <#= c.FullName #> </td>
      <td> <#= c.EmailAddress #> </td> </tr>
<# } #>  </table>

고객 데이터베이스가 처리되면 XML 파일이 모델 저장소로 읽혀집니다. Domain-Specific Language Tools를 사용하여 만든 지시문 프로세서를 사용하면 텍스트 템플릿의 코드에서 Customer 클래스를 사용할 수 있습니다. 동일한 저장소에 대해 많은 텍스트 템플릿을 실행할 수 있습니다.

텍스트 템플릿은 Domain-Specific 언어 도구에 필수적입니다. 도메인 모델의 요소뿐만 아니라 VSPackage 및 도구를 Visual Studio와 통합하는 데 사용되는 컨트롤에 대한 소스 코드를 생성하는 데 사용됩니다.

이 섹션에서는 Domain-Specific Language Tools에 사용되는 텍스트 템플릿을 만들고 수정하고 디버그하는 몇 가지 방법을 설명합니다.

이 섹션 안에

텍스트 템플릿에서 모델 액세스
텍스트 템플릿에서 도메인별 언어를 참조하는 방법에 대한 기본 정보를 제공합니다.

연습: 모델에 액세스하는 텍스트 템플릿 디버깅
도메인별 언어를 참조하는 텍스트 템플릿에서 문제 해결 및 디버깅을 수행하는 방법을 설명합니다.

연습: 생성된 지시문 프로세서에 호스트 연결
사용자 지정 호스트를 생성된 지시문 프로세서에 연결하는 방법을 설명합니다.

DslTextTransform 명령
도메인별 언어를 참조하는 텍스트 템플릿의 명령줄에서 TextTransform 실행 파일을 실행하는 명령 파일에 대해 설명합니다.

Reference

T4 텍스트 템플릿 작성
텍스트 템플릿 지시문 및 제어 블록의 구문을 제공합니다.