Použití TextTransform k automatickému generování kódu pomocí T4 bez spuštění sady Visual Studio

Stránky aktualizovány :
Datum vytvoření stránky :

Provozní prostředí

Visual Studio
  • Visual Studio 2022
Windows
  • Systém Windows 11

Požadavky

Visual Studio
  • Funguje to i s poněkud starší verzí

předpoklad

Tento tip předpokládá následující:

  • Visual Studio nainstalované ve Windows

V tomto případě použijeme nástroj s názvem "TextTransform (nebo TextTransformCore)", ale protože se jedná o nástroj, který je součástí Visual Studia, je nutné jej nainstalovat i v případě, že Visual Studio nespustíte.

Jaký je rozdíl mezi "TextTransform.exe" a "TextTransformCore.exe"?

"TextTransform.exe" je raný nástroj, který existuje od příchodu Entity Frameworku.

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

Neexistuje žádný zásadní funkční rozdíl, takže nezáleží na tom, který z nich použijete.

Vytvoření souboru T4 (.tt)

Neliší se od toho, co vytvoříte v Visual Studio, takže ho vytvořte pomocí textového editoru. Tentokrát použijeme kód, který jsme dříve vytvořili jako pan/paní.

<#@ 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 takovém případě umístíme tento soubor do následujícího umístění. Můžete jej spustit kdekoli, takže jej nechte, kdekoli chcete.

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

Generování kódu pomocí nástroje příkazového řádku "TextTransform"

Ve Visual Studio to bylo snadné, protože Visual Studio automaticky generovalo kód pomocí "TextTransform", ale pokud Visual Studio nepoužíváte, musíte ručně vygenerovat kód pomocí "TextTransform".

TextTransform je nástroj příkazového řádku, který se nainstaluje při instalaci sady Visual Studio do následující složky:

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

[Příklad]

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

Spusťte terminál nebo příkazový řádek a pomocí TextTransform vygenerujte kód.

Ve Windows 11 spusťte Terminál z nabídky Start. U jiných operačních systémů použijte příkazový řádek.

V případě terminálu přepněte na příkazový řádek. Neexistuje nic, co byste s PowerShellem nemohli dělat, ale popis se mírně změní.

cd V příkazu přejděte do složky, do které jste umístili soubor .tt, a zadejte příkaz následujícím způsobem: (Podle potřeby změňte verzi cesty ke složce.)

[Příklad vstupu]

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

Pokud je proces úspěšný, pokračuje tak, jako by proběhl bez incidentu. Pokud se skutečně podíváte na složku, můžete vidět, že kód je automaticky vygenerován.

Obsah je také správně vytvořen.

Chci zkrátit cestu k TextTransform při provádění příkazu.

Pokud nechcete zapisovat dlouhou cestu k TextTransform pokaždé, když spustíte příkaz, můžete tuto cestu zaregistrovat v "proměnné prostředí". Pokud se jedná o vývojový příkazový řádek, který je součástí sady Visual Studio, bude ve výchozím nastavení odkazovat na tuto cestu, což usnadní zápis.

Pokud se podíváte na složku Visual Studio z nabídky Start, najdete příkazový řádek pro vývoj a spustíte ho.

Stejným způsobem můžete při psaní příkazu vynechat cestu k TextTransform a spustit ji.

Mimochodem, v případě Windows 11 je snadné jej otevřít, protože je zabudován do terminálu.

Umístěte příkazy do souboru .bat nebo .ps1, aby se daly snadno spouštět

Obsah, který má být popsán, je stejný jako při zadávání normálního příkazu, takže obsah je vynechán. V závislosti na nastavení operačního systému může být omezen tak, že jej nelze spustit, i když dvakrát kliknete na soubor .bat nebo .ps1, takže v takovém případě jej nastavte tak, aby jej bylo možné spustit.