Microsoft wypuszcza VS Code 1.51 z ulepszonymi przypiętymi zakładkami i nie tylko

Ikona czasu czytania 11 minuta. czytać


Czytelnicy pomagają wspierać MSpoweruser. Możemy otrzymać prowizję, jeśli dokonasz zakupu za pośrednictwem naszych linków. Ikona podpowiedzi

Przeczytaj naszą stronę z informacjami, aby dowiedzieć się, jak możesz pomóc MSPoweruser w utrzymaniu zespołu redakcyjnego Czytaj więcej

Kod Microsoft VS

Kod Microsoft VS

Firma Microsoft ogłosiła dzisiaj wydanie Visual Studio Code v1.51 (aktualizacja z października 2020 r.) z kilkoma ulepszeniami i poprawkami błędów. Ta nowa aktualizacja zawiera teraz okno sugestii IntelliSense o zmiennym rozmiarze, trwałe sesje terminala zdalnego, ulepszone przypięte karty i nie tylko. Poniżej znajdziesz pełny dziennik zmian dostarczony przez firmę Microsoft.

Workbench#

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.

Nieaktywne przypięte karty z ikonami pinezek

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.

Niestandardowe najechanie na drzewo

Zainstaluj rozszerzenie bez synchronizacji#

Możesz teraz zainstalować rozszerzenie bez synchronizowania go, gdy synchronizacja ustawień jest włączona.

Zainstaluj rozszerzenie bez synchronizacji

Skórka: Ś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, aby zostały naruszone. Może to być powolne w przypadku pracy ze słabym lub odległym połączeniem z Serwer SSH or 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”:

Gif pokazujący pisanie z opóźnieniem 250 ms, w którym znaki wprowadzone natychmiast są 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ć na 0 włączyć tę funkcję przez cały czas, lub -1 aby go wyłączyć. Domyślnie do 30.
  • terminal.integrated.localEchoStyle konfiguruje styl lub kolor znaku lokalnego, domyślnie dim.

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.

Zmiana rozmiaru kontroli sugestii

Skórka: Ś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.

Pasek stanu sugestii

Skórka: Światło na GitHubie, Czcionka: FiraCode

W powyższym przykładzie wybranie „Wstaw” spowoduje wyświetlenie Math.floorceil i wybranie opcji „Zamień” spowoduje wyświetlenie Math.floor.

Nowa editor.suggest.insertMode ustawienie umożliwia skonfigurowanie, czy wolisz wstawianie, czy zastępowanie. Gdy 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.

Przesuwanie kursora podczas wyświetlania sugestii

Skórka: Ś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.

Niestandardowe fragmenty kodu Emmet znów działają

Kontrola źródła#

Pole wprowadzania kontroli źródła zapisuje historię wiadomości zatwierdzeń#

To odnosi się do żądanie funkcji aby poruszać się po historii zatwierdzeń SCM. naciskać Up i Pobierz aby wyświetlić odpowiednio poprzednie i następne zatwierdzenia. Aby przejść bezpośrednio do pierwszej i ostatniej pozycji pola wprowadzania, naciśnij inny w połączeniu z odpowiednim klawiszem strzałki.

Po wpisaniu wiadomości w polu wprowadzania SCM, a następnie przygotowaniu i zatwierdzeniu zmian, naciśnięcie strzałki w górę powoduje wyświetlenie wiadomości, która została właśnie zatwierdzona

Git: Oznacz polecenia w podmenu#

Polecenia Git związane z tagami zostały dodane do ... Menu Gita.

Podmenu tagów Gita

Git: polecenie Rebase#

nowa Git: Rebase gałąź… dodano polecenie, które pozwala na zmianę bazy gałęzi za pomocą interfejsu użytkownika.

Git: Rekurencyjne polecenie klonowania#

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 :smile:, w widoku osi czasu.

Widok osi czasu z emotikonami

Języki#

Inteligentny wybór przecen#

Rozszerz i zmniejsz zaznaczenie w dokumentach Markdown za pomocą następujących nowych poleceń:

  • Rozszerzać: Shift+Alt+Prawo
  • Kurczyć: Shift+Alt+w lewo

Wybór dotyczy następujących elementów i jest zgodny z tradycyjnym wzorcem hierarchicznym:

  • Nagłówki
  • wykazy
  • Cytaty blokowe
  • Ogrodzone bloki kodu
  • Bloki kodu HTML
  • Paragrafy

Inteligentne zaznaczanie w dokumencie Markdown rozwija się od elementu blokowego do zawierającego go elementu blokowego, do reszty treści pod nagłówkiem, do samego nagłówka

Opcja formatowania pustych nawiasów dla JavaScript i TypeScript#

