LSP Diagnostics — ตรวจสอบโค้ดขณะพิมพ์
LSP Diagnostics — ตรวจสอบโค้ดขณะพิมพ์ — คู่มือเข้าใจง่ายอ้างอิงจากเอกสารอย่างเป็นทางการ
ลองนึกถึงตัวตรวจคำสะกดสำหรับงานเขียนของคุณ แต่สำหรับโค้ด — นั่นแหละคือ LSP Diagnostics
แล้ว LSP คืออะไรกันแน่?
LSP ย่อมาจาก Language Server Protocol มันคือตัวช่วยเบื้องหลังที่โปรแกรมแก้ไขโค้ดของคุณใช้คุยด้วย เมื่อคุณพิมพ์ โปรแกรมแก้ไขโค้ดจะส่งโค้ดของคุณไปยัง language server ซึ่งจะตรวจสอบข้อผิดพลาดและส่งคำแนะนำกลับมา คุณจะเห็นผลลัพธ์เป็นเส้นขีดใต้สีแดง คำเตือนสีเหลือง หรือไอคอนหลอดไฟเล็กๆ
ใน Hermes Agent เราใช้ LSP เพื่อให้คุณได้รับข้อเสนอแนะแบบทันทีขณะที่คุณเขียนโค้ด — ไม่ต้องรันคำสั่ง “ตรวจสอบ” แยกต่างหาก มันเหมือนกับการมีรุ่นพี่นักพัฒนาที่ใจเย็นนั่งมองข้ามไหล่คุณอยู่ คอยชี้ให้เห็นคำผิดและตรรกะที่พลาดก่อนที่คุณจะเซฟไฟล์ด้วยซ้ำ
ทำไมมือใหม่ถึงควรสนใจ?
คุณไม่จำเป็นต้องรู้ว่า LSP ทำงานภายในอย่างไร แต่คุณจำเป็นต้องรู้ว่า:
- มันจับข้อผิดพลาดง่ายๆ ได้ทันที (เช่น วงเล็บไม่ครบ, ชื่อตัวแปรผิด)
- มันสอนคุณไปในตัว — เอาเมาส์ไปชี้ที่เส้นขีดเพื่อดูปัญหาและวิธีแก้ไข
- มันประหยัดเวลา — คุณแก้ไขปัญหาในขณะที่มันยังใหม่ๆ ไม่ใช่หลังจากการดีบักอันยาวนาน
วิธีใช้ LSP Diagnostics ใน Hermes Agent
Hermes Agent มาพร้อมกับการรองรับ LSP ในตัว นี่คือวิธีเริ่มต้น:
1. เปิดโปรเจกต์ของคุณ
ตรวจสอบให้แน่ใจว่าคุณอยู่ในโฟลเดอร์ที่มีโค้ดของคุณ ในเทอร์มินัล:
cd my-project
2. เริ่มการเชื่อมต่อกับโปรแกรมแก้ไขโค้ดของ Hermes Agent
รันคำสั่งนี้ (หรือใช้ทางลัดในโปรแกรมแก้ไขโค้ดของคุณ):
hermes lsp start
จากนั้น เปิดไฟล์ .py, .js, .ts, หรือ .go ใดๆ ก็ได้ คุณจะเห็น diagnostics ปรากฏขึ้นโดยอัตโนมัติ
3. อ่านแผง Diagnostics
ในโปรแกรมแก้ไขโค้ดส่วนใหญ่ ให้กด:
Ctrl+Shift+M (Windows/Linux)
Cmd+Shift+M (Mac)
ซึ่งจะเปิดแผง “Problems” แผงนี้จะแสดงรายการปัญหาทั้งหมด พร้อมชื่อไฟล์ หมายเลขบรรทัด และคำอธิบายสั้นๆ
4. ใช้ Quick Fixes
คลิกที่เส้นขีดใต้ ป๊อปอัพเล็กๆ จะปรากฏขึ้น เลือก “Quick Fix” หรือกด:
Ctrl+. (Windows/Linux)
Cmd+. (Mac)
Hermes Agent จะแนะนำวิธีแก้ไข — บ่อยครั้งแค่กดปุ่มเดียวก็ยอมรับได้
สัญลักษณ์ต่างๆ หมายถึงอะไร?
- เส้นใต้สีแดง = ข้อผิดพลาด มีบางอย่างผิดพลาดแน่นอน (เช่น ฟังก์ชันที่ไม่ได้นิยาม)
- เส้นใต้สีเหลือง = คำเตือน ไม่ถึงขั้นร้ายแรง แต่อาจเป็นบั๊กได้ (เช่น ตัวแปรที่ไม่ได้ใช้)
- สีฟ้า/หลอดไฟ = คำแนะนำ การปรับปรุงที่เป็นทางเลือก (เช่น ทำให้โค้ดนี้ง่ายขึ้น)
ตัวอย่างจริง
สมมติว่าคุณพิมพ์โค้ด Python แบบนี้:
def greet(name):
print("Hello, " + nam)
สังเกตคำว่า nam — พิมพ์ผิด LSP จะขีดเส้นใต้สีแดงให้ เอาเมาส์ไปชี้ แล้วคุณจะเห็น:
Name "nam" is not defined. Did you mean "name"?
คลิกที่ quick fix แล้วมันจะเปลี่ยนเป็น name ให้โดยอัตโนมัติ คุณก็หลีกเลี่ยงโปรแกรมคราชได้แล้ว
ข้อผิดพลาดที่พบบ่อย (และวิธีหลีกเลี่ยง)
- อย่าละเลยคำเตือน — มันมักจะชี้ไปที่บั๊กในอนาคต
- ตรวจสอบแผงเป็นประจำ — ไม่ใช่แค่บรรทัดปัจจุบัน
- ถ้าคุณเห็น “No LSP server found” — ตรวจสอบให้แน่ใจว่าคุณรัน
hermes lsp startแล้ว และประเภทไฟล์ของคุณรองรับ
สรุปและเคล็ดลับการใช้งาน
LSP Diagnostics ให้ข้อเสนอแนะแบบเรียลไทม์ ทำให้การเขียนโค้ดรู้สึกเหมือนการสนทนามากกว่าเกมทายใจ คุณเขียน เครื่องมือสะกิด คุณแก้ไข — มันง่ายขนาดนั้น
เคล็ดลับการใช้งาน: ก่อนที่คุณจะรันโค้ด ให้เหลือบมองแผง Problems เสมอ แค่มองครั้งเดียวสามารถประหยัดเวลาดีบัก “ทำไมมันพังเนี่ย” ไปได้สิบนาที ทำให้เป็นนิสัย — ตัวคุณในอนาคตจะขอบคุณ
ตอนนี้ไปเขียนโค้ดกันเถอะ แล้วปล่อยให้เส้นขีดใต้เหล่านั้นนำทางคุณ
📖 เอกสารทางการ
この記事は Hermes Agent のเอกสารทางการに基づいています:เอกสารทางการ › user-guide/features/lsp