godot embed external editor
GDextension ที่อนุญาตให้ฝังโปรแกรมแก้ไขโค้ดภายนอก เช่น Visual Studio Code ลงในโปรแกรมแก้ไข Godot ของคุณโดยตรง!
คู่มือเริ่มต้นใช้งานฉบับย่อ

คุณสมบัติ
- แนบและถอดโปรแกรมแก้ไขโค้ดภายนอกโดยอัตโนมัติ
- ตรวจสอบว่าตัวแก้ไขโค้ดเกี่ยวข้องกับโปรเจ็กต์ที่กำหนดหรือไม่ (เช่น โฟลเดอร์โปรเจ็กต์ถูกเปิดอยู่ข้างใน) ทุกครั้งที่เป็นไปได้
- ปุ่มสลับในแถบแท็บฉากเพื่อแนบและถอดโปรแกรมแก้ไขโค้ดภายนอกด้วยตนเอง
- บรรณาธิการภายนอกที่รองรับ:
- เฉพาะรหัส Visual Studio เท่านั้นในตอนนี้
เริ่มต้นอย่างรวดเร็ว
- รับรองว่า
- คุณกำลังใช้ Godot 4
- คุณอยู่บน Windows
- ในการตั้งค่าตัวแก้ไขของ Godot "โหมดหน้าต่างเดียว" จะ ถูกปิดใช้งาน (มิฉะนั้นกล่องโต้ตอบจะไม่ปรากฏที่ด้านหน้าของตัวแก้ไขโค้ด)
- ในการตั้งค่าตัวแก้ไขของ Godot ตัวแก้ไขโค้ดภายนอกจะถูกเปิดใช้งานและตั้งค่าอย่างถูกต้อง (การคลิกสองครั้งที่ไฟล์สคริปต์ใน File Explorer ของ Godot ควรเปิดตัวแก้ไขที่คุณเลือก)
- คุณทำตามคำแนะนำการตั้งค่าสำหรับตัวแก้ไขที่คุณเลือก
- ดาวน์โหลดและแยกส่วนบิวด์ล่าสุดหรือคอมไพล์จากแหล่งที่มา
- คัดลอกโฟลเดอร์
addons
ลงในโฟลเดอร์โครงการเกมของคุณ - หาก Godot กำลังทำงานอยู่ อย่าลืมเลือก "Project -> Reload Current Project" หรือรีสตาร์ทตัวแก้ไข (GDExtensions ไม่ได้โหลดซ้ำแบบสด ดูปัญหานี้)
- เปิดใช้งานปลั๊กอินในการตั้งค่าโปรเจ็กต์
- เปิดตัวแก้ไขโค้ดของคุณโดยดับเบิลคลิกไฟล์สคริปต์ใน Godot's explorer (ส่วนเสริมนี้จะไม่ฝังตัวแก้ไขโค้ดที่ไม่เกี่ยวข้อง) - ไฟล์ควรจะหายไปหลังจากเปิดตัวไม่นาน
- สลับไปที่แท็บสคริปต์แล้วสนุกได้เลย!
การตั้งค่าต่อบรรณาธิการ
รหัสวิชวลสตูดิโอ
การเปลี่ยนแปลงการตั้งค่าต่อไปนี้สามารถทำได้ในการตั้งค่าผู้ใช้ (Ctrl+เครื่องหมายจุลภาค) หรือสำหรับแต่ละโฟลเดอร์พื้นที่ทำงาน:
- ตั้งค่า
window.titleBarStyle
เป็น native
มิฉะนั้นจะไม่สามารถซ่อนแถบหัวเรื่องได้ และหน้าต่างตัวแก้ไขจะสามารถปรับขนาดได้อย่างอิสระจากคอนเทนเนอร์ - ตรวจสอบให้แน่ใจว่าการตั้งค่า
window.title
และ window.titleSeparator
ใช้ค่าเริ่มต้น ทำตามคำแนะนำเหล่านี้หากคุณได้แก้ไข:- การตั้งค่า
window.title
ต้องมีทั้งสตริง Visual Studio Code
และชื่อของโฟลเดอร์ที่เปิดอยู่ในปัจจุบัน ${rootName}
สิ่งนี้จำเป็นเพื่อให้ส่วนเสริมตรวจสอบว่าอินสแตนซ์เปิดโปรเจ็กต์อยู่หรือไม่ - ในทำนองเดียวกัน
window.titleSeparator
จำเป็นต้องมีช่องว่างนำหน้าและต่อท้ายเพื่อให้ทำงานได้อย่างถูกต้อง
หากคุณต้องการใช้ Visual Studio Code เป็นตัวแก้ไขข้อความธรรมดาโดยไม่มีฟีเจอร์ IDE ให้พิจารณาใช้โหมด Zen:
- ตั้งค่า
zenMode.centerLayout
เป็น false
และ zenMode.fullScreen
เป็น false
- เปิดใช้งานโหมด Zen โดยการรันคำสั่ง
View: Toggle Zen Mode
ข้อจำกัด
ส่วนเสริมนี้เป็นการทดลองและแฮ็กมาก ฉันกำลังพยายามปรับปรุง แต่มีบางสิ่งที่ไม่สามารถแก้ไขได้ง่ายๆ:
ทั่วไป
- Godot ยังคงประสบปัญหาในการตรวจจับการเปลี่ยนแปลงไฟล์สคริปต์ภายนอก (ดูปัญหานี้)
- วิธีแก้ปัญหา: รีสตาร์ทตัวแก้ไขด้วย "Project -> Reload Current Project"
- ไม่สามารถดูเอกสารในตัวแก้ไขโดยไม่ต้องถอดตัวแก้ไข
- วิธีแก้ปัญหา: คุณสามารถใช้ตัวเลือก "List Native Class" ของ VSCode เป็นทางเลือกได้
- มีการค้างเป็นครั้งคราวในอดีตซึ่งฉันได้พยายามแก้ไขแล้ว หากยังคงมีอยู่ โปรดเปิดปัญหา
- วิธีแก้ปัญหา: หากคุณหยุดทำงาน ดูเหมือนว่า Alt+Tab จะแก้ไขปัญหาได้เป็นส่วนใหญ่
- แถบหัวเรื่องของตัวแก้ไขไม่แสดงหลังจากปลดการเชื่อมต่อแล้ว
- วิธีแก้ปัญหา: ย่อเล็กสุดและคืนค่าหน้าต่าง
- หน้าต่างแบบฝังอาจได้รับขอบหน้าต่างดั้งเดิมและสามารถปรับขนาดได้ในบางครั้ง (เช่น เมื่อตัวดีบักเกอร์หยุดทำงาน)
- วิธีแก้ปัญหา: ปลดการเชื่อมต่อและเชื่อมต่อหน้าต่างอีกครั้ง
- การป้อนข้อมูลด้วยคีย์บอร์ดจะได้รับการยอมรับจากหน้าต่างใดก็ตามที่อยู่ในโฟกัส (เช่น F5 เพื่อรันเกม)
- Godot จะไม่สลับไปที่แท็บสคริปต์โดยอัตโนมัติ
- ภาพขนาดย่อของโฮเวอร์สำหรับแท็บฉากไม่แสดงด้านหน้าตัวแก้ไขโค้ดที่ฝังอยู่
รหัสวิชวลสตูดิโอ
- จนกว่าการประชาสัมพันธ์นี้จะเสร็จสิ้นและรวมเข้าด้วยกัน การดีบักเกม Godot ผ่าน VSCode จะไม่สามารถทำได้
- ไม่ค่อยมีแถบสีดำปรากฏขึ้นที่ด้านบนของ VSCode ซึ่งจะชดเชยเหตุการณ์อินพุตทั้งหมด
- วิธีแก้ปัญหา: รีสตาร์ท VSCode เพื่อแก้ไขปัญหานี้ (น่าเสียดายที่คำสั่ง "Reload Window" ไม่สามารถแก้ปัญหานี้ได้)
มีส่วนร่วม
ฉันไม่ได้วางแผนที่จะทำงานในโครงการนี้มากกว่ากรณีการใช้งานส่วนตัว ดังนั้นฉันจะขอบคุณเป็นอย่างยิ่งสำหรับความช่วยเหลือจากผู้อื่นเพื่อปรับปรุงส่วนขยายนี้:
- รองรับ OS อื่นๆ เช่น Mac หรือ Linux
- สนับสนุนผู้แก้ไขเพิ่มเติม รวมถึงเอกสารเกี่ยวกับวิธีการตั้งค่า
- แก้ไขปัญหาการใช้งานและข้อบกพร่อง
สร้างปัญหาสำหรับแนวคิด ข้อเสนอแนะ หรือข้อบกพร่อง เปิดคำขอดึงหากคุณดำเนินการบางอย่าง ความช่วยเหลือทั้งหมดได้รับการชื่นชม! -
หากคุณต้องการกล่าวคำขอบคุณ คุณสามารถบริจาคให้กับผู้สนับสนุน GitHub แทนได้