Tăng tốc tô màu cặp ngoặc trong VSCode lên gấp 10.000 lần
(code.visualstudio.com)-
Tiện ích mở rộng Bracket Pair Colorizer được phát triển năm 2016 đã đạt 6 triệu lượt cài đặt
-
Phiên bản 2 với hiệu năng được cải thiện cũng đạt 3 triệu lượt cài đặt
-
Tuy nhiên do giới hạn của VS Code Decoration API và không thể truy cập thông tin token, nó vẫn chậm trên các tệp lớn
→ Tệp 42k khiến CPU bị sử dụng 100% trong 10 giây, làm mọi thao tác khác không thể hoạt động
- Từ bản 1.60, tiện ích này được triển khai ngay trong lõi VS Code nên nhanh hơn gấp 10.000 lần (trong một số ví dụ cụ thể)
→ "editor.bracketPairColorization.enabled": true
- Cũng được áp dụng cho VS Code for Web và Monaco
-
Điều này cho thấy bản thân tính năng này rất khó để triển khai nhanh chỉ bằng extension nếu không có thay đổi API quy mô lớn
-
(Bài gốc có phần mô tả chi tiết thuật toán, nhưng quá dài nên không chuyển lại.)
4 bình luận
Tôi đã dùng Bracket Pair Colorizer 2 từ trước, nhưng khi vào lại trang tiện ích mở rộng thì thấy nó đã ngừng được bảo trì.
Tôi xóa tiện ích mở rộng đó và bật tùy chọn
editor.bracketPairColorization.enabled.Tôi biết là nó đã được cập nhật rồi
nhưng không ngờ hiệu năng lại được cải thiện đến mức này
Hóa ra tôi đang dùng tiện ích mở rộng số 1
Tôi đã xóa tiện ích mở rộng và bật tính năng này trong phần cài đặt. :)
Thoạt nhìn thì có vẻ như đây là vấn đề do VSCode tích hợp sẵn một extension nổi tiếng vào bên trong.
https://github.com/microsoft/vscode/…
Tuy nhiên, tác giả gốc của Bracket Pair Colorizer cũng đang theo dõi cùng vấn đề hiệu năng này, và chính anh ấy cũng nói rằng extension này giờ đã trở nên khó bảo trì đến mức bản thân anh ấy cũng khó có thể tiếp tục can thiệp.
Nói cách khác, nếu VS Code triển khai nhanh ngay trong nội bộ thì ngược lại sẽ tốt cho cả đôi bên.
Tôi cũng đã nghĩ giống vậy, đúng là đôi bên cùng có lợi ^_^ ( vì giờ thì nhà phát triển ban đầu... không còn phải tiếp tục bảo trì nữa. hehe )