Gunakan TextTransform untuk secara otomatis menghasilkan kode dengan T4 tanpa meluncurkan Visual Studio

Halaman Diperbarui :
Tanggal pembuatan halaman :

Lingkungan operasi

Visual Studio
  • Visual Studio 2022
Windows
  • Jendela 11

Prasyarat

Visual Studio
  • Ini bekerja bahkan dengan versi yang agak lama

Prasyarat

Kiat ini mengasumsikan hal berikut:

  • Visual Studio diinstal di Windows

Dalam hal ini, kita akan menggunakan alat yang disebut "TextTransform (atau TextTransformCore)", tetapi karena ini adalah alat yang disertakan dalam Visual Studio, Anda perlu menginstalnya meskipun Anda tidak memulai Visual Studio.

Apa perbedaan antara "TextTransform.exe" dan "TextTransformCore.exe"?

"TextTransform.exe" adalah alat awal yang telah ada sejak munculnya Entity Framework.

TextTransformCore.exe adalah alat baru yang dibangun di atas .NET 6.

Tidak ada perbedaan fungsional yang besar, jadi tidak masalah mana yang Anda gunakan.

Buat file T4 (.tt)

Ini tidak berbeda dengan apa yang Anda buat di Visual Studio, jadi gunakan editor teks untuk membuatnya. Kali ini, kita akan menggunakan kode yang sebelumnya kita buat sebagai Mr./Ms..

<#@ 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 hal ini, kami akan menempatkan file ini di lokasi berikut. Anda dapat menjalankannya di mana saja, jadi tinggalkan di mana pun Anda mau.

  • C:\Sementara\Sample.tt

Hasilkan kode menggunakan alat baris perintah "TextTransform"

Di Visual Studio, itu mudah karena Visual Studio secara otomatis menghasilkan kode menggunakan "TextTransform", tetapi jika Anda tidak menggunakan Visual Studio, Anda harus membuat kode secara manual menggunakan "TextTransform".

TextTransform adalah alat baris perintah yang diinstal saat Anda menginstal Visual Studio di 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

Luncurkan terminal atau prompt perintah dan gunakan TextTransform untuk menghasilkan kode.

Untuk Windows 11, luncurkan Terminal dari menu Mulai. Untuk sistem operasi lain, gunakan command prompt.

Untuk terminal, alihkan ke command prompt. Tidak ada yang tidak dapat Anda lakukan dengan PowerShell, tetapi deskripsinya sedikit berubah.

cd Dalam perintah, navigasikan ke folder tempat Anda menempatkan file .tt dan masukkan perintah sebagai berikut: (Silakan ubah versi jalur folder yang sesuai.)

[Contoh masukan]

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

Jika berhasil, proses berlangsung seolah-olah dilakukan tanpa insiden. Jika Anda benar-benar melihat folder, Anda dapat melihat bahwa kode tersebut dibuat secara otomatis.

Isinya juga dibuat dengan benar.

Saya ingin mempersingkat jalur TextTransform saat menjalankan perintah.

Jika Anda tidak ingin menulis jalur panjang ke TextTransform Anda setiap kali Anda menjalankan perintah, Anda dapat mendaftarkan jalur tersebut dalam "variabel lingkungan". Jika itu adalah prompt perintah pengembangan yang disertakan dengan Visual Studio, itu akan mereferensikan jalur tersebut secara default, membuatnya lebih mudah untuk menulis.

Jika Anda melihat folder Visual Studio dari menu Mulai, Anda akan menemukan prompt perintah pengembangan dan meluncurkannya.

Dengan cara yang sama, saat menulis perintah, Anda dapat menghilangkan jalur TextTransform dan menjalankannya.

Ngomong-ngomong, dalam kasus Windows 11, mudah untuk membukanya karena terpasang di terminal.

Letakkan perintah dalam file .bat atau .ps1 agar mudah dijalankan

Konten yang akan dijelaskan sama seperti saat memasukkan perintah normal, sehingga konten dihilangkan. Bergantung pada pengaturan OS, itu mungkin dibatasi sehingga tidak dapat dieksekusi bahkan jika Anda mengklik dua kali file .bat atau .ps1, jadi dalam hal ini, harap atur agar dapat dieksekusi.