vscode-neovim: nasze zmiany w projekcie open source
Tryb Vima w VS Code, w którym edycję obsługuje prawdziwy Neovim.
- Język
- TypeScript
- Gwiazdki na GitHubie
- 7753
- Strona projektu
- marketplace.visualstudio.com
Zmiana przyjęta w vscode-neovim
Zaznaczenie w trybie visual nie przecina już na pół emoji i innych znaków spoza podstawowej płaszczyzny Unicode.
- Pull request #2683scalony 23 września 2026
Jak to sprawdziliśmy
Doszły trzy testy integracyjne: zaznaczenie nad jednym znakiem spoza BMP, nad dwoma takimi znakami pod rząd i nad mieszanką zwykłych znaków wielobajtowych z tymi spoza BMP. Pakietu integracyjnego nie dało się uruchomić lokalnie, co napisaliśmy w opisie, więc pierwszym przebiegiem było CI projektu.
TypeScript, React i Node
Nasze projekty w tej technologii, ich ekrany i to, kiedy ją wybieramy.
Błąd, poprawka i wniosek
Skrót naszego opisu z Nowinek technicznych: co nie działało, co zmieniliśmy i co z tego wynika dla naszej pracy.
Zaznaczenie przecinało emoji na pół
W trybie visual kod dodawał do końca zaznaczenia jedną jednostkę UTF-16. Znak spoza BMP zajmuje dwie, więc zaznaczenie kończyło się w połowie pary surogatów.
Przesunięcie o cały znak
Kod najpierw przesuwa koniec zaznaczenia o cały znak w bajtach, a dopiero potem przelicza kolumnę na UTF-16.
JavaScript liczy długość tekstu w jednostkach UTF-16, a emoji zajmuje dwie.
Każde przesunięcie kursora trzeba liczyć w znakach, nie w jednostkach.
Inne projekty z naszymi zmianami: TypeScript, React i Node
5 projektów w tej technologii ma nasze przyjęte zmiany. Pasek to gwiazdki repozytorium, obok liczba naszych zmian. Każdy wiersz prowadzi do strony projektu.
- Autoprefixer3 przyjęte zmiany22 209
- compromise21 przyjętych zmian12 161
- vscode-neovimta strona, 1 przyjęta zmiana7753
- MailDev1 przyjęta zmiana6135
- spacetime1 przyjęta zmiana4107
Pytania o nasze zmiany w vscode-neovim
Skąd są te zmiany, kto je przyjął i czy poprawimy coś w Twojej bibliotece.
Czytaj dalej
Więcej o tej pracy i o pozostałych projektach z naszymi zmianami.
Używasz vscode-neovim w swoim projekcie?
Jeśli coś w nim nie działa, poprawimy to u źródła i zostawimy obejście do czasu wydania. Odpiszemy w godzinę.