ใช้ 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 ดังนั้นในกรณีนั้น โปรดตั้งค่าให้สามารถดําเนินการได้