11 คะแนน โดย xguru 2021-09-30 | 4 ความคิดเห็น | แชร์ทาง WhatsApp
  • ส่วนขยาย 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 ความคิดเห็น

 
joyfui 2021-10-01

ก่อนหน้านี้ผมใช้ Bracket Pair Colorizer 2 มาตลอด แต่พอกลับเข้าไปที่หน้าส่วนขยายอีกครั้งก็พบว่าหยุดการบำรุงรักษาไปแล้ว

ผมเลยลบส่วนขยายนั้นออก และเปิดตัวเลือก editor.bracketPairColorization.enabled

 
nicewook 2021-09-30

รู้ว่าได้มีการอัปเดตแล้ว

  1. แต่ไม่รู้เลยว่าประสิทธิภาพจะดีขึ้นได้ถึงขนาดนี้

  2. กลายเป็นว่าผมกำลังใช้ส่วนขยายตัวที่ 1 อยู่พอดี

  3. ผมลบส่วนขยายออกแล้ว และไปเปิดใช้ฟีเจอร์นี้ในตั้งค่าแล้วครับ :)

 
xguru 2021-09-30

ดูเผินๆ แล้วอาจเหมือนเป็นปัญหาที่เกิดจาก VSCode นำส่วนขยายชื่อดังมาใส่ไว้ภายในเอง

https://github.com/microsoft/vscode/…

แต่ผู้สร้างดั้งเดิมของ Bracket Pair Colorizer ก็กำลังติดตามประเด็นด้านประสิทธิภาพนี้อยู่ด้วย

และเจ้าตัวเองก็พูดว่าตอนนี้ส่วนขยายนี้ใหญ่จนยากจะดูแลรักษาต่อสำหรับเขาแล้ว

สรุปคือถ้า VS Code ทำให้มันเร็วได้จากภายในเอง ก็ถือว่าเป็นผลดีต่อทั้งสองฝ่าย

 
tkwlsrl 2021-09-30

ผมก็คิดเหมือนกันครับ แบบนี้ก็วิน-วินเลย ^_^ ( เดิมทีตอนนี้นักพัฒนาคนนั้นก็.. ไม่ต้องดูแลอีกต่อไปแล้ว ฮ่าๆ )