ใช้ TextTransform เพื่อสร้างโค้ดโดยอัตโนมัติด้วย T4 โดยไม่ต้องเปิด Visual Studio

ปรับปรุงหน้า :
วันที่สร้างเพจ :

สภาพแวดล้อมในการทํางาน

วิชวลสตูดิโอ
  • วิชวลสตูดิโอ 2022
หน้าต่าง
  • หน้าต่าง 11

ข้อกําหนดเบื้องต้น

วิชวลสตูดิโอ
  • ใช้งานได้แม้กับเวอร์ชันที่ค่อนข้างเก่ากว่า

เงื่อนไขเบื้องต้น

เคล็ดลับนี้ถือว่ามีสิ่งต่อไปนี้:

  • Visual Studio ที่ติดตั้งบน Windows

ในกรณีนี้เราจะใช้เครื่องมือที่เรียกว่า "TextTransform (หรือ TextTransformCore)" แต่เนื่องจากเป็นเครื่องมือที่รวมอยู่ใน Visual Studio จึงจําเป็นต้องติดตั้งแม้ว่าคุณจะไม่ได้เริ่ม Visual Studio ก็ตาม

อะไรคือความแตกต่างระหว่าง "TextTransform.exe" และ "TextTransformCore.exe"

"TextTransform.exe" เป็นเครื่องมือยุคแรกๆ ที่มีมาตั้งแต่การถือกําเนิดของ Entity Framework

TextTransformCore.exe เป็นเครื่องมือใหม่ที่สร้างขึ้นบน .NET 6

ไม่มีความแตกต่างในการทํางานที่สําคัญ ดังนั้นจึงไม่สําคัญว่าคุณจะใช้อันไหน

สร้างไฟล์ T4 (.tt)

ไม่แตกต่างจากสิ่งที่คุณสร้างใน Visual Studio ดังนั้นให้ใช้โปรแกรมแก้ไขข้อความเพื่อสร้าง คราวนี้เราจะใช้รหัสที่เราสร้างไว้ก่อนหน้านี้ในฐานะ 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;
  }
<# } #>
}

ในกรณีนี้เราจะวางไฟล์นี้ไว้ในตําแหน่งต่อไปนี้ คุณสามารถเรียกใช้ได้ทุกที่ ดังนั้นทิ้งไว้ทุกที่ที่คุณต้องการ

  • C:\ชั่วคราว\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 ให้เปิดเทอร์มินัลจากเมนูเริ่ม สําหรับระบบปฏิบัติการอื่น ให้ใช้พรอมต์คําสั่ง

สําหรับเทอร์มินัล ให้สลับไปที่พรอมต์คําสั่ง ไม่มีอะไรที่คุณไม่สามารถทําได้ด้วย 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 ดังนั้นในกรณีนั้น โปรดตั้งค่าให้สามารถดําเนินการได้