Použite TextTransform na automatické generovanie kódu pomocou T4 bez spustenia Visual Studia

Stránka aktualizovaná :
Dátum vytvorenia strany :

Prevádzkové prostredie

Visual Studio
  • Visual Studio 2022
Windows
  • Okná 11

Predpoklady

Visual Studio
  • Funguje aj s trochu staršou verziou

Predpokladom

Tento tip predpokladá nasledovné:

  • Visual Studio nainštalované vo Windowse

V tomto prípade použijeme nástroj s názvom "TextTransform (alebo TextTransformCore)", ale keďže ide o nástroj obsiahnutý vo Visual Studiu, je potrebné ho nainštalovať aj v prípade, že Visual Studio nespustíte.

Aký je rozdiel medzi "TextTransform.exe" a "TextTransformCore.exe"?

"TextTransform.exe" je raný nástroj, ktorý existuje od príchodu Entity Framework.

TextTransformCore.exe je nový nástroj postavený na .NET 6.

Neexistuje žiadny zásadný funkčný rozdiel, takže nezáleží na tom, ktorý z nich použijete.

Vytvorenie súboru T4 (.tt)

Nelíši sa od toho, čo vytvoríte v aplikácii Visual Studio, preto na jeho vytvorenie použite textový editor. Tentokrát použijeme kód, ktorý sme predtým vytvorili ako pán/pani.

<#@ 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 takom prípade umiestnime tento súbor na nasledujúce miesto. Môžete ho spustiť kdekoľvek, takže ho nechajte kdekoľvek chcete.

  • C:\Dočasné\Sample.tt

Generovanie kódu pomocou nástroja príkazového riadka "TextTransform"

V aplikácii Visual Studio to bolo jednoduché, pretože Visual Studio automaticky generovalo kód pomocou "TextTransform", ale ak nepoužívate Visual Studio, musíte manuálne vygenerovať kód pomocou "TextTransform".

TextTransform je nástroj príkazového riadka, ktorý sa nainštaluje pri inštalácii Visual Studio do nasledujúceho priečinka:

  • < 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

[Príklad]

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

Spustite terminál alebo príkazový riadok a pomocou nástroja TextTransform vygenerujte kód.

V systéme Windows 11 spustite Terminál z ponuky Štart. V prípade iných operačných systémov použite príkazový riadok.

V prípade terminálu prepnite na príkazový riadok. Nie je nič, čo by ste nemohli urobiť pomocou prostredia PowerShell, ale popis sa mierne zmení.

cd V príkaze prejdite do priečinka, do ktorého ste umiestnili súbor .tt, a zadajte príkaz nasledovne: (Podľa potreby zmeňte verziu cesty k priečinku.)

[Príklad vstupu]

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

Ak je proces úspešný, proces prebieha, ako keby bol vykonaný bez incidentov. Ak sa skutočne pozriete na priečinok, môžete vidieť, že kód sa generuje automaticky.

Obsah je tiež správne vytvorený.

Chcem skrátiť cestu TextTransform pri vykonávaní príkazu.

Ak nechcete písať dlhú cestu k nástroju TextTransform pri každom spustení príkazu, môžete túto cestu zaregistrovať do "premennej prostredia". Ak ide o vývojový príkazový riadok, ktorý sa dodáva so sadou Visual Studio, bude predvolene odkazovať na túto cestu, čo uľahčuje písanie.

Ak sa pozriete na priečinok Visual Studio z ponuky Štart, nájdete príkazový riadok vývoja a spustíte ho.

Rovnakým spôsobom môžete pri písaní príkazu vynechať cestu k TextTransform a vykonať ju.

Mimochodom, v prípade Windows 11 je ľahké ho otvoriť, pretože je zabudovaný do terminálu.

Vložte príkazy do súboru .bat alebo .ps1, aby sa dali ľahko spúšťať

Obsah, ktorý sa má popísať, je rovnaký ako pri zadávaní normálneho príkazu, takže obsah je vynechaný. V závislosti od nastavení operačného systému môže byť obmedzený, takže ho nemožno spustiť, aj keď dvakrát kliknete na súbor .bat alebo .ps1, takže v takom prípade ho nastavte tak, aby sa dal spustiť.