Zed editor เคล็ดลับเขียนโค้ดเร็วที่เซียน Dev ไม่เคยบอก

ไทย

generated by AI

ถ้าพูดถึงเครื่องมือทำมาหากินของเรา เหล่า developer ก็แน่นอนอยู่แล้วว่าจะขาด code editor คู่ใจไปไม่ได้ วันนี้ผมจะมาแนะนำตัวแก้ไขโค้ดตัวใหม่ที่ออกมาได้ซักระยะนึงแล้ว อย่าง “Zed” ซึ่งเป็น editor ที่ถูกออกแบบมาเพื่อความเร็วและประสิทธิภาพในการทำงาน โดยมีฟีเจอร์ที่น่าสนใจมากมายที่ทำให้การเขียนโค้ดของเราง่ายและสนุกยิ่งขึ้น

 

ทำความรู้จักกับ Zed

Zed เป็น code editor ที่ถูกพัฒนาโดยทีมงานที่เคยสร้าง Atom Editor ของ Github มาก่อน โดยมีเป้าหมายที่จะสร้างเอดิเตอร์ที่เร็วกว่าและมีประสิทธิภาพมากกว่าเดิม ด้วยการใช้ภาษา Rust ในการพัฒนา ทำให้ Zed มีความเร็วในการทำงานที่น่าประทับใจ เรามาดูกันดีกว่าครับว่าอะไรทำให้ Zed เร็วขึ้นกว่า editor อื่นๆ

  1. ขับเคลื่อนด้วย Rust
  2. ใช้ Tree-sitter ในการ parse syntax

 

ทำไมต้องเป็น Rust

  • Zed ถูกพัฒนาด้วยภาษา Rust ซึ่งเป็นภาษาที่เน้นความปลอดภัยและความเร็ว ทำให้ Zed มีประสิทธิภาพในการทำงานที่สูงและใช้ทรัพยากรน้อย
  • ความเร็วของ Rust เป็นที่ประจักษ์กันอยู่แล้วว่าแรงเป็นเบอร์ต้นๆ ความแรงเป็นน้องๆ รองจากภาษา C เลยทีเดียว

 

อะไรคือ Tree-sitter

  • Zed ใช้ Tree-sitter ในการช่วยทำ syntax parsing ซึ่งเป็นส่วนหนึ่งของ การทำ syntax highlighting และยังช่วยทำ navigate code ส่งผลให้ทั้ง 2 features นี้มีความแม่นยำและรวดเร็ว สามารถอัพเดทได้แบบ real time
  • การทำ syntax highlighting ปกติจะรันด้วย RegEx ในการจำแนกส่วนต่างๆของ code ซึ่ง dev อย่างเราๆก็รู้กันอยู่แล้วว่า RegEx ไม่เหมาะที่จะรันใน code ที่ซับซ้อน หรือยาวมากๆ
  • codebase ยิ่งซับซ้อนเท่าไหร่ ก็ยิ่งทำให้ Editor รันช้าเท่านั้น
  • Tree-sitter จะทำการ parse ไฟล์ code เป็น Abstract Syntax Tree (AST) แล้ว Tree-sitter จะคอย track change ต่างๆที่เกิดขึ้น แล้วรัน RegEx เฉพาะจุดที่มีการแก้ไขเท่านั้น ทำให้ลดจำนวนข้อความที่ต้องทำการรัน RegEx ไปได้มาก
ภาพแสดงการทำงานแบบคร่าวๆของ Tree-sitter

นอกจากนี้ code editor สมัยใหม่ที่เป็นที่นิยม จะขาด feature เหล่านี้ไม่ได้ ซึ่ง Zed ก็มีมาให้เหมือนกัน

  1. รองรับ LSP เป็น First-Party
  2. รองรับ AI Assistant

 

