11 puntos por xguru 2021-09-30 | 4 comentarios | Compartir por WhatsApp
  • La extensión Bracket Pair Colorizer, desarrollada en 2016, alcanzó 6 millones de instalaciones

  • La versión 2, con mejor rendimiento, también alcanzó 3 millones de instalaciones

  • Pero, por las limitaciones de la VS Code Decoration API y la imposibilidad de acceder a la información de tokens, todavía es lenta en archivos grandes

→ Un archivo de 42k usa el CPU al 100% durante 10 segundos, por lo que todas las demás acciones dejan de responder

  • Desde la versión 1.60, esta extensión se implementó directamente en el núcleo de VS Code y mejoró 10 mil veces la velocidad (en un ejemplo específico)

"editor.bracketPairColorization.enabled": true

  • También se aplicó a VS Code for Web y Monaco
  • Esto demuestra que esta función, sin un gran cambio en la API, es difícil de implementar rápidamente desde una extensión

  • (El artículo original incluye detalles del algoritmo, pero no se trasladan aquí porque es demasiado largo.)

4 comentarios

 
joyfui 2021-10-01

Desde hace tiempo usaba Bracket Pair Colorizer 2, pero al volver a entrar a la página de la extensión vi que ya no tenía mantenimiento.

Eliminé la extensión y activé la opción editor.bracketPairColorization.enabled.

 
nicewook 2021-09-30

Sabía que se había actualizado, pero

  1. no sabía que el rendimiento había mejorado tanto

  2. resulta que yo estaba usando la extensión 1

  3. borré la extensión y habilité esta función en la configuración. :)

 
xguru 2021-09-30

A simple vista, parece como si el problema fuera que VSCode implementó internamente una extensión famosa,

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

El autor original de Bracket Pair Colorizer también está siguiendo este problema de rendimiento,

y de hecho él mismo dice que esta extensión ya llegó a un punto en el que es difícil de mantener para él, al grado de que le resulta complicado meterle mano.

Es decir, si VS Code lo implementa rápido internamente, al final es mejor para ambas partes.

 
tkwlsrl 2021-09-30

Yo también pensé lo mismo, así que fue un ganar-ganar ^_^ (porque ahora el desarrollador original... ya no tiene que seguir manteniéndolo. jaja)