Gunakan TextTransform untuk menjana kod secara automatik dengan T4 tanpa melancarkan Visual Studio

Laman dikemaskini :
Tarikh penciptaan halaman :

Persekitaran operasi

Visual Studio
  • Visual Studio 2022
Windows
  • Windows 11

Prasyarat

Visual Studio
  • Ia berfungsi walaupun dengan versi yang agak lama

prasyarat

Petua ini mengandaikan perkara berikut:

  • Visual Studio dipasang pada Windows

Dalam kes ini, kami akan menggunakan alat yang dipanggil "TextTransform (atau TextTransformCore)", tetapi kerana ia adalah alat yang disertakan dalam Visual Studio, adalah perlu untuk memasangnya walaupun anda tidak memulakan Visual Studio.

Apakah perbezaan antara "TextTransform.exe" dan "TextTransformCore.exe"?

"TextTransform.exe" ialah alat awal yang telah wujud sejak kemunculan Rangka Kerja Entiti.

TextTransformCore.exe ialah alat baharu yang dibina di atas .NET 6.

Tiada perbezaan fungsi yang besar, jadi tidak kira yang mana yang anda gunakan.

Buat fail T4 (.tt)

Ia tidak berbeza daripada apa yang anda cipta dalam Visual Studio, jadi gunakan editor teks untuk menciptanya. Kali ini, kami akan menggunakan kod yang kami buat sebelum ini sebagai Mr./Cik.

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

Dalam kes ini, kami akan meletakkan fail ini di lokasi berikut. Anda boleh menjalankannya di mana-mana sahaja, jadi biarkan di mana sahaja anda mahu.

  • C:\Sementara\Sample.tt

Jana kod menggunakan alat baris arahan "TextTransform"

Dalam Visual Studio, ia mudah kerana Visual Studio menjana kod secara automatik menggunakan "TextTransform", tetapi jika anda tidak menggunakan Visual Studio, anda perlu menjana kod secara manual menggunakan "TextTransform".

TextTransform ialah alat baris arahan yang dipasang apabila anda memasang Visual Studio dalam folder berikut:

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

[Contoh]

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

Lancarkan terminal atau gesaan arahan dan gunakan TextTransform untuk menjana kod.

Untuk Windows 11, lancarkan Terminal daripada menu Mula. Untuk sistem pengendalian lain, gunakan prompt arahan.

Untuk terminal, tukar kepada gesaan arahan. Tiada apa-apa yang anda tidak boleh lakukan dengan PowerShell, tetapi penerangan berubah sedikit.

cd Dalam arahan, navigasi ke folder tempat anda meletakkan fail .tt dan masukkan arahan seperti berikut: (Sila tukar versi laluan folder mengikut kesesuaian.)

[Contoh input]

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

Jika berjaya, proses itu diteruskan seolah-olah ia dilakukan tanpa insiden. Jika anda benar-benar melihat folder, anda dapat melihat bahawa kod itu dijana secara automatik.

Kandungannya juga dicipta dengan betul.

Saya mahu memendekkan laluan TextTransform semasa melaksanakan arahan.

Jika anda tidak mahu menulis laluan panjang ke TextTransform anda setiap kali anda menjalankan arahan, anda boleh mendaftarkan laluan tersebut dalam "pembolehubah persekitaran". Jika ia adalah gesaan arahan pembangunan yang disertakan dengan Visual Studio, ia akan merujuk laluan itu secara lalai, menjadikannya lebih mudah untuk menulis.

Jika anda melihat folder Visual Studio daripada menu Mula, anda akan menemui gesaan arahan pembangunan dan melancarkannya.

Dengan cara yang sama, apabila menulis arahan, anda boleh meninggalkan laluan TextTransform dan melaksanakannya.

By the way, dalam kes Windows 11, mudah untuk membukanya kerana ia terbina dalam terminal.

Letakkan arahan dalam fail .bat atau .ps1 untuk menjadikannya mudah dijalankan

Kandungan yang akan diterangkan adalah sama seperti ketika memasukkan arahan biasa, jadi kandungannya ditinggalkan. Bergantung pada tetapan OS, ia mungkin dihadkan supaya ia tidak boleh dilaksanakan walaupun anda klik dua kali fail .bat atau .ps1, jadi dalam kes itu, sila tetapkannya supaya ia boleh dilaksanakan.