VSCode의 Bracket Pair 색상화를 1만배 빠르게 만들기
(code.visualstudio.com)- 2016년에 개발된 Bracket Pair Colorizer 확장은 6백만회 설치
- 성능을 개선한 2버전도 3백만회 설치
- 하지만 VS Code Decoration API의 한계 및 토큰 정보에 접근이 불가능해서, 아직도 큰파일에서는 느림
ㅤ→ 42k 짜리 파일은 10초간 CPU를 100% 사용해서 다른 모든 동작들이 동작 안됨
- 1.60 부터는 이 확장 자체를 VS Code 코어에서 구현해서 1만배 빠르게 개선(특정 예제에서)
ㅤ→ "editor.bracketPairColorization.enabled": true
- VS Code for Web 과 Monaco 에도 적용
* 이 기능 자체가 대대적인 API변경 없이, 확장에서는 빠르게 구현하기 힘들다는 것
* (원 글에는 알고리듬 상세 내용 포함되어 있으나 너무 길어서 옮기지 않습니다.)
예전부터 Bracket Pair Colorizer 2를 사용했었는데 다시 확장페이지에 들어갔더니 유지보수가 끝났었네요.
확장을 지우고 editor.bracketPairColorization.enabled 옵션을 켰습니다.
업데이트 된 것은 알았지만
1. 성능이 이정도로 향상된 것인줄은 몰랐네요
2. 저는 확장 프로그램 1을 사용중이었군요
3. 확장프로그램 지우고 설정에서 이 기능을 enable 했습니다. :)
얼핏 봐서는, 유명한 확장을 VSCode가 내부에 구현해서 문제가 되는 것 처럼 보이지만
https://github.com/microsoft/vscode/…
Bracket Pair Colorizer 의 원작자가 이 성능 이슈를 같이 팔로윙하고 있고,
정작 자신도 이 확장이 이제 자신이 손대기 어려울 정도가 되어서 유지보수 하기 어렵다고 얘기하고 있습니다.
즉, VS Code가 내부에서 빠르게 구현해주면 차라리 서로 좋다는 것