Utilizați TextTransform pentru a genera automat cod cu T4 fără a lansa Visual Studio

Pagina actualizată :
Data creării paginii :

Mediu de operare

Visual Studio
  • Visual Studio 2022
Windows
  • Ferestre 11

Cerințe preliminare

Visual Studio
  • Funcționează chiar și cu o versiune ceva mai veche

Condiție prealabilă

Acest sfat presupune următoarele:

  • Visual Studio instalat pe Windows

În acest caz, vom folosi un instrument numit "TextTransform (sau TextTransformCore)", dar deoarece este un instrument inclus în Visual Studio, este necesar să îl instalați chiar dacă nu porniți Visual Studio.

Care este diferența dintre "TextTransform.exe" și "TextTransformCore.exe"?

"TextTransform.exe" este un instrument timpuriu care există încă de la apariția Cadrului entității.

TextTransformCore.exe este un nou instrument construit pe baza .NET 6.

Nu există nicio diferență funcțională majoră, deci nu contează pe care o utilizați.

Crearea unui fișier T4 (.tt)

Nu este diferit de ceea ce creați în Visual Studio, deci utilizați un editor de text pentru a-l crea. De data aceasta, vom folosi codul pe care l-am creat anterior ca domn / doamnă.

<#@ 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;
  }
<# } #>
}

În acest caz, vom plasa acest fișier în următoarea locație. Îl puteți rula oriunde, așa că lăsați-l oriunde doriți.

  • C:\Temporar\Sample.tt

Generați codul utilizând instrumentul de linie de comandă "TextTransform"

În Visual Studio, a fost ușor deoarece Visual Studio a generat automat cod folosind "TextTransform", dar dacă nu utilizați Visual Studio, trebuie să generați manual cod folosind "TextTransform".

TextTransform este un instrument de linie de comandă care este instalat atunci când instalați Visual Studio în următorul folder:

  • < drivePath>\Program Files\Microsoft Visual Studio\<Visual Studio Version>\<Editions>\Common7\IDE\TextTransform.exe
  • < diskpath>\Program Files\Microsoft Visual Studio\<Visual Studio Version>\<Editions>\Common7\IDE\TextTransformCore.exe

[Exemplu]

  • C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\TextTransform.exe

Lansați un terminal sau un prompt de comandă și utilizați TextTransform pentru a genera cod.

Pentru Windows 11, lansați Terminal din meniul Start. Pentru alte sisteme de operare, utilizați promptul de comandă.

Pentru terminal, comutați la promptul de comandă. Nu puteți face nimic cu PowerShell, dar descrierea se schimbă ușor.

cd În comandă, navigați la folderul în care ați plasat fișierul .tt și introduceți comanda după cum urmează: (Vă rugăm să modificați versiunea căii folderului, după caz.)

[Exemplu de intrare]

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

Dacă are succes, procesul se desfășoară ca și cum ar fi fost făcut fără incidente. Dacă vă uitați efectiv la folder, puteți vedea că codul este generat automat.

Conținutul este, de asemenea, creat corespunzător.

Vreau să scurtez calea TextTransform atunci când execut o comandă.

Dacă nu doriți să scrieți o cale lungă către TextTransform de fiecare dată când rulați o comandă, puteți înregistra acea cale într-o "variabilă de mediu". Dacă este un prompt de comandă de dezvoltare care vine cu Visual Studio, acesta va face referire la acea cale în mod implicit, facilitând scrierea.

Dacă vă uitați la folderul Visual Studio din meniul Start, veți găsi un prompt de comandă de dezvoltare și îl veți lansa.

În același mod, atunci când scrieți o comandă, puteți omite calea TextTransform și o puteți executa.

Apropo, în cazul Windows 11, este ușor să îl deschideți, deoarece este încorporat în terminal.

Plasarea comenzilor într-un fișier .bat sau .ps1 pentru a le face ușor de rulat

Conținutul care trebuie descris este același ca la introducerea unei comenzi normale, astfel încât conținutul este omis. În funcție de setările sistemului de operare, acesta poate fi restricționat, astfel încât să nu poată fi executat chiar dacă faceți dublu clic pe fișierul .bat sau .ps1, așa că, în acest caz, setați-l astfel încât să poată fi executat.