Nowa javascript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces i typescript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces opcja konfiguracji formatowania kontroluje, czy spacje są wstawiane między pustymi nawiasami klamrowymi. Domyślna wartość tych ustawień to prawda. Na przykład dla JavaScript:

class Foo {
  doFoo() {}
}

Oprawa "javascript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces": false a formatowanie kodu skutkuje:

class Foo {
  doFoo() {} // Notice that the space has been removed
}

Obsługiwane przeglądarki#

Pobierz foldery (Edge, Chrome)#

Wykorzystanie nowego Dostęp do systemu plików Interfejs API, Microsoft 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.

Pobierz folder

Uwaga: Wymaga to najnowszej wersji przeglądarki Microsoft Edge lub Google Chrome.

Powiadomienie o otwartym obszarze roboczym#

Jeśli otworzysz folder, który zawiera .code-workspace plików na najwyższym poziomie, zobaczysz teraz powiadomienie z prośbą o ich otwarcie. Tak było zawsze w Microsoft VS Code na komputery i teraz będzie działać również w przeglądarce.

Powiadomienie o otwartym obszarze roboczym

Zapobiegaj przypadkowemu zamknięciu#

Nowe ustawienie window.confirmBeforeClose został dodany, aby wyświetlić okno dialogowe potwierdzenia przed zamknięciem lub opuszczeniem środowiska roboczego.

Możliwe wartości to:

  • keyboardOnly Potwierdzenie zostanie wyświetlone tylko wtedy, gdy użyjesz skrótu klawiszowego do zamknięcia (na przykład Ctrl + W). (domyślna)
  • always: Okno dialogowe potwierdzenia będzie zawsze wyświetlane, nawet jeśli zamkniesz je gestem myszy.
  • never: Potwierdzenie nigdy nie zostanie wyświetlone.

Zamknij okno dialogowe potwierdzenia

Note: 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 systemu Linux (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.

Podgląd funkcji#

Funkcje wersji zapoznawczej nie są gotowe do wydania, ale są wystarczająco funkcjonalne, aby można było z nich korzystać. Czekamy na Wasze wczesne opinie, gdy są one opracowywane.

Synchronizacja ustawień#

Synchronizacja ustawień synchronizuje teraz globalny stan rozszerzeń. Rozszerzenia będą musiały zapewnić stan do synchronizacji za pomocą nowo wprowadzonego ustawKeysForSync 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.

Logowanie do proxy

Skórka: Światło na GitHubie

Okno dialogowe pojawi się w oknie Microsoft 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#

Kod Microsoft VS obsługuje Wersja beta TypeScriptu 4.1 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 @see 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 Microsoft 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:

Próbki stylu Webview

Kolory Codiconu na drzewach#

Wraz z finalizacją ThemeIcon kolor API, autorzy rozszerzeń mogą używać kolorów motywów w kodikonach w niestandardowych widokach drzewa.

Widok drzewa z kolorami ikon

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 globalState memento.

/**
 * Set the keys whose values should be synchronized across devices when synchronizing user-data
 * like configuration, extensions, and mementos.
 *
 * Note that this function defines the whole set of keys whose values are synchronized:
 *  - calling it with an empty array stops synchronization for this memento
 *  - calling it with a non-empty array replaces all keys whose values are synchronized
 *
 * For any given set of keys this function needs to be called only once but there is no harm in
 * repeatedly calling it.
 *
 * @param keys The set of keys whose values are synced.
 */
setKeysForSync(keys: string[]): void;

Widoczność przycisku odpowiedzi w wątku komentarza#

Komentarz rozszerzenia mogą teraz kontrolować widoczność przycisku odpowiedzi w wątku komentarzy z nową właściwością, CommentThread#canReply. Kiedy jest ustawiony na false, 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 package.json plik twojego rozszerzenia: "enableProposedApi": true.
  • 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 zdarzenie.

Aby uzyskać więcej informacji i przekazać opinię, skorzystaj z wydać #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.

/**
 * Retrieve a password that was stored with key. Returns undefined if there
 * is no password matching that key.
 * @param key The key the password was stored under.
 */
export function getPassword(key: string): Thenable<string | undefined>;

/**
 * Store a password under a given key.
 * @param key The key to store the password under
 * @param value The password
 */
export function setPassword(key: string, value: string): Thenable<void>;

/**
 * Remove a password from storage.
 * @param key The key the password was stored under.
 */
export function deletePassword(key: string): Thenable<void>;

/**
 * Fires when a password is set or deleted.
 */
export const onDidChangePassword: Event<void>;

Inżynieria#

Zapewnienie zgodności z zaufanymi typami kodu Microsoft 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 wydać #103699.

Źródło: Microsoft

Więcej na tematy: Microsoft, Visual Studio Code 1.51, Kod VS

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *