Zmiany w Visual Studio Code (od 1.9 do 1.19 – 10 wersji zmian)

W poprzednim poście przeszedłem jakie są nowe komendy które pozwalają na interakcję z edytorem poprzez skróty klawiaturowe, dzisiaj przejdę po najciekawszych funkcjonalnościach które pojawiły się między wersjami (1.9-1.19)

Automatyczne zgadywanie kodowania plików

Możesz pozwolić Visual Studio Code, aby zgadł jakie kodowanie znaków znajduje się w pliku ustawiając files.autoGuessEncoding ustawieniach programu, które domyślnie jest wyłączone. Kiedy opcja jest włączona edytor dokona próby zgadnięcia kodowania z pliku i to kodowanie użyje.

Pamiętaj: Są przypadki w których kodowanie zostanie odczytane niepoprawnie lub wcale. Aby mieć pełną kontrolę na kodowaniem w obrębie twojego projektu użyj ustawień files.encoding.

Dodatkowo jeżeli wybierzesz opcję do zmiany kodowania pliku dostaniesz także informację jakie kodowanie jest proponowane przez Visual Studio Code, bazujące na zgadnięciu przez Visual Studio Code

encoding_guess

Oczywiście kodowanie znaków może zostać nie poprawnie odgadnięte. Nie ma 100% pewności, że znalezione kodowanie jest tym prawidłowym. Jedynym wyjątkiem są pliki używające BOM (byte order mark) dla UTF-8 oraz UTF-16.

Usuń rzeczy z listy ostatnio otwartych

Pojawiła się nowa akcja (X) usuwania wpisów z listy ostatnio otwartych (Ctrl+R) przy pomocny Iksa znajdującego się po prawej stronie każdego wpisu na liście.

Płynne scrolowanie

Edytor dostał opcję do ustawienia editor.smoothScrolling pozwalającą wyposażenia edytora w animację scrollowania. Po włączeniu podanej opcji przeskakiwanie między różnymi lokalizacjami w pliku np. poprzez Page Up czy Page down lub przechodzenie między wynikami szukania lub używanie scrolla w myszy, będzie animowane.

Automatyczne formatowanie

Auto formatowanie jest włączone jako wartość domyślna. ("editor.autoIndent": true). Jeżeli język z którym pracujesz posiada zdefiniowane zasady formatowania (na przykład, TypeScript, JSON, CSS), formatowanie będzie zastosowane jeżeli piszesz, przesuwasz linie lub wklejasz kod.

Wsparcie dla dużych plików

Duże pliki są zawsze dobrym testem dla edytorów tekstów.

Każdy plik większy niż 30MB lub posiadający ponad 300 tysięcy linii będzie uważany przez edytor jako duży. Takie pliki będą miały specjalne traktowanie. Niektóre funkcjonalności zostaną wyłączone w celu optymalizacji zużycia pamięci, w niektórych przypadkach nawet do 50%.

Niektóra optymalizacja będzie dotyczyła każdego pliku, ale nie efekty nie będą zauważalne na małych plików. Został zlikwidowany twardy limit 50MB na systemach on 64-bit i został wprowadzony limit 300MB na instalacjach 32-bit.

Sprawdź #30180 aby dowiedzieć się więcej o przeprowadzonej optymalizacji w Visual Studio Code.

Usprawnienia w palecie komend

Została poprawiona paleta komend (Command Palette) dostępna pod skrótem Ctrl+Shift+P, aby była bardziej użyteczna

Jedną z popularnych próśb o dodanie, było zapisanie ostatnio wpisanego tekstu przy ponownym uruchomieniu palety komend. Aby włączyć to zachowanie należy ustawić opcję workbench.commandPalette.preserveInput.

Zostało dodana także lista ostatnio użytych komend, która będzie przechowywana pomiędzy uruchomieniami. Ostatnio użyte komendy zawsze się pojawią na górze. A nowe ustawienie workbench.commandPalette.history pozwala na kontrolowanie jak wiele wpisów ma zostać tobie pokazanych (użyj 0, aby wyłączyć tą funkcjonalność).

Została dodana nowa komenda Clear Commands History  służąca do szybkiego czyszczenia wpisów z historii.

Dodaj wiele kursorów przy użyciu controla i myszy

Zostało wprowadzone nowe ustawienie editor.multiCursorModifier, który zamienia modyfikator służący do ustawienia wielu kursorów jednocześnie. Pozwala to użytkownikom przychodzącym z Sublime Text lub Atom na korzystanie z tych samych skrótów, z którymi są zaznajomieni.

Ustawienie może zostać ustawione na następujące wartości:

  • ctrlCmd – Mapuje do Controla (Windows) lub Cmd (macOS).
  • alt – Ustawia wartość domyślną – Alt.

Komendy takie jak Go To Definition i Open Link, które są domyślnie są zdefiniowane pod skrótem Ctrl+LPM, zmieniają się na Alt+LPM, tak aby nie było konfliktów.

Pojawiła się możliwość na usunięcie postawionych kursorów poprzez wykonanie tego samego gestu na istniejącym kursorze.