Visual Studio Code
01.10.2021, 09:03 Uhr
Klammerpaar-Einfärbung 10.000x schneller
Wenn man mit tief verschachtelten Klammern in Visual Studio Code zu tun hat, kann es schwierig sein, herauszufinden, welche Klammern zusammengehören und welche nicht.
Um dies zu vereinfachen, entwickelte ein Benutzer namens CoenraadS im Jahr 2016 die großartige Bracket-Pair-Colorizer-Erweiterung, um übereinstimmende Klammern einzufärben, und veröffentlichte sie auf dem VS Code Marketplace. Diese Erweiterung wurde sehr beliebt und ist inzwischen eine der zehn am häufigsten heruntergeladenen Erweiterungen auf dem Marketplace, mit über sechs Millionen Installationen. Im Jahr 2018 folgte eine zweite, verbesserte Version, die mittlerweile ebenfalls über 3 Millionen Installationen hat. Beide nutzen das Decoration-API.
Allerdings führt die nicht-inkrementelle Natur der Decoration-API und der fehlende Zugriff auf die Token-Informationen von VS Code dazu, dass die Erweiterungen bei großen Dateien langsam ist.
Henning Dieterichs sagt, dass beim Einfügen einer einzelnen Klammer am Anfang der Datei checker.ts des TypeScript-Projekts, das mehr als 42k Codezeilen hat, etwa zehn Sekunden vergehen, bis die Farben aller Klammerpaare aktualisiert sind. Auch in der Version 2 dauert es einige Zeit, bis die Farben die neuen Verschachtelungsebenen widerspiegeln, nachdem eine Klammer am Anfang der Datei eingefügt wurde.
Henning Dieterichs beschreibt in diesem Beitrag im Visual Stuido Code Blog einen Algorithmus in Wort und Bild, mit dem die Zuordnung gleicher Klammern 10000 mal so schnell erledigt sein soll.