17 คะแนน โดย GN⁺ 2023-08-07 | 2 ความคิดเห็น | แชร์ทาง WhatsApp
  • ขอแนะนำ Postgres Language Server เครื่องมือที่กำลังพัฒนาอย่างต่อเนื่องในขณะนี้ ซึ่งออกแบบมาเพื่อยกระดับประสบการณ์การใช้งาน Postgres ของนักพัฒนา
  • Language Server Protocol เป็นโอเพนโปรโตคอลที่มอบเครื่องมืออัจฉริยะสำหรับโค้ด เช่น การเติมโค้ดอัตโนมัติและการเน้นไวยากรณ์ โดย Postgres Language Server ได้นำโปรโตคอลนี้มาปรับใช้ให้เหมาะกับ Postgres โดยเฉพาะ
  • เซิร์ฟเวอร์นี้มีความสามารถอย่างการเน้นเชิงความหมาย การวินิจฉัยข้อผิดพลาดทางไวยากรณ์ การแสดงคอมเมนต์ของ SQL การเติมโค้ดอัตโนมัติ การรันโค้ด และการตั้งค่าการจัดรูปแบบโค้ด
  • แรงจูงใจของโปรเจ็กต์นี้มาจากการที่ IDE และเอดิเตอร์ที่มีอยู่เดิมรองรับ PL/pgSQL ได้อย่างจำกัด และ SQL Language Server ทั่วไปยังไม่เพียงพอเมื่อจัดการกับไวยากรณ์ที่ซับซ้อนของ PostgreSQL
  • Postgres Language Server ใช้ libpg_query เพื่ออาศัยซอร์สของ PostgreSQL ในการพาร์สโค้ด SQL ได้อย่างน่าเชื่อถือ วิธีนี้อาจดูไม่ธรรมดา แต่เป็นวิธีเดียวที่เชื่อถือได้ในการพาร์ส PostgreSQL query ที่ถูกต้องทั้งหมด
  • เมื่อทำให้ parser มีเสถียรภาพและมีการนำ data model ที่แข็งแรงมาใช้งานแล้ว language server จะมอบความสามารถพื้นฐาน และทำหน้าที่เป็นส่วนติดต่อผู้ใช้สำหรับเครื่องมือทั้งหมดในระบบนิเวศของ Postgres
  • โรดแมปประกอบด้วยการทำ parser ให้สมบูรณ์ การสร้าง data model ที่แข็งแรง การตั้งค่า language server ให้เหมาะสม การพัฒนาความสามารถพื้นฐานของ language server การผสานรวมเครื่องมือโอเพนซอร์สที่มีอยู่ และการสร้างส่วนที่ยังขาดหายไป
  • ขณะนี้โปรเจ็กต์ยังไม่พร้อมสำหรับการใช้งานจริงใน production และกำลังมองหาผู้ร่วมพัฒนา
  • สามารถติดตั้งเซิร์ฟเวอร์ได้ด้วย Cargo, Node และ npm สำหรับผู้ใช้ VS Code สามารถติดตั้งได้ทั้งตัวเซิร์ฟเวอร์และส่วนขยายฝั่งไคลเอนต์ด้วยการรันคำสั่งที่กำหนด

2 ความคิดเห็น

 
GN⁺ 2023-08-07
ความคิดเห็นจาก Hacker News
  • Postgres language server เป็นเครื่องมือใหม่ที่สร้างความตื่นเต้นในหมู่ผู้ที่เชี่ยวชาญด้านเทคโนโลยี
  • ผู้สร้างดั้งเดิมของ libpg_query ได้รับการยอมรับสำหรับองค์ประกอบหลักของเซิร์ฟเวอร์นี้ และเน้นย้ำว่าระบบนิเวศของไลบรารียังคงแข็งแรงโดยมีแกนหลักอยู่บน C library
  • ผู้ใช้แสดงความคาดหวังต่อการพัฒนาที่เป็นไปได้ของเครื่องมือ SQL/ฐานข้อมูล โดยเฉพาะการจัดรูปแบบของ plpgsql
  • มีการตั้งคำถามเกี่ยวกับความสามารถของเซิร์ฟเวอร์ในการสลับ "LSP context" โดยอัตโนมัติ และรองรับส่วนขยายอย่าง PostGIS หรือไม่
  • ศักยภาพของเซิร์ฟเวอร์ในการยกระดับประสบการณ์นักพัฒนาสำหรับ Postgres ได้รับคำชื่นชม โดยมีบริษัทอย่าง Omnigres ที่ใช้ libpg_query ในการจัดการคิวรีเชิงโปรแกรม
  • ผู้ใช้บางคนสงสัยว่าเซิร์ฟเวอร์เชื่อมต่อกับฐานข้อมูลจริงเพื่อดึงรายการตาราง คอลัมน์ ฯลฯ หรือเพียงแค่พาร์สข้อความดิบโดยไม่มีข้อมูลจาก data dictionary
  • มีการสอบถามถึงความเป็นไปได้ในการใช้เซิร์ฟเวอร์กับ IDE อย่าง JetBrains หรือ VSCode รวมถึงโอกาสที่นักพัฒนามากประสบการณ์จะเข้ามามีส่วนร่วมในโปรเจกต์
  • การที่เซิร์ฟเวอร์โฟกัสอยู่กับ "Postgres เท่านั้น" ได้รับการชื่นชมจากผู้ใช้
  • ผู้ใช้เฝ้ารอดูว่าเซิร์ฟเวอร์จะพัฒนาไปอย่างไร และบางคนหวังว่าจะมีประสบการณ์ IDE ที่ดีขึ้นสำหรับเว็บไซต์ SQLPage
  • การสร้างเซิร์ฟเวอร์นี้ถูกมองว่าเป็นพัฒนาการที่รอคอยกันมานาน ซึ่งควรทำให้การเขียน SQL ใน IDE ง่ายขึ้น