TextTransform을 사용하면 Visual Studio를 시작하지 않고도 T4로 코드를 자동으로 생성할 수 있습니다.

페이지 업데이트 :
페이지 생성 날짜 :

운영 환경

비주얼 스튜디오
  • 비주얼 스튜디오 2022
윈도우
  • 윈도우 11

필수 구성 요소

비주얼 스튜디오
  • 다소 오래된 버전에서도 작동합니다

전제 조건

이 팁에서는 다음을 가정합니다.

  • Windows에 설치된 Visual Studio

이 경우 "TextTransform (또는 TextTransformCore)"이라는 도구를 사용하지만, Visual Studio에 포함 된 도구이므로 Visual Studio를 시작하지 않아도 설치해야합니다.

"TextTransform.exe"와 "TextTransformCore.exe"의 차이점은 무엇입니까?

"TextTransform.exe"는 Entity Framework가 등장한 이래로 사용되어 온 초기 도구입니다.

TextTransformCore.exe는 .NET 6을 기반으로 빌드된 새로운 도구입니다.

큰 기능적 차이는 없으므로 어떤 것을 사용하든 상관 없습니다.

T4 파일(.tt) 만들기

Visual Studio에서 만드는 것과 다르지 않으므로 텍스트 편집기를 사용하여 만듭니다. 이번에는 이전에 만든 코드를 Mr./Ms.로 사용합니다.

<#@ template debug="false" hostspecific="false" language="C#" #>
<#@ assembly name="System.Core" #>
<#@ import namespace="System.Linq" #>
<#@ import namespace="System.Text" #>
<#@ import namespace="System.Collections.Generic" #>
<#@ output extension=".cs" #>

<#
  List<string> types = new(){"Int", "Short", "Long", "Float", "Double", "Decimal"}; 
#>

public static class ParseExtensions
{
<# foreach (var type in types) { #>
<#   var typeLower = type.ToLower(); #>
  public static <#= typeLower #> Parse<#= type #>(this string self, <#= typeLower #> defaultValue)
  {
    return <#= typeLower #>.TryParse(self, out var val) ? val : defaultValue;
  }
<# } #>
}

이 경우 이 파일을 다음 위치에 배치합니다. 어디에서나 실행할 수 있으므로 원하는 곳에 두십시오.

  • C:\임시\Sample.tt

명령줄 도구 "TextTransform"을 사용하여 코드 생성

Visual Studio에서는 Visual Studio가 "TextTransform"을 사용하여 자동으로 코드를 생성하기 때문에 쉬웠지만 Visual Studio를 사용하지 않는 경우 "TextTransform"을 사용하여 수동으로 코드를 생성해야 합니다.

TextTransform은 다음 폴더에 Visual Studio를 설치할 때 설치되는 명령줄 도구입니다.

  • < drivePath>\Program Files\Microsoft Visual Studio\<Visual Studio 버전>\<Editions>\Common7\IDE\TextTransform.exe
  • < 드라이브 경로>\Program Files\Microsoft Visual Studio\<Visual Studio 버전>\<Editions>\Common7\IDE\TextTransformCore.exe

[예]

  • C:\프로그램 파일\Microsoft Visual Studio\2022\Community\Common7\IDE\TextTransform.exe

터미널 또는 명령 프롬프트를 시작하고 TextTransform을 사용하여 코드를 생성합니다.

Windows 11의 경우 시작 메뉴에서 터미널을 실행합니다. 다른 운영 체제의 경우 명령 프롬프트를 사용합니다.

터미널의 경우 명령 프롬프트로 전환합니다. PowerShell로 할 수 없는 작업은 없지만 설명이 약간 변경됩니다.

cd 명령에서 .tt 파일을 배치한 폴더로 이동하여 다음과 같이 명령을 입력합니다. (폴더 경로의 버전을 적절하게 변경하십시오.)

[입력 예]

  • "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\TextTransform" Sample.tt

성공하면 프로세스가 사고 없이 수행된 것처럼 진행됩니다. 실제로 폴더를 보면 코드가 자동으로 생성되는 것을 볼 수 있습니다.

내용도 제대로 생성됩니다.

명령을 실행할 때 TextTransform의 경로를 줄이고 싶습니다.

명령을 실행할 때마다 TextTransform에 긴 경로를 작성하고 싶지 않다면 해당 경로를 "환경 변수"에 등록할 수 있습니다. Visual Studio와 함께 제공되는 개발 명령 프롬프트인 경우 기본적으로 해당 경로를 참조하므로 더 쉽게 작성할 수 있습니다.

시작 메뉴에서 Visual Studio 폴더를 보면 개발 명령 프롬프트를 찾아 실행합니다.

같은 방식으로 명령을 작성할 때 TextTransform의 경로를 생략하고 실행할 수 있습니다.

그건 그렇고, Windows 11의 경우 터미널에 내장되어 있기 때문에 쉽게 열 수 있습니다.

.bat 또는 .ps1 파일에 명령을 넣어 쉽게 실행할 수 있도록 합니다.

설명할 내용은 일반 명령어를 입력할 때와 동일하므로 내용은 생략한다. OS 설정에 따라 .bat이나 .ps1 파일을 더블 클릭해도 실행할 수 없도록 제한될 수 있으므로, 이 경우 실행할 수 있도록 설정해 주세요.