Kasutage TextTransformi koodi automaatseks genereerimiseks T4-ga ilma Visual Studio käivitamata
Töökeskkond
- Visuaalne stuudio
-
- Visual Studio 2022
- Windows
-
- Windows 11
Eeltingimused
- Visuaalne stuudio
-
- See töötab isegi mõnevõrra vanema versiooniga
eeltingimus
See näpunäide eeldab järgmist:
- Visual Studio installiti Windowsi
Sel juhul kasutame tööriista nimega "TextTransform (või TextTransformCore)", kuid kuna see on Visual Studios sisalduv tööriist, on vaja see installida ka siis, kui te Visual Studio ei käivita.
Mis on "TextTransform.exe" ja "TextTransformCore.exe" vahel?
"TextTransform.exe" on varajane tööriist, mis on olnud kasutusel alates üksuse raamistiku loomisest.
TextTransformCore.exe on uus tööriist, mis on ehitatud .NET 6 peale.
Suurt funktsionaalset erinevust pole, seega pole vahet, millist neist kasutate.
T4-faili (.tt) loomine
See ei erine sellest, mida loote Visual Studios, nii et kasutage selle loomiseks tekstiredaktorit. Seekord kasutame koodi, mille lõime varem hr/pr.
<#@ 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;
}
<# } #>
}
Sel juhul paigutame selle faili järgmisse asukohta. Saate seda käivitada kõikjal, nii et jätke see kuhu iganes soovite.
- C:\Ajutine\Sample.tt
Genereerige kood käsurea tööriista "TextTransform" abil
Visual Studios oli see lihtne, sest Visual Studio genereeris koodi automaatselt "TextTransform" abil, kuid kui te Visual Studiot ei kasuta, peate koodi käsitsi genereerima, kasutades "TextTransform".
TextTransform on käsurea tööriist, mis installitakse, kui installite Visual Studio järgmisse kausta:
- < 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
[Näide]
- C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\TextTransform.exe
Käivitage terminal või käsuviip ja kasutage koodi genereerimiseks funktsiooni TextTransform.
Windows 11 puhul käivitage terminal menüüst Start. Teiste operatsioonisüsteemide puhul kasutage käsurea.
Terminali jaoks lülitage käsureale. PowerShelliga ei saa midagi teha, kuid kirjeldus muutub veidi.
cd
Liikuge käsus kausta, kuhu .tt-faili paigutasite, ja sisestage käsk järgmiselt: (Palun muutke kaustatee versiooni vastavalt vajadusele.)
[Sisestage näide]
- "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\TextTransform" Sample.tt
Kui see on edukas, jätkub protsess nii, nagu oleks see tehtud ilma vahejuhtumiteta. Kui vaatate kausta tegelikult, näete, et kood genereeritakse automaatselt.
Sisu on ka korralikult loodud.
Soovin käsu täitmisel lühendada TextTransformi teed.
Kui te ei soovi iga kord, kui käivitate käsu, oma TextTransformi pikka teed kirjutada, saate selle tee registreerida "keskkonnamuutujas". Kui see on Visual Studioga kaasas olev arenduskäsuviip, viitab see vaikimisi sellele teele, muutes selle kirjutamise lihtsamaks.
Kui vaatate menüüst Start kausta Visual Studio, leiate arenduskäsu viiba ja käivitate selle.
Samamoodi võite käsu kirjutamisel jätta TextTransformi tee välja ja käivitada selle.
Muide, Windows 11 puhul on seda lihtne avada, sest see on terminali sisse ehitatud.
Käskude paigutamine .bat- või PS1-faili, et neid oleks lihtne käivitada
Kirjeldatav sisu on sama, mis tavalise käsu sisestamisel, nii et sisu jäetakse välja. Sõltuvalt operatsioonisüsteemi seadetest võib see olla piiratud nii, et seda ei saa käivitada isegi siis, kui topeltklõpsate failil .bat või .ps1, nii et sel juhul seadistage see nii, et seda saaks täita.