VS Code 1.51 mit Verbesserungen an angehefteten Tabs und mehr veröffentlicht
Visual Studio Code ist eine beliebte App für Entwickler. Es ist ein neu definierter und optimierter Code-Editor zum Erstellen und Debuggen moderner Web- und Cloud-Anwendungen. VS Code wird mit einer Vielzahl von Erweiterungen und Helfern geliefert, die wirklich zeitsparend sind. Es ist für alle wichtigen Plattformen verfügbar, einschließlich Windows, MacOS und Linux. Microsoft hat heute eine neue Version der App veröffentlicht, die verschiedene App-Funktionen verbessert, darunter angeheftete Registerkarten, GitHub-Integration und vieles mehr.
VS Code 1.51 zeichnet sich durch die folgenden Änderungen aus.
Hinweis: Sie können die App von der offiziellen Website herunterladen.
Werkbank
Weitere auffällige angeheftete Tabs
Angepinnte Tabs zeigen jetzt auch im inaktiven Zustand immer ihr Pin-Symbol an, damit sie leichter zu erkennen sind. Wenn ein Editor sowohl angeheftet ist als auch nicht gespeicherte Änderungen enthält, spiegelt das Symbol beide Zustände wider.
Erweiterungsbäume verwenden benutzerdefinierten Hover
Anstatt den nativen Tooltip in Erweiterungsbaumansichten zu verwenden, verwenden wir jetzt einen benutzerdefinierten Hover, der plattformübergreifend konsistent ist und besser zur gesamten UX passt.
Installieren Sie eine Erweiterung ohne zu synchronisieren
Sie können jetzt eine Erweiterung installieren, ohne sie zu synchronisieren, während die Synchronisierung der Einstellungen aktiviert ist.
Thema: GitHub Light
Installieren Sie eine Erweiterung von Explorer
VS Code unterstützt jetzt die Installation einer VSIX-Erweiterungsdatei aus dem Explorer, indem Sie mit der rechten Maustaste auf eine VSIX-Datei klicken und die Option. auswählen Installieren Sie die Erweiterung VSIX Kontextmenüpunkt.
Unschärfebefehl eingeben
Ein neues internes workbench.action.blur
Der Befehl ist jetzt verfügbar, der den Fokus von jeder fokussierbaren Eingabe entfernt. Sie können diesem Befehl im eine Tastenkombination zuweisen Voreinstellungen für Tastenkombinationen.
Integriertes Terminal
Lokales Echo
Um Änderungen am Terminal vorzunehmen, müssen traditionell Informationen an den Terminalprozess gesendet, verarbeitet und an VS Code zurückgegeben werden, um betroffen zu sein. Dies kann langsam sein, wenn Sie an einer schlechten oder entfernten Verbindung zu einem SSH-Server oder Coderaum.
Diese Version fügt dem Terminal einen "lokalen Echo"-Modus hinzu, der versucht, lokal vorgenommene Änderungen und Cursorbewegungen vorherzusagen und in der Benutzeroberfläche anzuzeigen, ohne dass ein Roundtrip zum Server erforderlich ist. Standardmäßig werden vorhergesagte Zeichen als "abgeblendet" angezeigt:
Es gibt zwei Einstellungen, die Sie verwenden können, um dies zu konfigurieren:
-
terminal.integriert.localEchoLatencyThreshold
konfiguriert den erkannten Verzögerungsschwellenwert in Millisekunden, bei dem das lokale Echo aktiviert wird. Dies kann eingestellt werden auf0
um die Funktion die ganze Zeit einzuschalten, oder-1
um es zu deaktivieren. Standardmäßig auf30
. -
terminal.integrierter.localEchoStyle
konfiguriert den Stil oder die Farbe des lokalen Zeichens, standardmäßig auftrübe
.
IntelliSense
Vorschläge zur Größenanpassung
Bei diesem Meilenstein haben wir mehrere Verbesserungen an der Benutzeroberfläche für Vorschläge vorgenommen. In erster Linie kann es jetzt in der Größe geändert werden. Ziehen Sie die Seiten oder Ecken, um die Größe des Steuerelements zu ändern.
Thema: GitHub Light, Schriftart: FiraCode
Die Größe der Vorschlagsliste wird sitzungsübergreifend gespeichert und wiederhergestellt. Die Größe des Detailbereichs wird nur pro Sitzung gespeichert, da diese Größe tendenziell variabler ist. Auch der editor.suggest.maxVisibleSuggestions
Einstellung obsolet geworden.
Statusleiste für Vorschläge
Das Vorschlagssteuerelement kann jetzt auch eine eigene Statusleiste am unteren Rand des Fensters anzeigen. Aktivieren Sie es mit der editor.suggest.showStatusBar
Einstellung. Es vereinfacht das Umschalten von Details und zeigt an, ob eine Vervollständigung das Einfügen, Ersetzen oder beides unterstützt.
Thema: GitHub Light, Schriftart: FiraCode
Im obigen Beispiel führt die Auswahl von "Einfügen" zu Math.floorceil
und die Auswahl von "Ersetzen" führt zu Math.etage
.
Das neue editor.suggest.insertMode
Mit dieser Einstellung können Sie konfigurieren, ob Sie Einfügen oder Ersetzen bevorzugen. Wenn ein Vorschlag beides unterstützt, ist Ihre Präferenz die Standardeinstellung.
Cursor bewegen, um Vorschläge auszuwählen
Zu guter Letzt können Sie jetzt den Cursor bewegen, während Vorschläge angezeigt werden. Sie können beispielsweise Vorschläge am Ende eines Wortes auslösen, nach links gehen, um weitere Vorschläge anzuzeigen, und dann mit Ersetzen das Wort überschreiben.
Thema: GitHub Light
Emmet
Benutzerdefinierte Snippets in Emmet sind zurück. Außerdem werden Snippets jetzt automatisch aktualisiert, wenn die Snippets-Datei gespeichert oder die emmet.extensionsPath
Einstellung.
Quellcodeverwaltung
Eingabefeld für die Quellcodeverwaltung speichert den Verlauf der Commit-Nachrichten
Dies richtet sich an a Featureanfrage um im SCM-Commit-Verlauf zu navigieren. Drücken Sie ↑ (Windows, Linux Hoch) und ↓ (Windows, Linux Runter) um die vorherigen bzw. nächsten Commits anzuzeigen. Um direkt zur ersten und letzten Position des Eingabefelds zu gelangen, drücken Sie Alt in Verbindung mit der entsprechenden Pfeiltaste.
Git: Befehle im Untermenü markieren
Tag-bezogene Git-Befehle wurden dem. hinzugefügt ... Git-Menü.
Git: Rebase-Befehl
Eine neue Git: Rebase-Zweig... Der Befehl wurde hinzugefügt, mit dem Sie einen Zweig mithilfe der Benutzeroberfläche neu aufbauen können.
Git: Rekursiver Klonbefehl
Mit dem Git: Klonen (rekursiv) Befehl können Sie jetzt Git-Repositorys rekursiv klonen, einschließlich ihrer verschachtelten Git-Submodule.
Zeitleiste: Emoji-Shortcode-Rendering
Wir rendern jetzt Emoji-Shortcodes, wie zum Beispiel :Lächeln:
, in der Timeline-Ansicht.
Sprachen
Markdown-Smart-Select
Erweitern und verkleinern Sie die Auswahl in Markdown-Dokumenten mit den folgenden neuen Befehlen:
- Expandieren: ⌃⇧⌘→ (Windows, Linux Umschalt+Alt+Rechts)
- Schrumpfen: ⌃⇧⌘← (Windows, Linux Umschalt+Alt+Links)
Die Auswahl gilt für Folgendes und folgt einem traditionellen hierarchischen Muster:
- Überschriften
- Listen
- Block Zitate
- Eingezäunte Codeblöcke
- HTML-Codeblöcke
- Absätze
Formatierungsoption für leere geschweifte Klammern für JavaScript und TypeScript
Das neue javascript.format.insertSpaceAfterOpeningAndBeforeClosingLeere Klammern
und typescript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces
Die Formatierungskonfigurationsoption steuert, ob Leerzeichen zwischen leeren Klammern eingefügt werden. Der Standardwert für diese Einstellungen ist true. Zum Beispiel für das JavaScript:
Klasse Foo { doFoo() { } }
Einstellung "javascript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces": false
und das Formatieren des Codes führt zu:
class Foo { doFoo() {} // Beachten Sie, dass das Leerzeichen entfernt wurde. }
Browser-Unterstützung
Ordner herunterladen (Edge, Chrome)
Das Neue nutzen Dateisystemzugriff API, VS Code, der in einem Browser ausgeführt wird, kann jetzt eine Download-Aktion für Ordner aus dem Datei-Explorer anbieten, um alle Dateien und Ordner auf die Festplatte herunterzuladen.
Notiz: Dies erfordert eine aktuelle Version von Microsoft Edge oder Google Chrome.
Benachrichtigung zum Arbeitsbereich öffnen
Wenn Sie einen Ordner öffnen, der. enthält .code-Arbeitsbereich
Dateien auf der obersten Ebene, sehen Sie jetzt eine Benachrichtigung, in der Sie aufgefordert werden, sie zu öffnen. Dies war in VS Code für Desktop immer der Fall und funktioniert jetzt auch im Browser.
Verhindern Sie ein versehentliches Schließen
Eine neue Einstellung window.confirmBeforeClose
wurde hinzugefügt, um vor dem Schließen oder Verlassen der Workbench einen Bestätigungsdialog anzuzeigen.
Mögliche Werte sind:
-
Nur Tastatur
Die Bestätigung wird nur angezeigt, wenn Sie zum Schließen eine Tastenkombination verwenden (z. W (Windows, Linux Strg+W)). (Ursprünglich) -
immer
: Der Bestätigungsdialog wird immer angezeigt, auch wenn Sie mit einer Mausbewegung schließen. -
noch nie
: Die Bestätigung wird nie angezeigt.
Notiz: Diese Einstellung deckt möglicherweise nicht alle Fälle ab. Browser können dennoch entscheiden, eine Registerkarte oder ein Fenster ohne Bestätigung zu schließen.
Beiträge zu Erweiterungen
GitHub-Pull-Requests und -Probleme
Die Arbeit an der GitHub-Pull-Requests und -Probleme Erweiterung, mit der Sie Pull Requests und Issues bearbeiten, erstellen und verwalten können.
Um mehr über alle neuen Funktionen und Updates zu erfahren, können Sie sich das vollständige ansehen Änderungsprotokoll für die 0.22.0 Freigabe der Verlängerung.
Remote-Entwicklung
Die Arbeit an der Erweiterungen für die Remote-Entwicklung, mit denen Sie einen Container, einen Remote-Computer oder die Windows-Subsystem für Linux (WSL) als voll funktionsfähige Entwicklungsumgebung.
Zu den Feature-Highlights in 1.51 gehören:
- Fähigkeit, Terminalsitzungen beizubehalten/wieder zu verbinden.
- Verbesserte Portweiterleitungserfahrung.
Weitere Informationen zu neuen Erweiterungsfunktionen und Fehlerbehebungen finden Sie im Versionshinweise zur Remote-Entwicklung.
Vorschaufunktionen
Vorschaufunktionen sind noch nicht für die Veröffentlichung bereit, aber funktional genug, um verwendet zu werden. Wir freuen uns über Ihr frühes Feedback, während sie sich in der Entwicklung befinden.
Einstellungen synchronisieren
Die Einstellungssynchronisierung synchronisiert jetzt den globalen Status der Erweiterungen. Erweiterungen müssen den Status zum Synchronisieren mit dem neu eingeführten. bereitstellen setKeysForSync API.
Proxy-Anmeldeinformationen merken
Wir überarbeiten den Anmeldedialog, der angezeigt wird, wenn eine Netzwerkverbindung eine Authentifizierung mit einem Proxy erfordert. Eine neue Einstellung, window.enableExperimentalProxyLoginDialog: true
, wird diese neue Erfahrung ermöglichen, die wir in einer zukünftigen Version als Standard verwenden möchten.
Thema: GitHub Light
Das Dialogfeld wird im VS Code-Fenster angezeigt und bietet eine Möglichkeit, sich die Anmeldeinformationen zu merken, damit Sie sie nicht jedes Mal eingeben müssen, wenn Sie VS Code starten. Die Anmeldeinformationen werden im Standard-Anmeldeinformationsspeicher des Betriebssystems gespeichert (Schlüsselbund unter macOS, Windows Credential Manager unter Windows und Gnome-Schlüsselbund unter Linux).
Wir zeigen dieses Dialogfeld immer noch nur einmal pro Sitzung an, werden diese Entscheidung jedoch möglicherweise in Zukunft erneut überprüfen. Das Dialogfeld wird erneut angezeigt, falls die von Ihnen ausgewählten Anmeldeinformationen nicht gültig sind. Wenn Sie sie erneut bereitstellen, können Sie sie ändern.
Bitte aktivieren Sie diese Option und teilen Sie uns mit, wenn etwas nicht wie erwartet funktioniert über unser Problemverfolgung.
TypeScript 4.1 Beta-Unterstützung
VS Code unterstützt die TypeScript 4.1 Beta und Nachtbau. Das 4.1-Update bringt einige neue Features der TypeScript-Sprache, wie die Unterstützung für rekursive bedingte Typen, sowie Werkzeugverbesserungen. Ein Schwerpunkt war Erstunterstützung hinzufügen zum @sehen
Tags in JSDoc-Kommentaren.
Um die nächtlichen Builds von TypeScript 4.1 zu verwenden, installieren Sie einfach die TypeScript Nightly-Erweiterung. Bitte geben Sie Feedback und teilen Sie uns mit, wenn Sie auf Fehler mit TypeScript 4.1 stoßen.
Erweiterungserstellung
Aktualisierte Erweiterungsbeispiele
Wir haben einige unserer. aktualisiert Erweiterungsbeispiele um VS Code-Standardstile einzuschließen, die mit unseren Farbdesign-Token verbunden sind. Dies bedeutet, dass allgemeine Elemente (Text, Schaltflächen, Eingaben) thematisiert werden können und den Standardstilen im Produkt entsprechen. Im Folgenden sind die Erweiterungen aufgeführt, die dies enthalten:
- Custom-Editor-Beispiel
- Webview-Beispiel
- Webview-View-Beispiel
Codicon-Farben in Bäumen
Mit der Fertigstellung der ThemaIcon
Farb-API, können Erweiterungsautoren Designfarben für Codicons in benutzerdefinierten Baumansichten verwenden.
Globalen Status synchronisieren
Erweiterungen können jetzt ihren globalen Status synchronisieren, indem sie die Schlüssel bereitstellen, deren Werte synchronisiert werden sollen, wenn die Einstellungssynchronisierung aktiviert ist, mit dem neu eingeführten setKeysForSync
API-Eingang globalState
Erinnerung.
/** * Legen Sie die Schlüssel fest, deren Werte geräteübergreifend synchronisiert werden sollen, wenn Benutzerdaten * wie Konfiguration, Erweiterungen und Andenken synchronisiert werden. * * Beachten Sie, dass diese Funktion den gesamten Satz von Schlüsseln definiert, deren Werte synchronisiert werden: * - Aufruf mit einem leeren Array stoppt die Synchronisation für dieses Andenken * - Aufruf mit a ein nicht leeres Array ersetzt alle Schlüssel, deren Werte synchronisiert sind * * Für einen bestimmten Satz von Schlüsseln muss diese Funktion nur einmal aufgerufen werden, aber es schadet * nicht, sie wiederholt aufzurufen. * * @param keys Der Satz von Schlüsseln, deren Werte synchronisiert werden. */ setKeysForSync (Schlüssel: string[]): void;
Kommentar Erweiterungen können jetzt die Sichtbarkeit des Antwort-Buttons in einem Kommentar-Thread mit einer neuen Eigenschaft steuern, KommentarThread#kannAntworten
. Wenn es auf eingestellt ist falsch
, werden Benutzern die Antwortschaltfläche oder das Kommentarfeld im Kommentarthread nicht angezeigt.
Vorgeschlagene Erweiterungs-APIs
Jeder Meilenstein enthält neue vorgeschlagene APIs und Erweiterungsautoren können sie ausprobieren. Wie immer möchten wir Ihr Feedback. Um eine vorgeschlagene API auszuprobieren, müssen Sie Folgendes tun:
- Sie müssen Insiders verwenden, da sich vorgeschlagene APIs häufig ändern.
- Sie müssen diese Zeile in der
Paket.json
Datei Ihrer Erweiterung:"enableProposedApi": wahr
. - Kopieren Sie die neueste Version des
vscode.vorgeschlagen.d.ts
Datei in den Quellspeicherort Ihres Projekts.
Sie können keine Erweiterung veröffentlichen, die eine vorgeschlagene API verwendet. Möglicherweise gibt es in der nächsten Version bahnbrechende Änderungen, und wir möchten niemals vorhandene Erweiterungen deaktivieren.
Wechselveranstaltung der Faltbereichsanbieter
Faltsortiment-Anbieter können dem Redakteur signalisieren, dass Faltsortimente aktualisiert werden müssen onDidChangeFoldingRanges
Veranstaltung.
Für weitere Details und um Feedback zu geben, verwenden Sie bitte Ausgabe #108929.
Passwort-APIs
Im Rahmen der kontinuierlichen Arbeit an Authentifizierungsanbieter, haben wir eine API zum Speichern und Abrufen sensibler Informationen eingeführt. Intern fungiert dies als Wrapper der keytar Bibliothek, die VS Code zum Speichern von Geheimnissen verwendet.
/** * Rufen Sie ein Passwort ab, das mit key gespeichert wurde. Gibt undefiniert zurück, wenn * kein Kennwort mit diesem Schlüssel übereinstimmt. * @param key Der Schlüssel, unter dem das Passwort gespeichert wurde. */ Exportfunktion getPassword (Schlüssel: String): Thenable; /** * Speichern Sie ein Passwort unter einem bestimmten Schlüssel. * @param key Der Schlüssel zum Speichern des Passworts unter * @param value Das Passwort */ Exportfunktion setPassword (Schlüssel: String, Wert: String): Thenable; /** * Entferne ein Passwort aus dem Speicher. * @param key Der Schlüssel, unter dem das Passwort gespeichert wurde. */ Exportfunktion deletePassword (Schlüssel: String): Thenable; /** * Wird ausgelöst, wenn ein Passwort gesetzt oder gelöscht wird. */ export const onDidChangePassword: Ereignis;
Maschinenbau
Kompatibel mit VS Code Trusted Types
Wir haben unsere Bemühungen fortgesetzt, VS-Code "Trusted Types"-kompatibel zu machen. Ziel ist es, DOM-basierte Cross-Site-Scripting-Schwachstellen zu verhindern. Weitere Informationen zu vertrauenswürdigen Typen finden Sie unter web.dev Vertrauenswürdige Typen-Website und verfolge unseren Fortschritt in Ausgabe #103699.