Naudokite TextTransform, kad automatiškai sugeneruotumėte kodą naudodami T4 nepaleidžiant Visual Studio

Puslapis atnaujintas :
Puslapio sukūrimo data :

Darbo aplinka

Vizualinė studija
  • "Visual Studio 2022"
Windows
  • Langai 11

Būtinosios sąlygos

Vizualinė studija
  • Jis veikia net ir su šiek tiek senesne versija

Prielaida

Šiame patarime daroma prielaida, kad:

  • "Visual Studio" įdiegta sistemoje "Windows".

Tokiu atveju naudosime įrankį, pavadintą "TextTransform (arba TextTransformCore)", tačiau kadangi tai yra įrankis, įtrauktas į "Visual Studio", būtina jį įdiegti, net jei nepaleidžiate "Visual Studio".

Kuo skiriasi "TextTransform.exe" ir "TextTransformCore.exe"?

"TextTransform.exe" yra ankstyvas įrankis, kuris buvo naudojamas nuo pat subjekto sistemos atsiradimo.

TextTransformCore.exe yra naujas įrankis, sukurtas ant .NET 6.

Nėra didelio funkcinio skirtumo, todėl nesvarbu, kurį iš jų naudojate.

T4 failo (.tt) kūrimas

Jis nesiskiria nuo to, ką sukuriate naudodami "Visual Studio", todėl norėdami jį sukurti naudokite teksto rengyklę. Šį kartą naudosime kodą, kurį anksčiau sukūrėme kaip ponas/ponia.

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

Tokiu atveju šį failą patalpinsime šioje vietoje. Galite paleisti jį bet kur, todėl palikite jį kur tik norite.

  • C:\Laikinas\Sample.tt

Sugeneruokite kodą naudodami komandinės eilutės įrankį "TextTransform"

"Visual Studio" tai buvo lengva, nes "Visual Studio" automatiškai sugeneravo kodą naudodama "TextTransform", bet jei nenaudojate "Visual Studio", turite rankiniu būdu sugeneruoti kodą naudodami "TextTransform".

TextTransform yra komandų eilutės įrankis, kuris įdiegiamas, kai įdiegiate Visual Studio šiame aplanke:

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

[Pavyzdys]

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

Paleiskite terminalą arba komandų eilutę ir naudokite TextTransform, kad sugeneruotumėte kodą.

Jei naudojate "Windows 11", paleiskite terminalą iš meniu Pradėti. Kitoms operacinėms sistemoms naudokite komandų eilutę.

Norėdami gauti terminalą, perjunkite į komandų eilutę. Nėra nieko, ko negalėtumėte padaryti naudodami "PowerShell", tačiau aprašymas šiek tiek pasikeičia.

cd Komandoje eikite į aplanką, kuriame įdėjote .tt failą, ir įveskite komandą taip: (Jei reikia, pakeiskite aplanko kelio versiją.)

[Įvesties pavyzdys]

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

Jei pasiseka, procesas vyksta taip, lyg tai būtų padaryta be incidentų. Jei iš tikrųjų pažvelgsite į aplanką, pamatysite, kad kodas yra automatiškai sugeneruotas.

Turinys taip pat yra tinkamai sukurtas.

Noriu sutrumpinti TextTransform kelią vykdydamas komandą.

Jei nenorite rašyti ilgo kelio į savo TextTransform kiekvieną kartą, kai vykdote komandą, galite užregistruoti tą kelią "aplinkos kintamajame". Jei tai yra kūrimo komandų eilutė, pateikiama kartu su "Visual Studio", ji pagal numatytuosius nustatymus nurodys tą kelią, todėl bus lengviau rašyti.

Jei meniu Pradėti pažvelgsite į aplanką "Visual Studio", rasite kūrimo komandų eilutę ir paleisite ją.

Lygiai taip pat, rašydami komandą, galite praleisti TextTransform kelią ir jį vykdyti.

Beje, "Windows 11" atveju jį lengva atidaryti, nes jis yra įmontuotas į terminalą.

Įdėkite komandas į .bat arba .ps1 failą, kad jas būtų lengva paleisti

Aprašomas turinys yra toks pat, kaip įvedant įprastą komandą, todėl turinys praleidžiamas. Priklausomai nuo OS nustatymų, jis gali būti apribotas, kad jo nebūtų galima vykdyti, net jei dukart spustelėsite .bat arba .ps1 failą, todėl tokiu atveju nustatykite jį taip, kad jį būtų galima vykdyti.