Microsoft veröffentlicht VS Code 1.51 mit verbesserten angehefteten Registerkarten und mehr

Symbol für die Lesezeit 11 Minute. lesen


Leser unterstützen MSpoweruser. Wir erhalten möglicherweise eine Provision, wenn Sie über unsere Links kaufen. Tooltip-Symbol

Lesen Sie unsere Offenlegungsseite, um herauszufinden, wie Sie MSPoweruser dabei helfen können, das Redaktionsteam zu unterstützen Lesen Sie weiter

Microsoft VS-Code

Microsoft VS-Code

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.

Inaktive angeheftete Registerkarten mit Stecknadelsymbolen

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.

Benutzerdefinierter Baum-Hover

Installieren Sie eine Erweiterung ohne Synchronisierung#

Sie können jetzt eine Erweiterung installieren, ohne sie zu synchronisieren, während die Einstellungssynchronisierung aktiviert ist.

Erweiterung ohne Synchronisierung installieren

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:

Gif, das das Tippen mit einer Latenz von 250 ms zeigt, wobei sofort eingegebene Zeichen abgeblendet werden

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 werden 0 um die Funktion die ganze Zeit einzuschalten, oder -1 um es zu deaktivieren. Standardmäßig auf 30.
  • terminal.integrated.localEchoStyle konfiguriert den Stil oder die Farbe des lokalen Zeichens, standardmäßig dim.

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.

Steuerelement für anpassbare Vorschläge

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.

Statusleiste für Vorschläge

Thema: GitHub-Light, Schriftart: FiraCode

Im obigen Beispiel führt die Auswahl von „Einfügen“ zu Math.floorceil und Auswahl von „Ersetzen“ führt zu Math.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.

Cursor bewegen, während Vorschläge angezeigt werden

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.

Die benutzerdefinierten Snippets von Emmet funktionieren wieder

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.

Nachdem Sie eine Nachricht in das SCM-Eingabefeld eingegeben und dann Änderungen bereitgestellt und festgeschrieben haben, wird durch Drücken des Aufwärtspfeils die Nachricht angezeigt, die gerade festgeschrieben wurde

Git: Tag-Befehle im Untermenü#

Tag-bezogene Git-Befehle wurden zur hinzugefügt ... Git-Menü.

Untermenü Git-Tags

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.

Timeline-Ansicht mit Emoji

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

Die intelligente Auswahl innerhalb eines Markdown-Dokuments erweitert sich von einem Blockelement zum Blockelement, das es enthält, zum Rest des Inhalts unter einer Überschrift bis zur Überschrift selbst

Formatierungsoption für leere geschweifte Klammern für JavaScript und TypeScript#

The new javascript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces und typescript.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.

Download Ordner

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.

Benachrichtigung zum Öffnen des Arbeitsbereichs

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.

Bestätigungsdialog schließen

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.

Proxy-Anmeldung

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:

Beispiele für den Webview-Stil

Codicon-Farben in Bäumen#

Mit Abschluss der ThemeIcon Farb-API, können Autoren von Erweiterungen Designfarben für Codicons in benutzerdefinierten Baumansichten verwenden.

Baumansicht mit Symbolfarben

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-Eingang globalState 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 ist false, 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

Mehr zu den Themen: Microsoft, Visual Studio-Code 1.51, VS-Code

Hinterlassen Sie uns einen Kommentar

E-Mail-Adresse wird nicht veröffentlicht. Pflichtfelder sind MIT * gekennzeichnet. *