ทำไมต้องรองรับ LSP เป็น First-Party

  • Zed รองรับ Language Server Protocol (LSP) อย่างเต็มรูปแบบ ทำให้ Zed สามารถช่วยนักพัฒนาในด้านต่างๆ เช่น การเติมโค้ดอัตโนมัติ (auto-completion), การตรวจสอบข้อผิดพลาด (error checking), และ code navigation ได้อย่างราบรื่นตามแต่ server ของแต่ละภาษาจะรองรับ
  • การรองรับ LSP แบบ First-Party หมายความว่า Zed ได้รวมการทำงานของ LSP เข้ามาเป็นส่วนหนึ่งของตัว editor เลย ทำให้การใช้งานง่ายและมีประสิทธิภาพมากยิ่งขึ้น สะดวกต่อการ config เพิ่มเติม

 

รองรับ GitHub Copilot

  • Zed รองรับการใช้งาน GitHub Copilot ซึ่งเป็นเครื่องมือ AI ที่ช่วยแนะนำโค้ดอัตโนมัติ ทำให้การเขียนโค้ดของเรารวดเร็วและง่ายยิ่งขึ้น
  • Copilot ช่วยแนะนำโค้ดที่เหมาะสมตามบริบทของ code ทำให้เราสามารถเขียนโค้ดได้โดยไม่ต้องเสียเวลาถามอากู๋

ทำไมต้องเลือก Zed?

  • ความเร็ว: Zed ถูกออกแบบมาเพื่อความเร็วในการทำงาน ทำให้คุณสามารถเขียนโค้ดได้อย่างลื่นไหล
  • ประสิทธิภาพ: ด้วยการใช้ Rust และ Tree-sitter ทำให้ Zed มีประสิทธิภาพในการจัดการโค้ดที่ซับซ้อน
  • ฟีเจอร์ทันสมัย: Zed มาพร้อมกับฟีเจอร์ที่ช่วยให้การเขียนโค้ดง่ายและสนุกยิ่งขึ้น เช่น การรองรับ LSP และ GitHub Copilot
  • การพัฒนาอย่างต่อเนื่อง: Zed ยังอยู่ในช่วงพัฒนาและมีการอัพเดทฟีเจอร์ใหม่ๆ อย่างต่อเนื่อง

 

ข้อเสียของ Zed

  • extension หรือ plugin ยังน้อยกว่าเจ้าอื่น: เนื่องจากยังเป็น editor ที่ใหม่ทำให้ยังมีคนพัฒนา extension น้อยมาก
  • ยังมีบัคประปรายในบางภาษา: จากประสบการณ์ส่วนตัว language server ของ groovy ยังมีบัคที่กินทรัพยากรเครื่องอย่างมาก เนื่องจาก 1 tab ที่เปิด code groovy จะสร้าง 1 language server
  • ยังไม่รองรับ Windows: Zed ยังรองรับใน macos และ linux เท่านั้น สำหรับนักพัฒนาที่ใช้งาน Windows อาจจะต้องรอไปก่อน

 

Zed เป็น code editor ที่น่าสนใจสำหรับนักพัฒนาที่ต้องการความเร็ว ประสิทธิภาพ และ feature ที่ครบครัน หากคุณกำลังมองหา editor ตัวใหม่ที่ช่วยให้การเขียนโค้ดของคุณง่ายและสนุกยิ่งขึ้น Zed เป็นหนึ่งตัวเลือกที่คุณไม่ควรพลาด

 

ลองใช้งาน Zed ได้ที่: https://zed.dev/download

อ่านเพิ่มเติม:

Related Content

  • ทั้งหมด
  • Blogs
  • Insights
  • News
  • Uncategorized
    •   Back
    • Careers
    • Data Science
    • Lifestyle
    • Product
    • Strategy
    • Technology
    • User Experience
    • xPlatform
    • DevOps
    •   Back
    • PointX Products
    • Events
    • Others
    • Leadership
    • Partnership
    • Services & Products
    • Joint ventures
    •   Back
    • Blockchain
    • Finance
    • Tech innovation

Your consent required

If you want to message us, please give your consent to SCB TechX to collect, use, and/or disclose your personal data.

| การเพิกถอนความยินยอม

หากคุณต้องการเพิกถอนการให้ความยินยอมในการเก็บรวบรวม ใช้ และ/หรือเปิดเผยข้อมูลส่วนบุคคล กรุณาส่งคำร้องหาเรา

Vector

Message sent

We have receive your message and We will get back to you shortly.