Microsoft veröffentlicht VS Code 1.51 mit verbesserten angehefteten Registerkarten und mehr
11 Minute. lesen
Aktualisiert am
Lesen Sie unsere Offenlegungsseite, um herauszufinden, wie Sie MSPoweruser dabei helfen können, das Redaktionsteam zu unterstützen Lesen Sie weiter
Microsoft hat heute die Veröffentlichung von Visual Studio Code v1.51 (Update vom Oktober 2020) mit mehreren Verbesserungen und Fehlerbehebungen angekündigt. Dieses neue Update enthält jetzt ein anpassbares IntelliSense-Vorschlagsfeld, dauerhafte Remote-Terminalsitzungen, verbesserte angeheftete Registerkarten und mehr. Unten finden Sie das vollständige von Microsoft bereitgestellte Änderungsprotokoll.
Werkbank#
Auffälligere angeheftete Registerkarten#
Angeheftete Registerkarten zeigen jetzt immer ihr Stecknadelsymbol an, auch wenn sie inaktiv sind, um sie leichter identifizieren zu können. Wenn ein Editor angeheftet ist und nicht gespeicherte Änderungen enthält, spiegelt das Symbol beide Zustände wider.
Erweiterungsbäume verwenden benutzerdefinierte 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 Synchronisierung#
Sie können jetzt eine Erweiterung installieren, ohne sie zu synchronisieren, während die Einstellungssynchronisierung aktiviert ist.
Thema: GitHub-Light
Installieren Sie eine Erweiterung aus dem Explorer#
VS Code unterstützt jetzt die Installation einer Erweiterungs-VSIX-Datei aus dem Explorer, indem Sie mit der rechten Maustaste auf eine VSIX-Datei klicken und die Installieren Sie die Erweiterung VSIX Kontextmenüpunkt.
Geben Sie den Weichzeichnungsbefehl ein#
Ein neues internes
workbench.action.blur
Der Befehl ist jetzt verfügbar, der den Fokus von allen fokussierbaren Eingaben entfernt. Sie können diesem Befehl in der eine Tastenkombination zuweisen Einstellungen für Tastaturkürzel.Integriertes Terminal#
Lokales Echo#
Das Vornehmen von Änderungen im Terminal erfordert traditionell, dass 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 arbeiten SSH-Server or Coderaum.
Diese Version fügt dem Terminal einen „lokalen Echo“-Modus hinzu, der versucht, lokal vorgenommene Änderungen und Cursorbewegungen vorherzusagen und sie in der Benutzeroberfläche anzuzeigen, ohne dass ein Roundtrip zum Server erforderlich ist. Standardmäßig werden vorhergesagte Zeichen „abgeblendet“ angezeigt:
Es gibt zwei Einstellungen, die Sie verwenden können, um dies zu konfigurieren:
terminal.integrated.localEchoLatencyThreshold
konfiguriert den erkannten Verzögerungsschwellenwert in Millisekunden, bei dem das lokale Echo aktiviert wird. Dies kann eingestellt werden0
um die Funktion die ganze Zeit einzuschalten, oder-1
um es zu deaktivieren. Standardmäßig auf30
.terminal.integrated.localEchoStyle
konfiguriert den Stil oder die Farbe des lokalen Zeichens, standardmäßigdim
.IntelliSense#
Anpassbare Vorschläge#
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 eher variabel 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 Auswahl von „Ersetzen“ führt zuMath.floor
.The new
editor.suggest.insertMode
Mit der Einstellung können Sie konfigurieren, ob Sie Einfügen oder Ersetzen bevorzugen. Wenn ein Vorschlag beides unterstützt, ist Ihre Einstellung die Standardeinstellung.Bewegen Sie den Cursor, 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 aktualisiert wird
emmet.extensionsPath
Einstellung.Quellcodeverwaltung#
Das Eingabefeld Quellcodeverwaltung speichert den Commit-Nachrichtenverlauf#
Das adressiert a Featureanfrage , um im SCM-Commit-Verlauf zu navigieren. Drücken Sie Up und Nach unten um die vorherigen bzw. nächsten Commits anzuzeigen. Um direkt zur ersten und letzten Position des Eingabefelds zu gelangen, drücken Sie Andere in Verbindung mit der entsprechenden Pfeiltaste.
Git: Tag-Befehle im Untermenü#
Tag-bezogene Git-Befehle wurden zur hinzugefügt ... Git-Menü.
Git: Rebase-Befehl#
Neue Git: Rebase-Zweig… Der Befehl wurde hinzugefügt, mit dem Sie einen Zweig mithilfe der Benutzeroberfläche rebasen können.
Git: Rekursiver Klonbefehl#
Mit der Git: Klonen (rekursiv) Befehl können Sie Git-Repositories jetzt rekursiv klonen, einschließlich der verschachtelten Git-Submodule.
Zeitachse: Emoji-Shortcode-Rendering#
Wir rendern jetzt Emoji-Shortcodes, wie z
:smile:
, in der Timeline-Ansicht.Sprachen#
Intelligente Markdown-Auswahl#
Erweitern und verkleinern Sie die Auswahl in Markdown-Dokumenten mit den folgenden neuen Befehlen:
- Erweitern: Umschalt+Alt+Rechts
- Schrumpfen: Umschalt+Alt+Links
Die Auswahl gilt für Folgendes und folgt einem traditionellen hierarchischen Muster:
- Headers
- Listen
- Block Zitate
- Eingezäunte Codeblöcke
- HTML-Codeblöcke
- Die Absätze
Formatierungsoption für leere geschweifte Klammern für JavaScript und TypeScript#
The new
javascript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces
undtypescript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces
Die Konfigurationsoption formatting steuert, ob Leerzeichen zwischen leeren geschweiften Klammern eingefügt werden. Der Standardwert für diese Einstellungen ist wahr. Zum Beispiel für das JavaScript:class Foo { doFoo() {} }
Rahmen
"javascript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces": false
und die Formatierung des Codes führt zu:class Foo { doFoo() {} // Notice that the space has been removed }
Browser-Unterstützung#
Ordner herunterladen (Edge, Chrome)#
Das Neue nutzen Dateisystemzugriff API, Microsoft 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.
Hinweis: Dies erfordert eine aktuelle Version von Microsoft Edge oder Google Chrome.
Open Workspace-Benachrichtigung#
Wenn Sie einen Ordner öffnen, der enthält
.code-workspace
Dateien auf der obersten Ebene, sehen Sie nun eine Benachrichtigung, die Sie auffordert, sie zu öffnen. Dies war in Microsoft VS Code für Desktop immer der Fall und funktioniert jetzt auch im Browser.Verhindern Sie versehentliches Schließen#
Eine neue Einstellung
window.confirmBeforeClose
wurde hinzugefügt, um einen Bestätigungsdialog anzuzeigen, bevor die Workbench geschlossen oder verlassen wird.Mögliche Werte sind:
keyboardOnly
Die Bestätigung wird nur angezeigt, wenn Sie eine Tastenkombination zum Schließen verwenden (z. B. Strg + W). (Ursprünglich)always
: Der Bestätigungsdialog wird immer angezeigt, auch wenn Sie durch eine Mausgeste schließen.never
: Die Bestätigung wird nie angezeigt.Note: Diese Einstellung deckt möglicherweise nicht alle Fälle ab. Browser können immer noch entscheiden, einen Tab oder ein Fenster ohne Bestätigung zu schließen.
Beiträge zu Erweiterungen#
GitHub-Pull-Requests und Issues#
Die Arbeit an der GitHub-Pull-Requests und Issues 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 die vollständige sehen Änderungsprotokoll für die 0.22.0 Freigabe der Erweiterung.
Remote-Entwicklung#
Die Arbeit an der Remote-Entwicklungserweiterungen, mit denen Sie einen Container, einen Remotecomputer oder die verwenden können Windows-Subsystem für Linux (WSL) als vollwertige Entwicklungsumgebung.
Zu den Funktionshighlights in 1.51 gehören:
- Fähigkeit zum Fortbestehen/Wiederverbinden mit Terminalsitzungen.
- Verbesserte Erfahrung bei der Portweiterleitung.
Sie können sich über neue Erweiterungsfunktionen und Fehlerbehebungen in der informieren Versionshinweise für Remote-Entwicklung.
Vorschau-Funktionen#
Vorschaufunktionen sind noch nicht bereit für die Veröffentlichung, 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 für die Synchronisierung mit dem neu eingeführten bereitstellen setKeysForSync API.
Merken Sie sich Proxy-Anmeldeinformationen#
Wir überarbeiten den Anmeldedialog, der anzeigt, 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 festlegen möchten.Thema: GitHub-Light
Das Dialogfeld wird innerhalb des Microsoft VS Code-Fensters angezeigt und bietet eine Möglichkeit, sich die Anmeldeinformationen zu merken, sodass Sie sie nicht jedes Mal eingeben müssen, wenn Sie VS Code starten. Anmeldeinformationen werden im standardmäßigen Anmeldeinformationsspeicher des Betriebssystems gespeichert (Schlüsselbund unter macOS, Windows Credential Manager unter Windows und Gnome-Schlüsselring unter Linux).
Wir zeigen diesen Dialog immer noch nur einmal pro Sitzung, könnten diese Entscheidung aber in Zukunft überdenken. Das Dialogfeld wird erneut angezeigt, falls die Anmeldeinformationen, die Sie zum Speichern ausgewählt haben, nicht gültig sind. Wenn Sie sie erneut bereitstellen, können Sie sie ändern.
Bitte aktivieren Sie diese Option und teilen Sie uns über unsere mit, wenn etwas nicht wie erwartet funktioniert Issue Tracker.
TypeScript 4.1 Beta-Unterstützung#
Microsoft VS Code unterstützt die TypeScript 4.1 Beta und nächtliche Bauten. Das 4.1-Update bringt einige neue Funktionen der TypeScript-Sprache, z. B. Unterstützung für rekursive bedingte Typen, sowie Werkzeugverbesserungen. Ein Schwerpunkt war Hinzufügen von anfänglicher Unterstützung für
@see
Tags in JSDoc-Kommentaren.Um mit der Verwendung der nächtlichen TypeScript 4.1-Builds zu beginnen, installieren Sie einfach die TypeScript Nightly-Erweiterung. Bitte teilen Sie uns Ihr Feedback mit und teilen Sie uns mit, wenn Sie auf Fehler mit TypeScript 4.1 stoßen.
Erstellung von Erweiterungen#
Aktualisierte Erweiterungsbeispiele#
Wir haben einige unserer aktualisiert Erweiterungsbeispiele um Microsoft VS Code-Standardstile einzuschließen, die mit unseren Farbdesign-Token verbunden sind. Das bedeutet, dass allgemeine Elemente (Text, Schaltflächen, Eingaben) themenfähig sind und den Standardstilen im Produkt entsprechen. Unten sind die Erweiterungen, die dies beinhalten:
Codicon-Farben in Bäumen#
Mit Abschluss der
ThemeIcon
Farb-API, können Autoren von Erweiterungen 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, mithilfe der neu eingeführten
setKeysForSync
API-EingangglobalState
Erinnerung./** * 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;
Sichtbarkeit der Antwortschaltfläche für Kommentarthreads#
Kommentar Erweiterungen können jetzt die Sichtbarkeit des Antwort-Buttons in einem Kommentar-Thread mit einer neuen Eigenschaft steuern,
CommentThread#canReply
. Wenn es eingestellt istfalse
, sehen Benutzer im Kommentar-Thread weder die Schaltfläche zum Antworten noch das Kommentarfeld.Vorgeschlagene Erweiterungs-APIs#
Jeder Meilenstein kommt mit neuen vorgeschlagenen APIs und Erweiterungsautoren können sie ausprobieren. Wie immer möchten wir Ihr Feedback. Dies ist, was Sie tun müssen, um eine vorgeschlagene API auszuprobieren:
- Sie müssen Insider verwenden, da sich vorgeschlagene APIs häufig ändern.
- Sie müssen diese Zeile in der
package.json
Datei Ihrer Erweiterung:"enableProposedApi": true
.- Kopieren Sie die neueste Version der
vscode.proposed.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 wichtige Änderungen, und wir möchten niemals vorhandene Erweiterungen beschädigen.
Folding Range Anbieter wechseln Event#
Folding-Range-Anbieter können dem Redakteur signalisieren, dass Folding-Ranges aktualisiert werden müssen
onDidChangeFoldingRanges
Ereignis.Für weitere Details und um Feedback zu geben, verwenden Sie bitte Ausgabe #108929.
Passwort-APIs#
Im Rahmen der Fortsetzung der Arbeit an Authentifizierungsanbieterhaben wir eine API zum Speichern und Abrufen vertraulicher Informationen eingeführt. Intern fungiert dies als Wrapper für die keytar Bibliothek, die VS Code zum Speichern von Geheimnissen verwendet.
/** * 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>;
Entwicklung#
Microsoft VS Code Trusted Types kompatibel machen#
Wir haben unsere Bemühungen fortgesetzt, VS Code „Trusted Types“-konform zu machen. Ziel ist es, DOM-basierte Cross-Site-Scripting-Schwachstellen zu verhindern. Weitere Informationen zu vertrauenswürdigen Typen finden Sie unter web.dev Website für vertrauenswürdige Typen und verfolgen Sie unsere Fortschritte in Ausgabe #103699.
Quelle: Microsoft