השתמש ב- TextTransform כדי ליצור קוד באופן אוטומטי באמצעות T4 מבלי להפעיל את Visual Studio

עודכן דף :
תאריך יצירת דף :

סביבת הפעלה

Visual Studio
  • Visual Studio 2022
חלונות
  • חלונות 11

דרישות מוקדמות

Visual Studio
  • זה עובד גם עם גרסה קצת יותר מבוגרת

תנאי מקדים

עצה זו מניחה את הדברים הבאים:

  • Visual Studio מותקן ב- Windows

במקרה זה, נשתמש בכלי שנקרא "TextTransform (או TextTransformCore)", אך מכיוון שמדובר בכלי הכלול ב- Visual Studio, יש צורך להתקין אותו גם אם לא תפעיל את Visual Studio.

מה ההבדל בין "TextTransform.exe" ל- "TextTransformCore.exe"?

"TextTransform.exe" הוא כלי מוקדם שקיים מאז הופעתה של מסגרת הישות.

TextTransformCore.exe הוא כלי חדש שנבנה על גבי .NET 6.

אין הבדל פונקציונלי משמעותי, כך שזה לא משנה באיזה מהם אתה משתמש.

יצירת קובץ T4 ( .tt)

הוא אינו שונה ממה שאתה יוצר ב- Visual Studio, לכן השתמש בעורך טקסט כדי ליצור אותו. הפעם, נשתמש בקוד שיצרנו בעבר כמר / גב'.

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

במקרה זה, נציב קובץ זה במיקום הבא. אתה יכול להפעיל אותו בכל מקום, אז השאר אותו בכל מקום שתרצה.

  • C:\Temporary\Sample.tt

צור קוד באמצעות כלי שורת הפקודה "TextTransform"

ב- Visual Studio, זה היה קל מכיוון ש- Visual Studio יצר קוד באופן אוטומטי באמצעות "TextTransform", אך אם אינך משתמש ב- Visual Studio, עליך ליצור קוד באופן ידני באמצעות "TextTransform".

TextTransform הוא כלי שורת פקודה המותקן בעת התקנת Visual Studio בתיקיה הבאה:

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

[דוגמה]

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

הפעל מסוף או שורת פקודה והשתמש ב- TextTransform כדי ליצור קוד.

עבור Windows 11, הפעל את Terminal מתפריט התחלה. עבור מערכות הפעלה אחרות, השתמש בשורת הפקודה.

עבור מסוף, עבור לשורת הפקודה. אין דבר שלא ניתן לעשות עם PowerShell, אך התיאור משתנה מעט.

cd בפקודה, נווט אל התיקיה שבה מיקמת את קובץ ה- .tt והזן את הפקודה באופן הבא: (שנה את גירסת נתיב התיקיה בהתאם לצורך.)

[דוגמת קלט]

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

אם התהליך מצליח, הוא מתנהל כאילו נעשה ללא תקלות. אם אתה באמת מסתכל על התיקיה, אתה יכול לראות כי הקוד נוצר באופן אוטומטי.

התוכן נוצר גם כראוי.

ברצוני לקצר את הנתיב של TextTransform בעת ביצוע פקודה.

אם אינך רוצה לכתוב נתיב ארוך ל- TextTransform בכל פעם שאתה מפעיל פקודה, באפשרותך לרשום נתיב זה ב"משתנה סביבה". אם זוהי שורת פקודה לפיתוח שמגיעה עם Visual Studio, היא תפנה לנתיב זה כברירת מחדל, דבר שיקל על הכתיבה.

אם תסתכל על התיקיה Visual Studio מתפריט התחלה, תמצא שורת פקודה לפיתוח ותפעיל אותה.

באותו אופן, בעת כתיבת פקודה, באפשרותך להשמיט את הנתיב של TextTransform ולבצע אותו.

אגב, במקרה של Windows 11, קל לפתוח אותו כי הוא מובנה לתוך הטרמינל.

הצבת פקודות בקובץ .bat או .ps1 כדי להקל על הפעלתן

התוכן המתואר זהה לתוכן בעת הזנת פקודה רגילה, ולכן התוכן מושמט. בהתאם להגדרות מערכת ההפעלה, ייתכן שהוא יוגבל כך שלא ניתן יהיה להפעיל אותו גם אם תלחץ פעמיים על קובץ .bat או .ps1, כך שבמקרה כזה, הגדר אותו כך שניתן יהיה להפעילו.