ไมโครซอฟท์ปรับทิศทางส่วนขยาย C# ของ VS Code ไปใช้ชิ้นส่วนที่ไม่โอเพนซอร์ส

by mk
20 June 2022 - 13:33

ไมโครซอฟท์ประกาศแนวทางพัฒนาส่วนขยาย C# ของ Visual Studio Code ซึ่งบางส่วนจะใช้ไลเซนส์แบบปิด แตกต่างของตัวที่ใช้ในปัจจุบัน ซึ่งเป็นโอเพนซอร์สทั้งหมด

ส่วนขยาย C# ของ VS Code ในปัจจุบันเริ่มมาจากโครงการ OmniSharp ที่พัฒนาโดยชุมชนโปรแกรมเมอร์ และเริ่มพัฒนาในยุคแรกๆ ของ VS Code ที่มาตรฐานด้าน API และโปรโตคอลยังไม่นิ่ง

ในระยะถัดมา VS Code เพิ่มฟีเจอร์ Language Server Protocol (LSP) สำหรับเชื่อมต่อกับภาษาโปรแกรมมิ่งอื่นๆ (ซึ่งกลายเป็นมาตรฐานของวงการในเวลาต่อมา) แต่ตัวส่วนขยาย C# ของเดิมยังไม่ได้เชื่อมต่อผ่าน LSP

สิ่งที่ไมโครซอฟท์ประกาศว่าจะทำคือ

  • ย้ายส่วนขยาย C# เดิมมาสื่อสารกับตัว VS Code ผ่าน LSP ทั้งหมด
  • จากนั้นไมโครซอฟท์จะสร้างชุดเครื่องมือ LSP Tool Host ที่ปิดซอร์ส รองรับฟีเจอร์ระดับสูงอย่าง IntelliCode ที่ไมโครซอฟท์ไม่ยอมเปิดซอร์ส
  • ย้ายส่วนขยาย C# มาอยู่บน LSP Tool Host แทน ซึ่งจะมีฟีเจอร์มากขึ้นกว่าส่วนขยาย C# บน LSP แบบปกติ
  • ผู้ใช้สามารถเลือกได้ว่าจะใช้ส่วนขยายแบบไหน แต่ส่วนขยายบน LSP Tool Host จะเป็นค่าดีฟอลต์

ตัวโค้ดเดิมในปัจจุบันจะยังเป็นโอเพนซอร์สต่อไปเช่นเดิม แต่การที่ส่วนขยายนี้จะต้องเรียกใช้ LSP Tool Host ที่ปิดซอร์ส ก็ทำให้ไมโครซอฟท์ถูกวิจารณ์ไม่น้อย (เพิ่งมีคดีเรื่องฟีเจอร์ Hot Reload ของ Visual Studio กันมาเมื่อเร็วๆ นี้) อย่าง Miguel de Icaza ผู้ก่อตั้ง Xamarin ที่เพิ่งลาออกจากไมโครซอฟท์เมื่อต้นปี ก็ออกมาโพสต์วิจารณ์ไมโครซอฟท์ในเรื่องนี้

ที่มา - GitHub, InfoWorld

Blognone Jobs Premium