ทำให้การระบายสีวงเล็บคู่ของ VSCode เร็วขึ้น 10,000 เท่า
(code.visualstudio.com)-
ส่วนขยาย Bracket Pair Colorizer ที่พัฒนาขึ้นในปี 2016 มียอดติดตั้ง 6 ล้านครั้ง
-
เวอร์ชัน 2 ที่ปรับปรุงประสิทธิภาพก็มียอดติดตั้ง 3 ล้านครั้ง
-
แต่ด้วยข้อจำกัดของ VS Code Decoration API และการไม่สามารถเข้าถึงข้อมูลโทเค็นได้ จึงยังคงช้าเมื่อใช้กับไฟล์ขนาดใหญ่
→ ไฟล์ขนาด 42k ทำให้ CPU ถูกใช้งาน 100% นาน 10 วินาที จนการทำงานอื่นทั้งหมดหยุดชะงัก
- ตั้งแต่ 1.60 เป็นต้นไป ฟีเจอร์ของส่วนขยายนี้ถูกนำไปทำใน VS Code core เอง ทำให้เร็วขึ้น 10,000 เท่า (ในตัวอย่างเฉพาะกรณี)
→ "editor.bracketPairColorization.enabled": true
- ใช้กับ VS Code for Web และ Monaco ได้ด้วย
-
ตัวฟีเจอร์นี้เองทำให้เห็นว่าการทำให้ส่วนขยายทำงานได้เร็ว เป็นเรื่องยากหากไม่มีการเปลี่ยนแปลง API ครั้งใหญ่
-
(บทความต้นฉบับมีรายละเอียดอัลกอริทึมด้วย แต่ยาวเกินไปจึงไม่นำมาแปลไว้ที่นี่)
4 ความคิดเห็น
ก่อนหน้านี้ผมใช้ Bracket Pair Colorizer 2 มาตลอด แต่พอกลับเข้าไปที่หน้าส่วนขยายอีกครั้งก็พบว่าหยุดการบำรุงรักษาไปแล้ว
ผมเลยลบส่วนขยายนั้นออก และเปิดตัวเลือก
editor.bracketPairColorization.enabledรู้ว่าได้มีการอัปเดตแล้ว
แต่ไม่รู้เลยว่าประสิทธิภาพจะดีขึ้นได้ถึงขนาดนี้
กลายเป็นว่าผมกำลังใช้ส่วนขยายตัวที่ 1 อยู่พอดี
ผมลบส่วนขยายออกแล้ว และไปเปิดใช้ฟีเจอร์นี้ในตั้งค่าแล้วครับ :)
ดูเผินๆ แล้วอาจเหมือนเป็นปัญหาที่เกิดจาก VSCode นำส่วนขยายชื่อดังมาใส่ไว้ภายในเอง
https://github.com/microsoft/vscode/…
แต่ผู้สร้างดั้งเดิมของ Bracket Pair Colorizer ก็กำลังติดตามประเด็นด้านประสิทธิภาพนี้อยู่ด้วย
และเจ้าตัวเองก็พูดว่าตอนนี้ส่วนขยายนี้ใหญ่จนยากจะดูแลรักษาต่อสำหรับเขาแล้ว
สรุปคือถ้า VS Code ทำให้มันเร็วได้จากภายในเอง ก็ถือว่าเป็นผลดีต่อทั้งสองฝ่าย
ผมก็คิดเหมือนกันครับ แบบนี้ก็วิน-วินเลย ^_^ ( เดิมทีตอนนี้นักพัฒนาคนนั้นก็.. ไม่ต้องดูแลอีกต่อไปแล้ว ฮ่าๆ )