Uporabite TextTransform za samodejno ustvarjanje kode s T4 brez zagona Visual Studia

Stran posodobljena :
Datum ustvarjanja strani :

Delovno okolje

Visual Studio
  • Visual Studio 2022
Windows
  • Okna 11

Predpogoji

Visual Studio
  • Deluje tudi z nekoliko starejšo različico

Pogoj

Ta namig predvideva naslednje:

  • Visual Studio, nameščen v sistemu Windows

V tem primeru bomo uporabili orodje, imenovano »TextTransform (ali TextTransformCore)«, ker pa gre za orodje, ki je vključeno v Visual Studio, ga je treba namestiti, tudi če ne zaženete Visual Studia.

Kakšna je razlika med "TextTransform.exe" in "TextTransformCore.exe"?

»TextTransform.exe« je zgodnje orodje, ki obstaja že od prihoda okvira entitet.

TextTransformCore.exe je novo orodje, ki temelji na .NET 6.

Ni večje funkcionalne razlike, zato ni pomembno, katero uporabite.

Ustvarjanje datoteke T4 (.tt)

Ne razlikuje se od tega, kar ustvarite v programu Visual Studio, zato ga ustvarite z urejevalnikom besedila. Tokrat bomo uporabili kodo, ki smo jo prej ustvarili kot gospod / gospa.

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

V tem primeru bomo to datoteko postavili na naslednje mesto. Lahko ga zaženete kjer koli, zato ga pustite kjerkoli želite.

  • C:\Začasno\Sample.tt

Ustvarite kodo z orodjem ukazne vrstice "TextTransform"

V Visual Studiu je bilo enostavno, ker je Visual Studio samodejno ustvaril kodo z uporabo »TextTransform«, če pa ne uporabljate Visual Studia, morate ročno ustvariti kodo z »TextTransform«.

TextTransform je orodje ukazne vrstice, ki se namesti, ko namestite Visual Studio v to mapo:

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

[Primer]

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

Zaženite terminal ali ukazni poziv in uporabite TextTransform za ustvarjanje kode.

V operacijskem sistemu Windows 11 zaženite Terminal iz menija Start. Za druge operacijske sisteme uporabite ukazni poziv.

Za terminal preklopite na ukazni poziv. Ničesar ne morete storiti z PowerShell, vendar se opis nekoliko spremeni.

cd V ukazu se pomaknite do mape, kamor ste postavili datoteko .tt, in vnesite ukaz, kot sledi: (Prosimo, spremenite različico poti do mape, kot je primerno.)

[Primer vnosa]

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

Če je uspešen, se postopek nadaljuje, kot da bi bil opravljen brez incidentov. Če dejansko pogledate mapo, lahko vidite, da je koda samodejno ustvarjena.

Vsebina je tudi pravilno ustvarjena.

Želim skrajšati pot TextTransform pri izvajanju ukaza.

Če ne želite napisati dolge poti do TextTransform vsakič, ko zaženete ukaz, lahko to pot registrirate v »spremenljivki okolja«. Če gre za ukazni poziv za razvoj, ki je priložen programu Visual Studio, se bo privzeto skliceval na to pot, kar olajša pisanje.

Če si ogledate mapo Visual Studio v meniju Start, boste našli ukazni poziv za razvoj in ga zagnali.

Na enak način lahko pri pisanju ukaza izpustite pot TextTransform in jo izvedete.

Mimogrede, v primeru operacijskega sistema Windows 11 ga je enostavno odpreti, ker je vgrajen v terminal.

Vstavite ukaze v datoteko .bat ali .ps1, da jih boste preprosto zagnali

Vsebina, ki jo je treba opisati, je enaka kot pri vnosu običajnega ukaza, zato je vsebina izpuščena. Glede na nastavitve operacijskega sistema je lahko omejena, tako da je ni mogoče izvesti, tudi če dvokliknete datoteko .bat ali .ps1, zato jo v tem primeru nastavite tako, da jo je mogoče izvesti.