คำสั่ง refactor ที่ต้องเดาว่าเราต้องการอะไรเริ่มมีทางเลือกใหม่: ทีม Go อธิบาย interactive refactoring เมื่อ 16 ตุลาคม 2026 ให้ gopls ถามค่าที่ต้องใช้ก่อนสร้างการแก้ไข เช่น ชนิดของ struct tag และรูปแบบชื่อ field เหมาะกับคนที่ต้องแก้โค้ดซ้ำ ๆ แต่ไม่อยากรับค่าตั้งต้นเดียวกันทุกครั้ง

ชุดที่ทีม Go ระบุว่ารองรับคือ gopls v0.24.0 และ Go extension สำหรับ VS Code v0.56.0 วันที่ 16 ตุลาคมเป็นวันเผยแพร่บทความอธิบาย ไม่ใช่วันออกเครื่องมือทั้งคู่: หน้า release ของ extension v0.56.0 ระบุวันที่ 15 กรกฎาคม 2026

ลองเริ่มจาก struct tag

ในตัวอย่างของทีม Go เมื่อวางเคอร์เซอร์บน struct แล้วเลือก Add struct tags ผู้ใช้ระบุ key ที่ต้องการได้ เช่น json,yaml,db และเลือกการตั้งชื่ออย่าง snake_case แทนการได้ json แบบ camelCase เสมอ ส่วน Remove struct tags เลือกเฉพาะ key ที่จะลบได้ จึงเก็บ tag ของงานอื่นไว้ได้

ประโยชน์อยู่ที่การกำหนดรายละเอียดให้เครื่องมือแก้อย่างตรงความตั้งใจ แต่ถ้า tag นั้นเป็นชื่อ field ที่ส่งให้ API หรือใช้กับฐานข้อมูล การเปลี่ยนรูปแบบชื่อก็ยังอาจกระทบสัญญาข้อมูลเดิม ควรตรวจ diff และทดสอบการรับส่งข้อมูลก่อนนำการเปลี่ยนแปลงเข้า branch หลัก

อะไรใช้ได้แล้ว อะไรยังต้องรอ

งานสถานะตามเอกสารทางการ
เพิ่มหรือลบ struct tags แบบถามค่าบทความระบุว่ามีตั้งแต่ gopls v0.23.0
สร้าง method stubs เพื่อ implement interfaceมีตั้งแต่ v0.23.0; v0.24.0 เพิ่มการถาม type arguments ของ generic interface
ย้าย declaration ข้ามไฟล์หรือ packageตัวอย่าง preview สำหรับรุ่นถัดไป ยังไม่ควรคาดว่าจะใช้ได้ในรุ่นที่บทความแนะนำ
เปลี่ยน signature พร้อมแก้จุดเรียกใช้อยู่ในแผนพัฒนาที่บทความกล่าวถึง

Release notes ของ gopls v0.24.0 ยืนยันการรองรับ generic interface โดยสร้างลายเซ็น method ตาม type arguments ที่เลือก แต่ method stubs ยังต้องเติมการทำงานเอง การสร้างโครงได้ไม่เท่ากับเขียน logic เสร็จ

ต้องอัปเดตทั้ง editor และ language server

ความสามารถนี้อาศัยส่วนขยายของ Language Server Protocol ที่ทีม Go และ Dart ร่วมออกแบบ ณ วันที่ประกาศยังอยู่ระหว่างผลักดันเข้าสู่มาตรฐาน LSP จึงไม่ใช่ฟีเจอร์ที่ editor ทุกตัวจะได้ทันทีเมื่ออัปเดต gopls บทความระบุ Neovim และ Emacs ในระดับ proof of concept แยกจากชุด VS Code ที่รองรับแล้ว

ถ้าจะลอง ให้ตรวจรุ่นของ Go extension และ gopls ที่ editor ใช้งานจริงก่อน จากนั้นเลือก struct เล็ก ๆ ใน branch ทดลอง เปลี่ยนเฉพาะ tag ที่ต้องการ ตรวจ diff แล้วรันทดสอบของโปรเจกต์ สำหรับงาน implement interface ให้เติม method stubs และทดสอบพฤติกรรมด้วย วิธีนี้ช่วยประเมินประโยชน์ของเครื่องมือโดยยังเห็นขอบเขตการแก้โค้ดชัดเจน

ReefSight สรุปสถานะจากประกาศและ release notes ณ 17 ตุลาคม 2026 ยังไม่ได้ทดลองฟีเจอร์เหล่านี้ใน editor จึงไม่รับรองความเข้ากันได้ของทุกชุดเครื่องมือ

ภาพปกเป็นภาพเปรียบเทียบการเลือกป้าย tag สร้างด้วย AI ไม่ใช่ภาพหน้าจอ gopls