สาเหตุของกรอบสีเหลือง
กรอบสีเหลืองรอบข้อความภาษาไทยเกิดจากระบบ Unicode Highlight ของ Visual Studio Code ซึ่งมีหน้าที่ตรวจสอบตัวอักษร Unicode ที่อาจมีรูปร่างคล้ายตัวอักษรปกติหรืออาจสร้างความสับสนภายในโค้ด
อาการนี้ไม่ใช่ข้อผิดพลาดของภาษา Pyth และไม่ใช่ปัญหาจาก Syntax Highlight แต่เกิดจาก Visual Studio Code ยังไม่ได้รับอนุญาตให้ถือว่าตัวอักษรภาษาไทยเป็นภาษาที่ใช้งานตามปกติ
ปัญหานี้สามารถเกิดกับ:
ไฟล์ภาษา Pyth นามสกุล .th
ไฟล์ภาษา Pyth นามสกุล .pyth
คอมเมนต์ภาษาไทย
ข้อความภาษาไทยภายในโค้ด
ไฟล์ชนิดอื่นที่มีข้อความภาษาไทย
วิธีแก้ที่แนะนำ
วิธีนี้จะอนุญาตเฉพาะอักขระภาษาไทย โดยยังคงระบบตรวจสอบ Unicode สำหรับภาษาและตัวอักษรอื่นไว้
เปิด Visual Studio Code
กด Ctrl+Shift+P
ค้นหาคำสั่ง Preferences: Open User Settings (JSON)
กด Enter เพื่อเปิดไฟล์ settings.json
เพิ่มการตั้งค่าภาษาไทย
บันทึกไฟล์ด้วย Ctrl+S
โหลดหน้าต่าง Visual Studio Code ใหม่
เพิ่มโค้ดต่อไปนี้ลงในไฟล์ settings.json:
{
"editor.unicodeHighlight.allowedLocales": {
"th": true
}
}
กรณีมีการตั้งค่าอื่นอยู่แล้ว
หากไฟล์ settings.json มีการตั้งค่าอื่นอยู่แล้ว ห้ามสร้างเครื่องหมายปีกกา { } ซ้อนกัน ให้เพิ่มเครื่องหมายจุลภาคหลังการตั้งค่าเดิมแล้วใส่รายการใหม่ต่อท้าย
ตัวอย่าง:
{
"editor.fontSize": 14,
"editor.wordWrap": "on",
"editor.unicodeHighlight.allowedLocales": {
"th": true
}
}
หากเพิ่มไว้ตรงกลางไฟล์ ต้องตรวจสอบว่ามีเครื่องหมายจุลภาคคั่นระหว่างการตั้งค่าแต่ละรายการอย่างถูกต้อง
โหลด Visual Studio Code ใหม่
หลังจากบันทึกการตั้งค่าแล้ว ให้โหลดหน้าต่างใหม่เพื่อให้การเปลี่ยนแปลงทำงานสมบูรณ์
กด Ctrl+Shift+P
ค้นหา Developer: Reload Window
กด Enter
เปิดไฟล์ .th หรือ .pyth ใหม่
เมื่อทำสำเร็จ กรอบสีเหลืองรอบข้อความภาษาไทยจะหายไป แต่สี Syntax Highlight ของภาษา Pyth จะยังคงแสดงตามปกติ
ตรวจสอบว่าตั้งค่าสำเร็จหรือไม่
เปิดไฟล์ Pyth แล้วทดลองใส่โค้ดภาษาไทย:
# ทดสอบข้อความภาษาไทย
แสดงข้อความ "สวัสดีจากภาษา Pyth"
เมื่อ มีคนพิมพ์ !ทักทาย
ตอบกลับ "สวัสดีครับ"
จบ
ผลลัพธ์ที่ถูกต้องควรเป็นดังนี้:
ไม่มีกรอบสีเหลืองรอบตัวอักษรภาษาไทย
คำสั่งภาษา Pyth แสดงสี Syntax Highlight
ข้อความในเครื่องหมายคำพูดแสดงสีข้อความ
คอมเมนต์ที่ขึ้นต้นด้วย # แสดงสีคอมเมนต์
มุมขวาล่างของ Visual Studio Code แสดงภาษา Pyth
หากกรอบสีเหลืองยังไม่หาย
ให้ตรวจสอบตามรายการต่อไปนี้:
ตรวจว่าเขียนรหัสภาษาเป็น th ตัวพิมพ์เล็ก
ตรวจว่าใส่ค่าเป็น true โดยไม่มีเครื่องหมายคำพูด
ตรวจว่าไฟล์ settings.json ไม่มีเส้นสีแดงหรือข้อผิดพลาด
บันทึกไฟล์ settings.json แล้ว
ใช้คำสั่ง Developer: Reload Window แล้ว
ปิดและเปิดไฟล์ Pyth ใหม่
ตรวจสอบว่าไม่ได้แก้ไฟล์ Default Settings ซึ่งเป็นไฟล์อ่านอย่างเดียว
ข้อดีของวิธีนี้
อนุญาตเฉพาะตัวอักษรภาษาไทย
ไม่ต้องปิดระบบ Unicode Highlight ทั้งหมด
ยังคงช่วยตรวจสอบตัวอักษรแปลกปลอมจากภาษาอื่น
ใช้ได้กับทุกธีมของ Visual Studio Code
ใช้ได้ทั้งไฟล์ .th และ .pyth
ไม่กระทบการทำงานของส่วนเสริม Pyth Thai Language Support
สรุป
กรอบสีเหลืองไม่ได้เกิดจากโค้ด Pyth ผิดพลาด แต่เป็นระบบเตือน Unicode ของ Visual Studio Code การเพิ่มภาษาไทยลงใน editor.unicodeHighlight.allowedLocales จะทำให้เขียนโค้ดภาษาไทยได้สะอาดและอ่านง่ายขึ้น โดยไม่ต้องปิดระบบความปลอดภัยทั้งหมด