VS Code 1.51 wydany z ulepszeniami przypiętych zakładek i nie tylko
Visual Studio Code to popularna aplikacja dla programistów. Jest to edytor kodu na nowo zdefiniowany i zoptymalizowany pod kątem tworzenia i debugowania nowoczesnych aplikacji internetowych i chmurowych. VS Code zawiera wiele rozszerzeń i pomocników, które naprawdę oszczędzają czas. Jest dostępny dla wszystkich głównych platform, w tym Windows, MacOS i Linux. Firma Microsoft wydała dziś nową wersję aplikacji, która wprowadza ulepszenia różnych funkcji aplikacji, w tym przypiętych kart, integracji z GitHub i wielu innych.
Kod VS 1.51 jest godny uwagi z powodu następujących zmian.
Uwaga: możesz pobrać aplikację z jej oficjalnej strony internetowej.
stoł warsztatowy
Bardziej widoczne przypięte zakładki
Przypięte karty będą teraz zawsze wyświetlać ikonę pinezki, nawet gdy są nieaktywne, aby ułatwić ich identyfikację. Jeśli edytor jest zarówno przypięty, jak i zawiera niezapisane zmiany, ikona odzwierciedla oba stany.
Drzewa rozszerzeń używają niestandardowego najechania
Zamiast używać natywnej podpowiedzi w widokach drzewa rozszerzeń, używamy teraz niestandardowego najechania, które jest spójne dla wielu platform i lepiej pasuje do ogólnego UX.
Zainstaluj rozszerzenie bez synchronizacji
Możesz teraz zainstalować rozszerzenie bez synchronizowania go, gdy synchronizacja ustawień jest włączona.
Temat: Światło na GitHubie
Zainstaluj rozszerzenie z Eksploratora
VS Code obsługuje teraz instalowanie rozszerzenia pliku VSIX z Eksploratora przez kliknięcie prawym przyciskiem myszy pliku VSIX i wybranie Zainstaluj rozszerzenie VSIX element menu kontekstowego.
Wprowadź polecenie rozmycia
Nowy wewnętrzny workbench.action.blur
jest teraz dostępne polecenie, które usuwa fokus z dowolnego wejścia, na które można się skupić. Możesz przypisać skrót klawiaturowy do tego polecenia w Preferencje skrótów klawiaturowych.
Zintegrowany Terminal
Lokalne echo
Dokonywanie modyfikacji w terminalu tradycyjnie wymaga wysłania informacji do procesu terminala, przetworzenia i zwrócenia do VS Code w celu ich zmiany. Może to być powolne w przypadku pracy ze słabym lub odległym połączeniem z Serwer SSH lub Przestrzeń kodowa.
Ta wersja dodaje do terminala tryb „lokalnego echa”, który próbuje przewidzieć modyfikacje i ruchy kursora dokonywane lokalnie i pokazywać je w interfejsie użytkownika bez konieczności podróży w obie strony do serwera. Domyślnie przewidywane znaki są wyświetlane jako „przyciemnione”:
Istnieją dwa ustawienia, których możesz użyć do skonfigurowania tego:
-
terminal.integrated.localEchoLatencyThreshold
konfiguruje wykryty próg opóźnienia w milisekundach, przy którym aktywuje się lokalne echo. Można to ustawić na0
włączyć tę funkcję przez cały czas, lub-1
aby go wyłączyć. Domyślnie do30
. -
terminal.integrated.localEchoStyle
konfiguruje styl lub kolor znaku lokalnego, domyślnieciemny
.
IntelliSense
Sugestie o zmiennym rozmiarze
W tym kamieniu milowym wprowadziliśmy kilka ulepszeń w interfejsie sugestii. Przede wszystkim można teraz zmienić jego rozmiar. Przeciągnij boki lub rogi, aby zmienić rozmiar kontrolki.
Temat: Światło na GitHubie, Czcionka: FiraCode
Rozmiar listy sugestii będzie zapisywany i przywracany w kolejnych sesjach. Rozmiar okienka szczegółów jest zapisywany tylko na sesję, ponieważ ten rozmiar jest zwykle bardziej zmienny. Również editor.suggest.maxVisibleSuggestions
ustawienie stało się przestarzałe.
Pasek stanu z sugestiami
Kontrolka sugestii może teraz również wyświetlać własny pasek stanu u dołu okna. Włącz to za pomocą editor.suggest.showStatusBar
ustawienie. Ułatwia przełączanie szczegółów i pokazuje, czy uzupełnianie obsługuje wstawianie, zastępowanie lub jedno i drugie.
Temat: Światło na GitHubie, Czcionka: FiraCode
W powyższym przykładzie wybranie opcji „Wstaw” spowoduje wyświetlenie Math.floorceil
i wybranie opcji „Zamień” spowoduje wyświetlenie Matematyka.podłoga
.
Nowa editor.suggest.insertMode
ustawienie umożliwia skonfigurowanie, czy wolisz wstawić, czy wymienić. Jeśli sugestia obsługuje obie te opcje, domyślną preferencją będzie Twoja preferencja.
Przesuń kursor, aby wybrać sugestie
Wreszcie, co nie mniej ważne, możesz teraz przesuwać kursor, gdy wyświetlane są sugestie. Na przykład możesz uruchomić sugestie na końcu słowa, przesunąć się w lewo, aby zobaczyć więcej sugestii, a następnie użyć polecenia Zamień, aby nadpisać słowo.
Temat: Światło na GitHubie
Mrówka
Wróciły niestandardowe fragmenty w Emmecie. Ponadto fragmenty są teraz automatycznie odświeżane po zapisaniu pliku fragmentów lub aktualizacji emmet.extensionsPath
ustawienie.
Kontrola źródła
Pole wprowadzania kontroli źródła zapisuje historię wiadomości zatwierdzeń
To odnosi się do prośba o funkcję aby poruszać się po historii zatwierdzeń SCM. naciskać ↑ (Windows, Linux W górę) oraz ↓ (Windows, Linux W dół) aby wyświetlić odpowiednio poprzednie i następne zatwierdzenia. Aby przejść bezpośrednio do pierwszej i ostatniej pozycji pola wprowadzania, naciśnij Alt w połączeniu z odpowiednim klawiszem strzałki.
Git: Oznacz polecenia w podmenu
Polecenia Git związane z tagami zostały dodane do ... Menu Gita.
Git: polecenie Rebase
Nowy Git: Rebase oddział... dodano polecenie, które pozwala na zmianę bazy gałęzi za pomocą interfejsu użytkownika.
Git: Rekursywne polecenie klonowania
Z Git: Klon (Rekursywny) polecenie, możesz teraz rekursywnie klonować repozytoria Git, w tym ich zagnieżdżone podmoduły Git.
Oś czasu: renderowanie skróconych emotikonów
Teraz renderujemy skróty emoji, takie jak :Uśmiechnij się:
, w widoku osi czasu.
Języki
Inteligentny wybór przecen
Rozszerz i zmniejsz zaznaczenie w dokumentach Markdown za pomocą następujących nowych poleceń:
- Zwiększać: ⌃⇧⌘→ (Windows, Linux Shift+Alt+Prawo)
- Kurczyć: ⌃⇧⌘← (Windows, Linux Shift+Alt+w lewo)
Wybór dotyczy następujących elementów i jest zgodny z tradycyjnym wzorcem hierarchicznym:
- Nagłówki
- Listy
- Cytaty blokowe
- Ogrodzone bloki kodu
- Bloki kodu HTML
- Paragrafy
Opcja formatowania pustych nawiasów dla JavaScript i TypeScript
Nowa javascript.format.wstaw spację po otwarciu i przed zamknięciemPuste nawiasy klamrowe
oraz typescript.format.insertOdstęp po otwarciu i przed zamknięciemPuste nawiasy klamrowe
opcja konfiguracji formatowania kontroluje, czy spacje są wstawiane między puste nawiasy klamrowe. Domyślna wartość tych ustawień to prawda. Na przykład dla JavaScript:
klasa Foo { doFoo() { } }
Ustawienie "javascript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces": false
a formatowanie kodu skutkuje:
class Foo { doFoo() {} // Zauważ, że spacja została usunięta. }
Obsługa przeglądarki
Pobierz foldery (Edge, Chrome)
Wykorzystanie nowego Dostęp do systemu plików Interfejs API, VS Code działający w przeglądarce może teraz oferować akcję pobierania folderów z Eksploratora plików w celu pobrania wszystkich plików i folderów na dysk.
Notatka: Wymaga to najnowszej wersji przeglądarki Microsoft Edge lub Google Chrome.
Powiadomienie o otwartym obszarze roboczym
Jeśli otworzysz folder, który zawiera .kod-obszar roboczy
plików na najwyższym poziomie, zobaczysz teraz powiadomienie z prośbą o ich otwarcie. Tak było zawsze w VS Code na komputery i teraz będzie działać również w przeglądarce.
Zapobiegaj przypadkowemu zamknięciu
Nowe ustawienie window.confirmPrzedZamknij
został dodany, aby wyświetlić okno dialogowe potwierdzenia przed zamknięciem lub opuszczeniem środowiska roboczego.
Możliwe wartości to:
-
Tylko klawiatura
Potwierdzenie zostanie wyświetlone tylko wtedy, gdy użyjesz skrótu klawiszowego do zamknięcia (na przykład W (Windows, Linux Ctrl+W)). (domyślny) -
zawsze
: Okno dialogowe potwierdzenia będzie zawsze wyświetlane, nawet jeśli zamkniesz je gestem myszy. -
nigdy
: Potwierdzenie nigdy nie zostanie wyświetlone.
Notatka: To ustawienie może nie obejmować wszystkich przypadków. Przeglądarki mogą nadal decydować o zamknięciu karty lub okna bez potwierdzenia.
Składki na rozszerzenia
Żądania pull i problemy z GitHub
Trwają prace nad Żądania pull i problemy z GitHub rozszerzenie, które umożliwia pracę nad, tworzeniem i zarządzaniem pull requestami i problemami.
Aby dowiedzieć się o wszystkich nowych funkcjach i aktualizacjach, możesz zobaczyć pełną dziennik zmian dla 0.22.0 zwolnienie rozszerzenia.
Rozwój zdalny
Trwają prace nad Rozszerzenia zdalnego rozwoju, które umożliwiają korzystanie z kontenera, zdalnej maszyny lub Podsystem Windows dla Linuksa (WSL) jako w pełni funkcjonalne środowisko programistyczne.
Najważniejsze funkcje w wersji 1.51 obejmują:
- Możliwość utrwalania/ponownego łączenia się z sesjami terminalowymi.
- Ulepszone przekierowanie portów.
Możesz dowiedzieć się o nowych funkcjach rozszerzeń i poprawkach błędów w Informacje o wersji do zdalnego programowania.
Funkcje podglądu
Funkcje wersji zapoznawczej nie są gotowe do wydania, ale są wystarczająco funkcjonalne, aby można było z nich korzystać. Czekamy na Twoje wczesne opinie, gdy są w fazie rozwoju.
Synchronizacja ustawień
Synchronizacja ustawień synchronizuje teraz globalny stan rozszerzeń. Rozszerzenia będą musiały podać stan do synchronizacji za pomocą nowo wprowadzonego setKeysForSync API.
Zapamiętaj dane uwierzytelniające proxy
Dokonujemy przeglądu okna dialogowego logowania, które pokazuje, kiedy połączenie sieciowe wymaga uwierzytelnienia za pomocą serwera proxy. Nowa oprawa, window.enableExperimentalProxyLoginDialog: true
, umożliwi to nowe środowisko, które planujemy ustawić jako domyślne w przyszłej wersji.
Temat: Światło na GitHubie
Okno dialogowe pojawi się w oknie programu VS Code i umożliwi zapamiętanie poświadczeń, dzięki czemu nie trzeba ich podawać przy każdym uruchomieniu programu VS Code. Poświadczenia będą przechowywane w standardowym magazynie poświadczeń systemu operacyjnego (pęk kluczy w systemie macOS, menedżer poświadczeń systemu Windows w systemie Windows i pęk kluczy gnome w systemie Linux).
Nadal wyświetlamy to okno dialogowe tylko raz na sesję, ale możemy wrócić do tej decyzji w przyszłości. Zobaczysz, że okno dialogowe pojawi się ponownie, jeśli poświadczenia, które wybrałeś do zapamiętania, nie są ważne. Podanie ich ponownie umożliwia ich zmianę.
Włącz tę opcję i daj nam znać, jeśli coś nie działa zgodnie z oczekiwaniami za pośrednictwem naszego Lista problemow.
Obsługa wersji beta TypeScript 4.1
VS Code wspiera TypeScript 4.1 beta i nocne kompilacje. Aktualizacja 4.1 wprowadza kilka nowych funkcji języka TypeScript, takich jak obsługa rekurencyjne typy warunkowe, a także ulepszenia narzędzi. Jednym z obszarów zainteresowania był dodanie początkowego wsparcia dla @zobaczyć
znaczniki w komentarzach JSDoc.
Aby zacząć korzystać z nocnych kompilacji TypeScript 4.1, po prostu zainstaluj Rozszerzenie TypeScript Nightly. Podziel się swoją opinią i daj nam znać, jeśli napotkasz jakiekolwiek błędy w TypeScript 4.1.
Tworzenie rozszerzeń
Zaktualizowane próbki rozszerzeń
Zaktualizowaliśmy niektóre z naszych próbki rozszerzające aby uwzględnić domyślne style VS Code, które są połączone z naszymi tokenami motywów kolorystycznych. Oznacza to, że wspólne elementy (tekst, przyciski, dane wejściowe) będą tematyczne i będą pasować do domyślnych stylów produktu. Poniżej znajdują się rozszerzenia, które obejmują to:
- niestandardowy-edytor-próbka
- przykład-widoku internetowego
- przykład-widoku-widoku internetowego
Kolory Codiconu na drzewach
Wraz z finalizacją Ikona motywu
kolor API, autorzy rozszerzeń mogą używać kolorów motywów w kodikonach w niestandardowych widokach drzewa.
Synchronizuj stan globalny
Rozszerzenia mogą teraz synchronizować swój stan globalny, dostarczając klucze, których wartości powinny być synchronizowane po włączeniu synchronizacji ustawień, przy użyciu nowo wprowadzonego setKeysForSync
API w globalny stan
memento.
/** * Ustaw klucze, których wartości powinny być synchronizowane między urządzeniami podczas synchronizacji danych użytkownika *, takich jak konfiguracja, rozszerzenia i pamiątki. * * Zwróć uwagę, że funkcja ta definiuje cały zestaw kluczy, których wartości są synchronizowane: * - wywołanie z pustą tablicą zatrzymuje synchronizację dla tej pamiątki * - wywołanie z pustą tablicą niepusta tablica zastępuje wszystkie klucze, których wartości są zsynchronizowane * * Dla dowolnego zestawu kluczy ta funkcja musi być wywołana tylko raz, ale nie ma szkody w * wielokrotnym wywołaniu tej funkcji. * * @param keys Zestaw kluczy, których wartości są synchronizowane. */ setKeysForSync (klucze: string[]): void;
Komentarz rozszerzenia mogą teraz kontrolować widoczność przycisku odpowiedzi w wątku komentarzy z nową właściwością, KomentarzWątek#możnaodpowiedzieć
. Kiedy jest ustawiony na fałszywe
, użytkownicy nie będą widzieć przycisku odpowiedzi ani pola komentarza w wątku komentarzy.
Proponowane rozszerzenia API
Każdy kamień milowy zawiera nowe proponowane interfejsy API, a autorzy rozszerzeń mogą je wypróbować. Jak zawsze oczekujemy Twojej opinii. Oto, co musisz zrobić, aby wypróbować proponowany interfejs API:
- Musisz używać Insiderów, ponieważ proponowane interfejsy API często się zmieniają.
- Musisz mieć tę linię w
pakiet.json
plik twojego rozszerzenia:"enableProposedApi": prawda
. - Skopiuj najnowszą wersję
vscode.proposed.d.ts
plik do lokalizacji źródłowej projektu.
Nie możesz opublikować rozszerzenia korzystającego z proponowanego interfejsu API. W następnej wersji mogą pojawić się przełomowe zmiany i nigdy nie chcemy przerywać istniejących rozszerzeń.
Dostawcy asortymentu do składania zmieniają wydarzenie
Dostawcy zakresów zwijania mogą zasygnalizować redaktorowi, że należy zaktualizować zakresy zwijania za pomocą onDidChangeFoldingRanges
wydarzenie.
Aby uzyskać więcej informacji i przekazać opinię, skorzystaj z numer #108929.
Interfejsy API haseł
W ramach kontynuacji prac nad Dostawcy uwierzytelniania, wprowadziliśmy API do przechowywania i pobierania poufnych informacji. Wewnętrznie działa to jako opakowanie keytar biblioteka, której VS Code używa do przechowywania wpisów tajnych.
/** * Pobierz hasło, które zostało zapisane z kluczem. Zwraca undefined, jeśli * nie ma hasła pasującego do tego klucza. * @param key Klucz, pod którym zostało zapisane hasło. */ Funkcja eksportu getPassword (klucz: ciąg): Potemable; /** * Przechowuj hasło pod podanym kluczem. * @param key Klucz do przechowywania hasła pod * @param value Hasło */ funkcja eksportu setPassword (klucz: ciąg, wartość: ciąg): Następnie można; /** * Usuń hasło z pamięci. * @param key Klucz, pod którym zostało zapisane hasło. */ Funkcja eksportu deletePassword (klucz: ciąg): Potemable; /** * Odpala, gdy hasło jest ustawione lub usunięte. */ export const onDidChangePassword: Event;
Inżynieria
Zapewnienie zgodności z zaufanymi typami VS Code
Kontynuowaliśmy starania, aby zapewnić zgodność z VS Code „Trusted Types”. Celem jest zapobieganie podatnościom na ataki cross-site scripting w oparciu o DOM. Możesz dowiedzieć się więcej o zaufanych typach na web.dev Witryna zaufanych typów i śledź nasze postępy w numer #103699.