Visual Studio'yu başlatmadan T4 ile otomatik olarak kod oluşturmak için TextTransform'u kullanın
Çalışma ortamı
- Görsel Stüdyo
-
- Görsel Studio 2022
- Windows
-
- pencereler 11
Önkoşullar
- Görsel Stüdyo
-
- Biraz daha eski bir sürümle bile çalışır
önkoşul
Bu ipucu aşağıdakileri varsayar:
- Windows'ta yüklü Visual Studio
Bu durumda "TextTransform (veya TextTransformCore)" adında bir araç kullanacağız ancak Visual Studio'da bulunan bir araç olduğu için Visual Studio'yu başlatmasanız bile yüklemeniz gerekiyor.
"TextTransform.exe" ve "TextTransformCore.exe" arasındaki fark nedir?
"TextTransform.exe", Entity Framework'ün ortaya çıkışından bu yana var olan erken bir araçtır.
TextTransformCore.exe, .NET 6 üzerine inşa edilmiş yeni bir araçtır.
Önemli bir işlevsel fark yoktur, bu nedenle hangisini kullandığınız önemli değildir.
T4 dosyası (.tt) oluşturma
Visual Studio'da oluşturduğunuzdan farklı değildir, bu nedenle oluşturmak için bir metin düzenleyicisi kullanın. Bu sefer daha önce Mr./Mr. olarak oluşturduğumuz kodu kullanacağız.
<#@ 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;
}
<# } #>
}
Bu durumda, bu dosyayı aşağıdaki konuma yerleştireceğiz. Her yerde çalıştırabilirsiniz, bu yüzden istediğiniz yerde bırakın.
- C:\Geçici\Sample.tt
"TextTransform" komut satırı aracını kullanarak kod oluşturun
Visual Studio'da kolaydı çünkü Visual Studio "TextTransform" kullanarak otomatik olarak kod oluşturdu, ancak Visual Studio kullanmıyorsanız, "TextTransform" kullanarak kodu manuel olarak oluşturmanız gerekiyor.
TextTransform, Visual Studio'yu aşağıdaki klasöre yüklediğinizde yüklenen bir komut satırı aracıdır:
- < drivePath>\Program Files\Microsoft Visual Studio\<Visual Studio Version>\<Editions>\Common7\IDE\TextTransform.exe
- < sürücü yolu>\Program Files\Microsoft Visual Studio\<Visual Studio Version>\<Editions>\Common7\IDE\TextTransformCore.exe
[Örnek]
- C:\Program Dosyaları\Microsoft Visual Studio\2022\Topluluk\Ortak7\IDE\TextTransform.exe
Bir terminal veya komut istemi başlatın ve kod oluşturmak için TextTransform'u kullanın.
Windows 11 için, Başlat menüsünden Terminal'i başlatın. Diğer işletim sistemleri için komut istemini kullanın.
Terminal için komut istemine geçin. PowerShell ile yapamayacağınız hiçbir şey yoktur, ancak açıklama biraz değişir.
cd
Komutta, .tt dosyasını yerleştirdiğiniz klasöre gidin ve komutu aşağıdaki gibi girin: (Lütfen klasör yolunun sürümünü uygun şekilde değiştirin.)
[Giriş örneği]
- "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\TextTransform" Sample.tt
Başarılı olursa, süreç olaysız bir şekilde yapılmış gibi devam eder. Klasöre gerçekten bakarsanız, kodun otomatik olarak oluşturulduğunu görebilirsiniz.
İçerikler de uygun şekilde oluşturulur.
Bir komutu yürütürken TextTransform'un yolunu kısaltmak istiyorum.
Bir komutu her çalıştırdığınızda TextTransform'unuza uzun bir yol yazmak istemiyorsanız, bu yolu bir "ortam değişkenine" kaydedebilirsiniz. Visual Studio ile birlikte gelen bir geliştirme komut istemiyse, varsayılan olarak bu yola başvurarak yazmayı kolaylaştırır.
Başlat menüsünden Visual Studio klasörüne bakarsanız, bir geliştirme komut istemi bulur ve başlatırsınız.
Aynı şekilde, bir komut yazarken, TextTransform'un yolunu atlayabilir ve çalıştırabilirsiniz.
Bu arada, Windows 11 söz konusu olduğunda, terminale yerleştirildiği için açmak kolaydır.
Çalıştırmayı kolaylaştırmak için komutları bir .bat veya .ps1 dosyasına yerleştirin
Açıklanacak içerik, normal bir komut girildiğinde olduğu gibidir, bu nedenle içerik atlanır. İşletim sistemi ayarlarına bağlı olarak, .bat veya .ps1 dosyasına çift tıklasanız bile yürütülemeyecek şekilde kısıtlanmış olabilir, bu nedenle bu durumda lütfen yürütülebilecek şekilde ayarlayın.