Juli 2022 (Version 1.70)
Update 1.70.1: Das Update behebt diese Probleme.
Update 1.70.2: Das Update behebt diese Probleme.
Update 1.70.3: Dieses Update ist nur für Windows 7-Benutzer verfügbar und ist die letzte Version, die Windows 7 unterstützt.
Downloads: Windows: x64 Arm64 | Mac: Universal Intel silicon | Linux: deb rpm tarball Arm snap
Willkommen zur Juli 2022-Version von Visual Studio Code. Diese Version enthält viele Updates, die Ihnen hoffentlich gefallen werden. Einige der wichtigsten Highlights sind:
- Anpassung der Titelleiste - Menüleiste, Befehlszentrale oder Layoutsteuerung ausblenden/anzeigen.
- Auswahl falten - Eigene gefaltete Bereiche im Editor erstellen.
- Mehrfachauswahl in der Suche - Mehrere Suchergebnisse auswählen und Aktionen darauf anwenden.
- Suche und Filterung in Baumansichten - Suchen und Filtern in Baumansichten wie dem Explorer.
- Terminalverbesserungen - Shell-Integration standardmäßig aktiviert, erweiterte PowerShell-Tastenkombinationen.
- Befehlszeilenoption --merge - Verwenden Sie den 3-Wege-Merge-Editor als Ihr Standard-Merge-Tool.
- Notebooks: Zur zuletzt fehlgeschlagenen Zelle springen - Direkt zu Notebook-Fehlern springen.
- Python Einstiegserlebnis - Python schnell innerhalb von VS Code installieren und konfigurieren.
- Sticky Scroll Vorschau - Neue Scrolling-Oberfläche zeigt den aktuellen Quellcode-Scope.
- Dev Container CLI Thema - Erfahren Sie mehr über die aktualisierte Development Container CLI.
Wenn Sie diese Release Notes online lesen möchten, gehen Sie zu Updates auf code.visualstudio.com.
Sehen Sie sich die Release Party an: Hören Sie zu, wie das VS Code-Team einige der neuen Funktionen bespricht. Die Aufzeichnung der Veranstaltung finden Sie in unserem YouTube-Kanal.
Insiders: Möchten Sie neue Funktionen so schnell wie möglich ausprobieren? Sie können den nächtlichen Insiders-Build herunterladen und die neuesten Updates ausprobieren, sobald sie verfügbar sind.
Workbench
Einfachere Anpassung der Titelleiste
Für diejenigen, die die benutzerdefinierte Titelleiste verwenden (standardmäßig unter Windows, macOS und im Web), werden Sie möglicherweise bemerken, dass wir interaktive Inhalte in die Titelleiste einfügen. Während es bereits Einstellungen gibt, um jedes dieser Elemente einzeln auszublenden, können Sie jetzt mit der rechten Maustaste auf die Titelleiste klicken, um ein Kontextmenü aufzurufen, das die Menüleiste (auf macOS Desktop nicht angezeigt), die Befehlszentrale und die Layoutsteuerung umschaltet.

Für Windows-Benutzer, die das Systemkontextmenü erwarten, kann das Menü weiterhin durch Rechtsklick auf das VS Code-Symbol in der oberen linken Ecke des Fensters oder durch Drücken von Alt+Leertaste aufgerufen werden. Die Mausposition wird verwendet, um das Verhalten beim Auslösen mit Alt+Leertaste zu bestimmen, sodass das benutzerdefinierte Menü angezeigt wird, wenn es sich auf der Titelleiste befindet.

Für Linux-Benutzer wird aufgrund von Issue #156397 der leere Bereich in der Titelleiste kein Kontextmenü öffnen. Sie müssen mit der rechten Maustaste auf eines der Elemente in der Titelleiste klicken, das Sie ausblenden möchten.
Verbessertes Falten der Menüleiste
Mit der Einführung der Befehlszentrale versuchten wir, die Menüleiste auf ein Hamburger-Menü zu verkleinern, um Platz zu schaffen. Nach dem Feedback von Benutzern kehrten wir zum alten Verhalten des Faltens der Menüleiste zurück, bis der größte Teil des Menüs zusammengeklappt war, und wechselten erst dann zum Hamburger-Menü.
Zugängliche macOS-Titelleistenzoom
Als Teil der Verbesserung der Befehlszentrale wird die Titelleiste auf macOS nun mit dem Rest der UI gezoomt, wenn interaktive Komponenten in der Titelleiste vorhanden sind, um die Zugänglichkeit zu erhöhen.
Auswahl falten
Der Befehl Manuelle Faltbereiche aus Auswahl erstellen (⌘K ⌘, (Windows, Linux Ctrl+K Ctrl+,)) erstellt einen Faltbereich aus den aktuell ausgewählten Zeilen und klappt ihn zusammen. Der Bereich wird als manueller Faltbereich bezeichnet und liegt über den von Faltanbietern berechneten Bereichen.
Manuelle Faltbereiche können mit dem Befehl Manuelle Faltbereiche entfernen (⌘K ⌘. (Windows, Linux Ctrl+K Ctrl+.)) wieder entfernt werden.
Manuelle Faltbereiche sind besonders nützlich in Fällen, in denen keine Programmiersprachenunterstützung für das Falten vorhanden ist.
Gefaltete Bereiche beibehalten
VS Code behält nun gefaltete Bereiche bei, auch wenn der Faltbereich nicht mehr Teil der von einem Faltanbieter berechneten Bereiche ist. Ein typisches Beispiel ist, wenn der Benutzer die Datei auskommentiert, eine Zeichenkette beginnt oder einen Syntaxfehler erstellt, der die Erstellung aller Bereiche unmöglich macht. Solche gefalteten Bereiche werden zu "wiederhergestellten" Bereichen. Sie werden entfernt, sobald der Faltanbieter mit Bereichen an derselben Stelle zurückkehrt oder mit dem Befehl Manuelle Faltbereiche entfernen.
Faltkontrollen ausblenden
Die Faltkontrollen in der Seitenleiste können nun mit der Einstellung "editor.showFoldingControls": "never" ausgeblendet werden. Faltbereiche können immer noch mit den Faltbefehlen und Tastenkombinationen erweitert und zusammengeklappt werden.
Verbesserungen am 3-Wege-Merge-Editor
Wir haben den neuen 3-Wege-Merge-Editor weiter poliert und ihn in dieser Version standardmäßig aktiviert. Der Merge-Editor kann durch Klicken auf eine widersprüchliche Datei in der Quellcodeverwaltung geöffnet werden.
Zu den Highlights gehören neue Befehle zum Übernehmen aller Änderungen von einer Seite, verbesserte Kontextmenüs, erweiterte Diff-Farben und eine stärkere Hervorhebung von widersprüchlichen gegenüber nicht widersprüchlichen Änderungen.
Wir haben auch begonnen, alternative Diffing-Algorithmen zu untersuchen, um die Präzision von Merge-Konflikten zu verbessern. Wenn Sie auf suboptimale Hervorhebungen oder Ausrichtungen von Änderungen sowohl im Diff- als auch im Merge-Editor stoßen, möchten wir diese Fälle in unserem GitHub-Issue-Tracker festhalten!
Befehlszeilenoption merge
Sie können nun Befehlszeilenoptionen verwenden, um den Merge-Editor in VS Code zu öffnen.
-m --merge <path1> <path2> <base> <result> Perform a three-way merge by providing paths for two modified versions of a file, the common origin of both modified versions, and the output file to save merge results.
Dies ermöglicht es Ihnen, VS Code als Merge-Tool für Git zu verwenden, zum Beispiel, wenn Sie dies in .gitconfig konfigurieren.
[merge]
tool = code
[mergetool "code"]
cmd = code --wait --merge $REMOTE $LOCAL $BASE $MERGED
Dateidekorationen in der Suche
Suchergebnisse in der Suchansicht enthalten nun Dateidekorationen und Farben auf der rechten Seite, um die Probleme und Quellcodeinformationen der Datei anzuzeigen. Dies ähnelt den Dateidekorationen, die bereits im Dateiexplorer angezeigt werden.

Mehrfachauswahl in der Suche
Die Suchansicht unterstützt nun auch Mehrfachauswahl. Jede Aktion (z. B. Ablehnen oder Ersetzen), die Sie auf ein Ergebnis in der Auswahl anwenden, wird auch auf die anderen ausgewählten Elemente angewendet.
Baum-Suchfunktion
Baumansichten, wie der Dateiexplorer, unterstützen nun die Suchfunktion. Sie können ⌥⌘F (Windows, Linux Ctrl+Alt+F) innerhalb von Bäumen drücken, um die Suchfunktion einzublenden. Sie können die Suchfunktion verwenden, um übereinstimmende Elemente hervorzuheben, oder die Schaltfläche Filtern umschalten, um alle Elemente auszublenden, die nicht mit dem Suchbegriff übereinstimmen.
Hinweis: Wenn Sie es gewohnt sind, die Suchfunktion im Editor zu öffnen, wenn Sie ⌥⌘F (Windows, Linux Ctrl+Alt+F) aufrufen, während der Dateiexplorer den Fokus hat, können Sie Ihre Tastenkombinationen entsprechend konfigurieren.
{
"key": "cmd+f", // "ctrl+f" on Windows/Linux
"command": "-list.find",
"when": "listFocus && listSupportsFind"
}
Beliebige Dateierstellung über Neue Datei
Das Erlebnis Datei > Neue Datei... (oder der Link Neue Datei... auf der Willkommensseite) wurde verbessert, um die Erstellung beliebiger Dateien zu ermöglichen. Sie können nun einen Dateinamen in das Schnelleingabefeld eingeben, um die Datei auf der Festplatte zu erstellen.

Terminal
Shell-Integration standardmäßig aktiviert
Die automatische Injektion der Shell-Integration, die in der letzten Version aus der Vorschau genommen wurde, ist nun standardmäßig aktiviert. Für unterstützte Shell-Konfigurationen (die meisten Bash/Zsh/Pwsh-Konfigurationen) sollte alles ohne Änderungen funktionieren, und Sie sollten Befehlsdekorationen sehen.

Theme: Sapphire Theme
Hinweis: Unter Windows benötigen Sie PowerShell 7 (pwsh) für die Shell-Integrationsunterstützung. Sie können es über https://aka.ms/PSWindows installieren.
Wenn die Funktionen der Shell-Integration nicht automatisch angezeigt werden, müssen Sie die manuelle Installation einrichten, die in dieser Version vereinfacht wurde.
Die automatische Injektion ist aktiviert, wenn die Einstellung terminal.integrated.shellIntegration.enabled auf true gesetzt ist. Fügen Sie dies zu Ihrer settings.json-Datei hinzu, um die Funktion zu deaktivieren.
"terminal.integrated.shellIntegration.enabled": "false"
Dies deaktiviert nur die Injektion der VS Code-Shell-Integration. Selbst wenn sie deaktiviert ist, wenn Ihre Konfiguration eine Shell-Integration für eine andere von VS Code verstandene Shell aktiviert hat, wird diese trotzdem erkannt. Wenn Ihnen die Befehls- und/oder Scrollleistendekorationen nicht gefallen, können Sie deren Anzeige deaktivieren und trotzdem die zusätzlichen Funktionen nutzen, die die Shell-Integration bietet.
Vereinfachte manuelle Installation der Shell-Integration
Zuvor erforderte die manuelle Installation mehrere Schritte und war plattform- und shell-spezifisch. Die neue manuelle Installation verwendet die code CLI, um das Shell-Integrationsskript abzurufen, und funktioniert plattformübergreifend und bei Verbindung mit einem Remote-Fenster. Das bedeutet, Sie können es in Ihren Dotfiles synchronisieren, und es sollte einfach funktionieren.
# Manual install on bash
[[ "$TERM_PROGRAM" == "vscode" ]] && . "$(code --locate-shell-integration-path bash)"
Sie können mehr darüber erfahren, wie Sie die Shell-Integration für andere Shells installieren, unter Terminal Shell-Integration.
Weitere Konfigurationsoptionen für die Shell-Integration
Die neue Einstellung terminal.integrated.shellIntegration.decorationsEnabled ermöglicht es Ihnen, Befehlsdekorationen in der Seitenleiste, der Übersichtsleiste oder gar nicht anzuzeigen. Für einfachen Zugriff können Sie diese Einstellung über Befehlsdekorationen konfigurieren in einem Kontextmenü ändern, wenn Sie auf eine Dekoration klicken (wählen Sie Sichtbarkeit umschalten, um das Optionsdropdown anzuzeigen).

Sie können auch die Standard-, Erfolgs- oder Fehlericons aus dem Dropdown auswählen.
Standardeinstellungen für Icons und Terminal-Tabs
Die Standardikone und die Farbe von Terminal-Tabs können pro Ordner mit terminal.integrated.tabs.defaultIcon und terminal.integrated.tabs.defaultColor festgelegt werden.
Erweiterte PowerShell-Tastenkombinationen
Dank der Shell-Integration gibt es zusätzliche PowerShell-Tastenkombinationen, z. B. Strg+Leertaste. Diese waren aufgrund des Mangels an VT-Kodierung zuvor nicht möglich. Vorausgesetzt, die Shell-Integration funktioniert in pwsh, sollten die folgenden Tastenkombinationen jetzt funktionieren:
- Strg+Leertaste - Standardmäßig
MenuCompletenur unter Windows. - Alt+Leertaste - Standardmäßig
SetMark. - Umschalttaste+Eingabetaste - Standardmäßig
AddLine. - Umschalttaste+Ende - Standardmäßig
SelectLine. - Umschalttaste+Pos1 - Standardmäßig
SelectBackwardsLine.
Dies gilt für alle Plattformen, auch für Linux/macOS, wo diese Tastenkombinationen normalerweise nicht möglich sind. Die Standardeinstellungen können immer in Ihrem pwsh-Profil mit Set-PSReadLineKeyHandler zurückgesetzt werden. Wenn Sie zusätzliche Tastenkombinationen erwarten, lassen Sie es uns bitte wissen.
Zuletzt ausgeführten Befehl ausführen als Ersatz für die umgekehrte Suche
Wenn die Shell-Integration aktiviert ist, zielt das Ausführen des zuletzt ausgeführten Befehls darauf ab, ein plattformübergreifender Ersatz für die umgekehrte Suche der Shell (Strg+R) zu sein. Es gibt einen neuen fortlaufenden Suchmodus, der standardmäßig beim Auslösen des Befehls verwendet wird. Dies verhält sich wie Strg+R in den meisten Shells, mit der Option, zurück zur unscharfen Suche zu wechseln.
Der neue Kontextschlüssel inTerminalRunCommandPicker ist verfügbar, der die Einrichtung einer Tastenkombination wie Strg+R zum nächsten Treffer ermöglicht. Zum Beispiel sind die folgenden Tastenkombinationen nun ein recht vollständiger Ersatz für die umgekehrte Suche Ihrer Shell, wobei Strg+Alt+R als Fallback zum alten Verhalten dient.
{ "key": "ctrl+r", "command": "workbench.action.terminal.runRecentCommand", "when": "terminalFocus" },
{ "key": "ctrl+alt+r", "command": "workbench.action.terminal.sendSequence", "args": { "text": "\u0012"/*^R*/ }, "when": "terminalFocus" },
{ "key": "ctrl+r", "command": "workbench.action.quickOpenNavigateNextInViewPicker", "when": "inQuickOpen && inTerminalRunCommandPicker" },
{ "key": "ctrl+c", "command": "workbench.action.closeQuickOpen", "when": "inQuickOpen && inTerminalRunCommandPicker" },
Mehrzeilige Befehle zeigen nun an geeigneter Stelle ein Zeilenumbruch-Symbol an und verwenden auch den zeichenkettenverpackten Einfügemodus, d. h. sie werden so behandelt, als wären sie eingefügt worden, um unterstützte Shells zu unterstützen. Dies bedeutet in der Regel, dass sie alle in dieselbe Eingabeaufforderung eingefügt werden, anstatt separat ausgeführt zu werden.

Weitere Verbesserungen der Shell-Integration
Hier sind die kleineren Verbesserungen an der Shell-Integration:
-
Die Befehlsnavigation hat eine verbesserte visuelle Rückmeldung, zeigt kurz den "Fokusrahmen" an und behält dann ein permanentes Rechteck in der Seitenleiste, um die Position im Puffer hervorzuheben.

-
Der neue Befehl
workbench.action.terminal.copyLastCommandist verfügbar, um eine Tastenkombination zum Kopieren der Ausgabe des letzten Befehls zu ermöglichen (Tastenkombination für Strg/Cmd+Umschalt+Oben, Strg/Cmd+C, Esc, Strg/Cmd+Ende). -
Bash Shell-Integration
- Mehr
$PROMPT_COMMAND-Formate werden unterstützt. - Die Shell-Integration sollte noch besser funktionieren, wenn der
bash-preexec-Helfer bereits verwendet wird.
- Mehr
Rendering-Verbesserungen
Mehrere Verbesserungen wurden am Terminal-Rendering vorgenommen, wenn GPU-Beschleunigung aktiviert ist.
-
Halbkreisförmige Powerline-Symbole werden nun benutzerdefiniert gerendert. Wie die Pfeilsymbole in der vorherigen Version sollten diese nahtlos mit benachbarten Zellen verschmelzen und bis zur Höhe der Zelle reichen, auch wenn die Zeilenhöhe verwendet wird.

-
Abgerundete Box-Zeichen (
╭,╮,╰,╯) verwenden nun eine glattere Kurve.
-
Verbesserte Beschneidung von Glyphen, wenn sich die Hintergrundfarbe ändert. Dies wurde häufig beobachtet, wenn
npmeine Warnung ausgibt.
-
Ähnlich wie beim obigen Beschneidungsproblem gab es ein Problem, bei dem die Kantenglättung einiger Glyphen andere Zeichen überlappte und die Optik beeinträchtigte. Dieses Problem lässt sich am besten mit einem Hintergrundbeispiel wie oben veranschaulichen. Ein Pixel im
kvonWorkkonnte auch in die andere Richtung aus der Zelle herausragen. Dieses Pixel wird nun überhaupt nicht mehr im Glyphen erscheinen, da es als fast gleichfarbig wie der Hintergrund entfernt wird.
Quellcodeverwaltung
Verbesserungen an Aktionsschaltflächen
Wir haben die Aktionsschaltfläche für die Quellcodeverwaltung basierend auf dem Feedback der Benutzer weiter verfeinert.
- Die Aktionsschaltfläche Änderungen synchronisieren wird nur dann angezeigt, wenn mit hoher Sicherheit davon ausgegangen werden kann, dass der lokale Branch entweder vor oder hinter dem Remote-Tracking-Branch liegt.
- Die Aktionsschaltfläche Commit ist nur basierend auf der Liste der geänderten Ressourcen und unter Berücksichtigung der Smart-Commit-Einstellungen aktiviert.
git.enableSmartCommitgit.suggestSmartCommitgit.smartCommitChanges
- Das Symbol der Aktionsschaltfläche Commit wird basierend auf den Branch-Schutzeinstellungen aktualisiert.
git.branchProtectiongit.branchProtectionPrompt
Verbesserte Behandlung von Rebase-Konflikten
In diesem Meilenstein haben wir einige kleinere Probleme im Rebase-Ablauf bei der Behebung von Merge-Konflikten behoben. Benutzer sollten nun den Rebase-Vorgang mit der Schaltfläche Commit in der Quellcodeverwaltungsansicht fortsetzen können, nachdem alle Merge-Konflikte behoben wurden.
Rechtschreibprüfung für das Commit-Eingabefeld
In diesem Meilenstein haben wir bestätigt, dass alle erforderlichen Erweiterungs-APIs verfügbar sind, um die Rechtschreibprüfung im Commit-Eingabefeld zu unterstützen. Wir haben die Autoren von zwei beliebten Rechtschreibprüfungs-Erweiterungen kontaktiert und Pull-Anfragen eingereicht, die zeigen, wie ihre Erweiterungen aktualisiert werden können, um die Rechtschreibprüfung für Commit-Beschreibungen bereitzustellen.
Debugging
JavaScript-Debugging
Wenn Sie eine Startkonfiguration zum Debuggen eines JavaScript/TypeScript-Programms erstellen, können Sie "console": "integratedTerminal" festlegen, um dieses Programm in einem Terminal auszuführen (anstatt den Prozess direkt zu starten). Vor einigen Monaten stellten wir fest, dass "args" in der launch.json-Konfiguration teilweise für die Shell escaped wurden, aber nicht vollständig. Das bedeutete, dass der Versuch, ein Argument an Ihr Programm zu übergeben, versehentlich Sonderverhalten in Ihrer Shell auslösen könnte. Wir haben dies bereinigt und dann festgestellt, dass das Festlegen von Argumenten, die Zeichen mit Sonderbedeutung für die Shell enthalten, nützlich ist und dass einige Benutzer dieses Verhalten nutzten.
Wir haben die richtige Korrektur diskutiert und entschieden, dass dieses Verhalten optional sein sollte und dass Änderungen am Debug Adapter Protocol (DAP) erforderlich sind. Wir haben diese Änderung am DAP vorgenommen, sie in VS Code und js-debug implementiert, und andere Debug-Adapter sollten bald folgen.
So verwenden Sie das neue Verhalten in einer Node-Startkonfiguration:
{
"type": "node",
"console": "integratedTerminal",
...
// If you pass args as a single string, the characters will not be escaped for the terminal,
// so the command in backticks will be evaluated, and output will be redirected to "outfile".
// The user is responsible for knowing the type of shell that this will be run in,
// and doing any escaping necessary.
"args": "`echo hello` > outfile",
// If you pass args as an array, the characters will be escaped for the terminal,
// so that the program receives them verbatim.
"args": ["`echo hello` > outfile"]
}
Auswahl für Debug-Sitzungen
Beim Debuggen können Sie nun Debug: Debug-Sitzung auswählen in der Befehlspalette ausführen. Dies zeigt eine Auswahl Ihrer aktiven Debug-Sitzungen an, die Sie zum Suchen und Filtern Ihrer einzelnen Debug-Sitzungen verwenden können. Die Beschreibung für jedes Element in der Auswahl zeigt die Sitzung an, die es gestartet hat, falls zutreffend.
Die Auswahl eines Elements in der Auswahl konzentriert die Debug-Sitzung in der Aufrufliste-Ansicht. Debug-Aktionen (z. B. Pause, Schritt, Neustart, Stopp) werden auf die fokussierte Debug-Sitzung angewendet. Die Auswahl einer Sitzung zeigt auch die Debug-Konsole der Sitzung an.
Aufgaben
Filterunterstützung für den Befehl "Aufgabe ausführen"
Die Aktion Aufgaben: Aufgabe ausführen (workbench.action.tasks.runTask) unterstützt das Filtern nach Aufgabennamen und -typ für eine präzisere und konfigurierbarere Möglichkeit zur Auswahl und Ausführung von Aufgaben.
Zum Beispiel
{
"key": "ctrl+h",
"command": "workbench.action.tasks.runTask",
"args": {
"task": "VS Code - Build",
"type": "npm"
}
}
Verbesserter Ablauf für automatische Aufgaben
Die Funktion "Vertrauenswürdige Arbeitsbereiche" ermöglicht es VS Code, den Ablauf für die Ausführung automatischer Aufgaben zu vereinfachen. Standardmäßig werden automatische Aufgaben ausgeführt, wenn ein Ordner vertrauenswürdig ist, und andernfalls werden Sie einmal pro Ordner aufgefordert. Dieses Verhalten kann mit der Einstellung task.allowAutomaticTasks (Standard auto) konfiguriert werden, um vor der Ausführung einer automatischen Aufgabe immer (on) oder nie (off) aufzufordern.
Sprachen
Neue Zeilen beim Formatieren von JSON beibehalten
Sie können nun die ursprüngliche Zeilenposition beibehalten, wenn Sie eine Zeile in JSON-Dokumenten formatieren. Beispielsweise werden Array-Elemente, die sich auf einer Zeile befinden, nach der Formatierung weiterhin auf derselben Zeile bleiben. Zusätzliche Zeilenumbrüche (neue Zeilen) in JSON-Dateien werden ebenfalls beibehalten. Um diese Funktion zu aktivieren, setzen Sie die Option JSON > Format: Zeilen beibehalten im Einstellungseditor.
Notebooks
Zur zuletzt fehlgeschlagenen Zelle springen
Wenn Ihre zuletzt ausgeführte Zelle fehlgeschlagen ist, gibt es nun eine Schaltfläche, die zu dieser Zelle springt. Sie können auch Notebook: Zur zuletzt fehlgeschlagenen Zelle springen ausführen, um dieselbe Aktion auszuführen.
Dies ist nützlich, wenn Sie eine Gruppe von Zellen ausführen und wissen möchten, welche Zelle fehlgeschlagen ist und die Gruppen-/Ausführung gestoppt hat.
Rendering von Notebook-Markdown-Vorschau-Anhängen
Es ist nun möglich, eingebettete Base64-Bilder innerhalb eines Jupyter-Notebooks zu rendern.
Bilder, die in ein Jupyter-Notebook eingefügt und über  referenziert werden, werden nun wie beabsichtigt in VS Code-Notebooks gerendert.
Der folgende Markdown-Quellcode:

Wird gerendert als:

Links zum Teilen von Notebooks
Der Befehl Link zu vscode.dev kopieren im Untermenü Teilen unterstützt nun Notebook-Links.
VS Code für das Web
Anzeigesprache festlegen
Sie können nun die Anzeigesprache des Browsers über die Schaltfläche Anzeigesprache festlegen festlegen, die auf der Sprachpaket-Erweiterung in der Erweiterungsansicht verfügbar ist.

Sobald sie festgelegt ist, können Sie die Anzeigesprache löschen, indem Sie die Schaltfläche Anzeigesprache löschen auf der aktuell festgelegten Sprachpaket-Erweiterung verwenden.

Beiträge zu Erweiterungen
Python
Einstiegserlebnis
Der Python-Erweiterungs-Walkthrough führt Benutzer reibungslos zur Installation von Python, falls erforderlich, und dessen Auswahl. Der Microsoft Store oder eine entsprechende Walkthrough-Kachel wird geöffnet, wenn Python nicht installiert ist, und Benutzer können die angezeigten Anweisungen automatisch ausführen. Alle Aufforderungen bezüglich Interpreter werden nur angezeigt, wenn eine Benutzeraktion einen Interpreter erfordert, und nicht beim Start. Außerdem wurden die UI-Aufforderungen verbessert, um präziser über Fehler und vorgeschlagene Änderungen zu informieren.

Interpreterinformationen in der Statusleiste
Eine neue Einstellung python.interpreter.infoVisibility wurde hinzugefügt, die steuert, wann Informationen über den ausgewählten Interpreter in der Statusleiste angezeigt werden. Standardmäßig werden Interpreterinformationen nur angezeigt, wenn Python-bezogene Dateien geöffnet sind (onPythonRelated). Sie kann auf always gesetzt werden, um das alte Verhalten wiederherzustellen, bei dem der ausgewählte Interpreter unabhängig von der geöffneten Datei angezeigt wird. Ein Warnstatus wird hinzugefügt, um Situationen anzuzeigen, in denen der ausgewählte Interpreter ungültig ist.

Automatische Debug-Konfigurationen
Die Python-Erweiterung unterstützt nun die automatische Debug-Konfiguration, die das aktuelle Projekt analysiert und eine Debug-Konfiguration bereitstellt, die keine weiteren Änderungen erfordert.
Die Erweiterung erkennt Django-, Flask- und FastAPI-Projekte sowie einfache Python-Dateien.
Sie können mehr über die automatische Debug-Konfiguration und einige der jüngsten Verbesserungen erfahren.
Experimentelle Erweiterung: WWBD
Es gibt eine neue experimentelle Python-Erweiterung namens WWBD, die als Sandbox für Ideen zum Workflow von Python-Umgebungen dient. Derzeit gibt es einen Befehl Umgebung erstellen für virtuelle Umgebungen, um zu sehen, ob ein einzelner Befehl Benutzern helfen kann, eine neue virtuelle Umgebung einzurichten (weitere Details und andere Erweiterungsfunktionen finden Sie auf der WWBD-Erweiterungsseite). Sie können die Kategorie Ideen im Projekt-Repository lesen, um andere Ideen zu prüfen, die in Betracht gezogen werden, einschließlich Conda-Unterstützung.
Jupyter
Plot-Bilder in die Zwischenablage kopieren
Es ist nun in der Jupyter-Erweiterung möglich, Plots in Zellenausgaben in die Zwischenablage zu kopieren. Stellen Sie sicher, dass Sie die richtige Darstellung ausgewählt haben, da nur PNG-Ausgabe derzeit unterstützt wird.

Nachdem Sie den richtigen Darstellungstyp ausgewählt haben, wählen Sie die Schaltfläche "In Zwischenablage kopieren" in der oberen rechten Ecke aus.

Web-Erweiterung
Die folgenden Funktionen wurden in die Webversion der Jupyter-Erweiterung portiert:
- Plot-Viewer
- Dataframe-Viewer
Wenn Sie mit der Funktionalität experimentieren möchten, starten Sie Jupyter von Ihrem lokalen Computer mit
jupyter notebook --no-browser --NotebookApp.allow_origin_pat=https://.*\.vscode-cdn\.net
Verbinden Sie sich dann damit über den Befehl Jupyter: Jupyter-Server für Verbindungen angeben aus vscode.dev.
Weitere Informationen (und zur Kommentierung) finden Sie in diesem Diskussionsbeitrag.
Wiederherstellung des interaktiven Fensters
Sitzungen des interaktiven Fensters können nun über Fensterneuladungen von VS Code hinweg wiederhergestellt werden, indem die Einstellung interactiveWindow.restore aktiviert wird.
Einschränkungen: Rohe Kernel-Zustände sind nicht über Fensterneuladungen hinweg persistent (weitere Informationen finden Sie in diesem Diskussionsbeitrag). Wenn Sie einen Remote-Jupyter-Server verwenden, wird das interaktive Fenster bei Neuladungen mit früheren Kernel-Sitzungen verbunden.
Laden von Umgebungsvariablen aus .env-Dateien
Es wurden einige Korrekturen beim Laden von Umgebungsvariablen aus .env-Dateien vorgenommen, einschließlich der Erkennung von Änderungen an den .env-Dateien. Python-Kernel laden nun Umgebungsvariablen aus der Datei, die in der Einstellung python.envFile definiert ist.
GitHub Pull Requests und Issues
Es wurden weitere Fortschritte bei der GitHub Pull Requests and Issues-Erweiterung erzielt, die es Ihnen ermöglicht, Pull-Anfragen und Issues zu bearbeiten, zu erstellen und zu verwalten. Highlights dieser Version sind:
- Es gibt eine neue Schaltfläche, um nur die Änderungen an einer Pull-Anfrage seit der letzten Überprüfung durch den Betrachter anzuzeigen.
- Die neue Aktion Commit & Pull Request erstellen in der Quellcodeverwaltungsansicht ermöglicht es Ihnen, einen Git-Commit durchzuführen und mit einem Schritt zur Ansicht PR erstellen zu gelangen.
- Die Einstellung
githubPullRequests.pullRequestDescriptionkann verwendet werden, um den Quelltext für PR-Beschreibungen zu konfigurieren.
Schauen Sie sich das Changelog für Version 0.48.0 der Erweiterung an, um die anderen Highlights zu sehen.
Remote-Entwicklung
Die Arbeit an den Remote Development-Erweiterungen wird fortgesetzt. Diese ermöglichen es Ihnen, einen Container, eine Remote-Maschine oder das Windows Subsystem for Linux (WSL) als voll ausgestattete Entwicklungsumgebung zu nutzen.
Neue Erweiterungsfunktionen und Fehlerbehebungen finden Sie in den Release Notes für Remote Development.
Vorschau-Funktionen
Editor Sticky Scroll
Es ist nun möglich, eine UI anzuzeigen, die zeigt, in welchem Scope sich der Benutzer während des Scrollens befindet. Die "Sticky Scroll"-UI zeigt an, in welcher Klasse/Schnittstelle/Namensraum/Funktion/Methode/Konstruktor sich der obere Teil des Editors befindet, und hilft Ihnen so, den Standort innerhalb eines Dokuments zu erkennen. Aktivieren Sie Sticky Scroll mit der Einstellung editor.experimental.stickyScroll.enabled.
<video src="/assets/updates/1_70/sticky-scroll.mp4" autoplay loop controls muted title=""Sticky scroll" zeigt den Quellcode-Scope für eine TypeScript-Datei">
TypeScript 4.8 Unterstützung
Dieses Update beinhaltet die Unterstützung für die kommende TypeScript 4.8-Version. Weitere Details zu den aktuellen Arbeiten des TypeScript-Teams finden Sie im TypeScript 4.8 Iterationsplan.
Um die TypeScript 4.8 Nightly Builds zu verwenden, installieren Sie die TypeScript Nightly-Erweiterung.
Einstellungsprofile
Wir haben in den letzten Monaten daran gearbeitet, Setting-Profile in VS Code zu unterstützen, was eine der beliebtesten Anfragen der Community ist. Diese Funktion ist in der Insiders-Version über die Einstellung workbench.experimental.settingsProfiles.enabled zur Vorschau verfügbar. Probieren Sie es aus und teilen Sie uns Ihr Feedback mit, indem Sie Issues im VS Code Repository erstellen oder in Issue #116740 kommentieren.
In diesem Meilenstein haben wir auch die Unterstützung für Setting-Profile in VS Code für das Web hinzugefügt. Sie können es mit insiders.vscode.dev und der gleichen Einstellung workbench.experimental.settingsProfiles.enabled ausprobieren.
Thema: Light Pink
Task-Wiederverbindung
Bei einem Fenster-Neuladen können Watch-Tasks durch Aktivieren von task.experimental.reconnection wieder verbunden werden, was zu einer schnelleren Rückkehr zur Arbeit nach einer Erweiterungsänderung oder einem VS Code-Versionsupdate führt.
Code-Aktionen
Wir haben daran gearbeitet, eine bessere Erfahrung mit Code-Aktionen in VS Code zu bieten. Code-Aktionen umfassen Refactorings, Source Actions und Quick Fixes.
Das neue experimentelle Menü für Code-Aktionen kann über das Kontextmenü durch Auswahl von Refactor oder Source Action, über eine Glühbirne oder über einen Quick Fix geöffnet werden. Probieren Sie es mit der Einstellung editor.experimental.useCustomCodeActionMenu aus. Teilen Sie uns Ihr Feedback mit, indem Sie Issues im VS Code Repository erstellen oder in Issue #152913 kommentieren.
Refactoring-Vorschauen für Code-Aktionen sind ebenfalls über das neue Menü für Code-Aktionen zugänglich. Fahren Sie mit der Maus über aktivierte Elemente, um zu sehen, wie Sie eine Vorschau anzeigen können. Benutzerdefinierte Tastenkombinationen werden für die Auswahl von Code-Aktionen sowie für die Vorschau der Auswahl unterstützt.
In diesem Meilenstein haben wir auch Unterstützung für benutzerdefinierte Tastenkombinationen für Code-Aktionen hinzugefügt, einschließlich Quick Fix (⌘. (Windows, Linux Ctrl+.)). Sie können dies ausprobieren, indem Sie den folgenden Ausschnitt mit Ihren gewünschten Tastenkombinationen zu keybindings.json hinzufügen.
[
{
"key": "ctrl+k",
"when": "codeActionMenuVisible",
"command": "focusPreviousCodeAction"
},
{
"key": "ctrl+j",
"when": "codeActionMenuVisible",
"command": "focusNextCodeAction"
}
]
Bearbeitungssitzungen über VS Code für das Web und Desktop hinweg
Die Arbeit an Bearbeitungssitzungen, mit denen Sie Ihre nicht committeten Änderungen mitnehmen können, wenn Sie die Arbeit an einem Repository über VS Code für das Web oder Desktop fortsetzen, wird fortgesetzt. Einige Highlights sind:
- Sie können nun alle gespeicherten Bearbeitungssitzungen aus der Cloud löschen, wenn Sie die Funktionalität für Bearbeitungssitzungen deaktivieren.
- Die Anmeldung mit Microsoft-Authentifizierung wird nun unterstützt.
- Wenn Sie Schwierigkeiten haben, Ihre Bearbeitungssitzungen zu finden, können Sie alle Ihre Bearbeitungssitzungen mit dem Befehl Bearbeitungssitzungen: Bearbeitungssitzungen anzeigen anzeigen.
Um Bearbeitungssitzungen auszuprobieren, stellen Sie workbench.experimental.editSessions.enabled in Ihren Einstellungen ein und verwenden Sie den Befehl Bearbeitungssitzungen: Aktuelle Bearbeitungssitzung speichern, wobei Sie sich bei Aufforderung mit GitHub- oder Microsoft-Authentifizierung anmelden. Verwenden Sie dann den Befehl Bearbeitungssitzungen: Neueste Bearbeitungssitzung fortsetzen in einem Repository auf einem anderen Rechner oder einer anderen VS Code-Instanz, um den Arbeitsinhalt aller geänderten Dateien wiederherzustellen. Sie können sich jederzeit mit dem Befehl Bearbeitungssitzungen: Abmelden abmelden.
Da wir die Erfahrung mit Bearbeitungssitzungen weiter verbessern, probieren Sie es aus und teilen Sie uns Ihr Feedback über einen Kommentar in Issue #141293 mit.
Erweiterungsentwicklung
'not in'-Operator für 'when'-Klauseln
Für "when"-Klauseln gibt es bereits einen Operator, in, der die dynamische Suche nach dem Wert eines Kontextschlüssels innerhalb eines anderen Kontextschlüssels mit einem Array- oder Objekt-Wert ermöglicht. Wir haben einen neuen Operator not in hinzugefügt, der dies negiert. Weitere Informationen finden Sie in der Dokumentation zu den When-Klausel-Kontexten.
htmlLanguageParticipants Beitragspunkt
Ein neuer Beitragspunkt htmlLanguageParticipants ermöglicht es HTML-ähnlichen Sprachen, zu deklarieren, dass sie alle Funktionen des HTML-Sprachservers wie Code-Vervollständigungen, Hover und Outline erben möchten. Dies ist nützlich für Erweiterungen von Programmiersprachen, die keinen vollständigen Sprachserver implementieren möchten.
Ein Beispiel ist die integrierte handlebars-Erweiterung, die sich nun in ihrer package.json zu den htmlLanguageParticipants hinzufügt.
"contributes": {
"htmlLanguageParticipants": [
{
"languageId": "handlebars"
}
]
}
Die Quarkus-Erweiterung hat den Beitragspunkt bereits übernommen. Sie erweitert die HTML-Funktionen um zusätzliche Vorschläge für die eingebettete Qute-HTML-Templatsprache.
Drag & Drop in Editor-API
Die Drag & Drop-API für Texteditoren ermöglicht es Erweiterungen, das Ablegen von Dateien oder anderen Inhalten in Texteditoren zu verarbeiten. Diese Drop-Ereignisse können aus VS Code selbst stammen, z. B. wenn eine Datei aus dem VS Code Explorer in einen Texteditor gezogen wird, oder sie können durch das Ablegen einer Datei aus Ihrem Betriebssystem in VS Code generiert werden.
Um eine Datei in einen Editor zu ziehen, können Benutzer die Taste kbsytyle(Shift) gedrückt halten, während sie ziehen, und dann die Datei an einer bestimmten Stelle in der Datei ablegen. An diesem Punkt kann Ihre Erweiterung entscheiden, was mit den abgelegten Daten geschehen soll.
Schauen Sie sich das Beispiel für eine Erweiterung zum Ablegen auf Dokumenten an, um ein einfaches Beispiel dieser API in Aktion zu sehen.
Vorgeschlagene APIs
Jeder Meilenstein bringt neue vorgeschlagene APIs mit sich, und Erweiterungsautoren können sie ausprobieren. Wie immer freuen wir uns über Ihr Feedback. Hier sind die Schritte, um eine vorgeschlagene API auszuprobieren:
- Suchen Sie nach einem Vorschlag, den Sie ausprobieren möchten, und fügen Sie dessen Namen zu
package.json#enabledApiProposalshinzu. - Verwenden Sie das neueste vscode-dts und führen Sie
vscode-dts devaus. Es lädt die entsprechendend.ts-Dateien in Ihren Arbeitsbereich herunter. - Sie können nun gegen den Vorschlag programmieren.
Sie können keine Erweiterung veröffentlichen, die eine vorgeschlagene API verwendet. Es kann zu Breaking Changes in der nächsten Version kommen und wir möchten niemals bestehende Erweiterungen beeinträchtigen.
Webview-Kontextmenüs
Der neue Vorschlag für Webview-Kontextmenüs erleichtert es fortgeschrittenen Webviews, die Kontextmenüs anzupassen, die angezeigt werden, wenn ein Benutzer mit der rechten Maustaste in ein Webview klickt. Dieser neue Beitragspunkt verwendet die normalen Kontextmenüs von VS Code, sodass benutzerdefinierte Menüs nahtlos in den Rest des Editors passen. Webviews können auch benutzerdefinierte Kontextmenüs für verschiedene Bereiche des Webviews anzeigen.
Um diese neue API auszuprobieren, müssen Sie den Vorschlag contribWebviewContext aktivieren.
"enabledApiProposals": [
"contribWebviewContext"
]
Um ein neues Kontextmenüelement zu Ihrem Webview hinzuzufügen, fügen Sie einen neuen Eintrag unter menus im neuen Abschnitt webview/context hinzu. Jeder Beitrag hat einen command (woher auch der Titel kommt) und eine when-Klausel. Die when-Klausel sollte webview == 'YOUR_WEBVIEW_VIEW_TYPE' enthalten, um sicherzustellen, dass die Kontextmenüs nur für die Webviews Ihrer Erweiterung gelten.
"contributes": {
"menus": {
"webview/context": [
{
"command": "catCoding.yarn",
"when": "webview == 'catCoding'"
},
{
"command": "catCoding.insertLion",
"when": "webview == 'catCoding' && webviewSection == 'editor'"
}
]
},
"commands": [
{
"command": "catCoding.yarn",
"title": "Yarn 🧶",
"category": "Cat Coding"
},
{
"command": "catCoding.insertLion",
"title": "Insert 🦁",
"category": "Cat Coding"
},
...
]
}
Innerhalb des Webviews können Sie auch die Kontexte für bestimmte Bereiche des HTML mit dem data-vscode-context Datenattribut (oder in JavaScript mit dataset.vscodeContext) festlegen. Der Wert von data-vscode-context ist ein JSON-Objekt, das die Kontexte angibt, die gesetzt werden, wenn der Benutzer auf das Element klickt. Der endgültige Kontext wird ermittelt, indem vom Dokument-Root zum angeklickten Element gegangen wird.
Betrachten Sie zum Beispiel dieses HTML:
<div class="main" data-vscode-context='{"webviewSection": "main", "mouseCount": 4}'>
<h1>Cat Coding</h1>
<textarea data-vscode-context='{"webviewSection": "editor", "preventDefaultContextMenuItems": true}'></textarea>
</div>
Wenn der Benutzer mit der rechten Maustaste auf das textarea klickt, werden die folgenden Kontexte gesetzt:
webviewSection == 'editor'— Dies überschreibtwebviewSectionvom übergeordneten Element.mouseCount == 4— Dies wird vom übergeordneten Element geerbt.preventDefaultContextMenuItems == true— Dies ist ein spezieller Kontext, der die Kopier- und Einfüge-Einträge ausblendet, die VS Code normalerweise zu Webview-Kontextmenüs hinzufügt.
Wenn der Benutzer mit der rechten Maustaste in den <textarea> klickt, sieht er:

View-Größe
Der View-Größen-Vorschlag ermöglicht es Erweiterungen, Gewichte für die von ihnen beigesteuerten Ansichten anzugeben.
"contributes": {
"views": {
"github-pull-request": [
{
"id": "github:createPullRequest",
"type": "webview",
"name": "Create Pull Request",
"size": 2
},
{
"id": "github:compareChanges",
"name": "Compare Changes",
"size": 1
}
]
}
}
Die Größe funktioniert ähnlich wie die CSS-Eigenschaft flex-grow. Im obigen Beispiel ist die Ansicht mit "size": 2 doppelt so groß wie die Ansicht mit "size": 1. Die Eigenschaft "size" wird nur berücksichtigt, wenn der Ansichtscontainer von derselben Erweiterung bereitgestellt wird.
Erweiterbarer HTML-Notebook-Renderer
Unsere integrierten Notebook-Renderer stellen nun eine experimentelle API zur Verfügung, die es Erweiterungen ermöglicht, die Darstellung von HTML-Inhalten anzupassen. Diese API stellt derzeit einen einzigen Hook zur Verfügung, postRender, der nach der anfänglichen Darstellung des HTML-Inhalts aufgerufen wird.
Um diese experimentelle API zu nutzen, muss Ihre Erweiterung die API vscode.builtin-renderer erweitern.
"contributes": {
"notebookRenderer": [
{
"id": "vscode-samples.my-custom-html-extension",
"displayName": "My custom html renderer extension",
"entrypoint": {
"extends": "vscode.builtin-renderer",
"path": "./out/main.js"
}
}
]
}
Ihr Renderer kann dann einen Rendering-Hook bei vscode-builtin-renderer registrieren.
import type { RendererContext } from 'vscode-notebook-renderer';
export async function activate(ctx: RendererContext<void>) {
const htmlRenderer = await ctx.getRenderer('vscode.builtin-renderer');
if (!htmlRenderer) {
throw new Error(`Could not load 'vscode.builtin-renderer'`);
}
htmlRenderer.experimental_registerHtmlRenderingHook({
// Invoked after the HTML content for `outputItem` has been rendered to `element`
postRender(outputItem: OutputItem, element: HTMLElement): HTMLElement | undefined {
// You can either modify `element` or return a replacement element
}
});
}
Testen Sie diese neue API und lassen Sie uns wissen, was Sie davon halten!
Debug Adapter Protocol
argsCanBeInterpretedByShell für RunInTerminalRequest
Die RunInTerminalRequest unterstützt eine neue Eigenschaft, argsCanBeInterpretedByShell, die dem Client mitteilt, ob spezielle Shell-Zeichen in den Argumenten des Befehls unescape bleiben sollen. Dies soll Benutzern ermöglichen, Launch-Konfigurationen zu schreiben, die in einem Terminal gestartet werden und Zeichen enthalten, die von der Shell interpretiert werden sollen.
Technik
Fortschritt bei der Unterstützung der Electron-Sandbox
In diesem Meilenstein haben wir erhebliche Fortschritte bei der Standardaktivierung der Sandbox von Electron erzielt. Wir planen, die Sandbox im August für Insiders zu aktivieren und sie schließlich zum Standard in Stable VS Code zu machen.
Für die Neugierigen da draußen: Die Konfiguration von "window.experimental.useSandbox": true in den Einstellungen aktiviert den Sandbox-Modus. Hoffentlich werden Sie keine Änderungen bemerken, aber wenn Sie Probleme feststellen, melden Sie uns diese bitte.
Markdown-Sprachserver
In dieser Iteration haben wir viele der Werkzeuge von VS Code zum Schreiben von Markdown in eine Bibliothek und einen Sprachserver extrahiert. Dies beinhaltet unsere Werkzeuge für Pfadvervollständigungen, Dokumentenübersichten und Diagnosen.
Die integrierte Markdown-Erweiterung von VS Code hat bereits auf diesen neuen Sprachserver umgestellt, obwohl Sie hoffentlich keinen Unterschied im Verhalten bemerken werden. Dieser Wechsel sollte jedoch die Leistung verbessern, da die Markdown-Werkzeuge in einen eigenen Prozess ausgelagert werden. Die Umstellung auf einen Sprachserver hat uns auch geholfen, die Leistung unserer experimentellen Markdown-Link-Diagnose zu verbessern.
Wir hoffen, dass auch andere Werkzeuge und Editoren von diesen neuen Paketen profitieren und dazu beitragen können. Gemeinsam können wir bessere Markdown-Werkzeuge für alle bauen! Wenn Sie interessiert sind, schauen Sie sich die entsprechenden Projekte an.
- Markdown Language Service — Eine TypeScript-Bibliothek, die Werkzeuge für die Arbeit mit Markdown bereitstellt.
- Markdown Language Server — Ein Sprachserver für Markdown, erstellt mit dem Sprachdienst.
Debian-Paketabhängigkeiten
Debian-Paketabhängigkeiten werden nun von einem Skript generiert und nicht mehr fest codiert. Dies schließt eine bereits 2016 eingereichte Issue ab, bei der fehlende Abhängigkeiten dazu führten, dass das Programm auf einigen Rechnern zur Laufzeit abstürzte.
Dokumentation und Erweiterungen
Development Container CLI
Das Thema Dev Container CLI (Befehlszeilenschnittstelle) wurde für die neueste Version der CLI aktualisiert. Die Dev Container CLI ermöglicht es Ihnen, Dev Container zu erstellen und auszuführen und ist eine Open-Source-Referenzimplementierung der Development Containers Specification.

Azure Developer CLI (azd)
Die Azure Developer CLI und ihre ergänzende VS Code-Erweiterung sind jetzt in der öffentlichen Vorschau. Die Azure Developer CLI (azd) beschleunigt die Zeit, die Sie von Ihrer lokalen Entwicklungsumgebung zu Azure benötigen, indem sie entwicklerfreundliche Befehle bereitstellt, die wichtigen Phasen Ihres Workflows zugeordnet sind: Code, Build, Deploy, Monitor, Repeat.

Die Azure Developer CLI verwendet erweiterbare Vorlagen, die alles enthalten, was Sie benötigen, um eine Anwendung in Azure zum Laufen zu bringen. Die Vorlagen enthalten Best Practices, Anwendungscode und wiederverwendbare Infrastructure-as-Code-Assets. Mehr noch, sie decken End-to-End-Szenarien ab, die weit über "Hello World!" hinausgehen.
Mit der Azure Developer CLI können Sie eine Anwendung initialisieren, bereitstellen und bereitstellen oder noch besser: verwenden Sie 'azd up', um dies in einem Schritt zu tun! Eine Liste der unterstützten azd-Befehle finden Sie in der Referenz zur Developer CLI.
Vielen Dank
Last but not least, ein großes Danke an die Mitwirkenden von VS Code.
Fehlerverfolgung
Beiträge zu unserer Fehlerverfolgung
Pull-Anfragen
Beiträge zu vscode
- @0evan (Evan Spensley): Unterscheidung von Testdekorationsbeschriftungen PR #155433
- @amanasifkhalid (Aman Khalid): Schließt #134566: Einstellungen für Standardfarbe/Symbol für Terminal-Tabs hinzugefügt PR #147463
- @angelozerr (Angelo): Beitrag zum HTML-Sprachserver mit einer benutzerdefinierten Sprache. PR #146731
- @babakks (Babak K. Shandiz)
- 🎁 "Mit Snippet umgeben" zum Quick Fix-Menü hinzufügen PR #152718
- 🔨 Behebt ein Problem mit Markdown-Diagnosen bei Dateien mit Punkten im Namen PR #153206
- @Balastrong (Leonardo Montini): Warndachricht korrekt anzeigen PR #154266
- @CGNonofr (Loïc Mangeonjean): Trigger und Dokumentation für Monaco Code Action Provider bereitstellen PR #149937
- @eamodio (Eric Amodio): Schließt #54285 fügt webview/context-Beitrag hinzu PR #154524
- @eltociear (Ikko Ashimine): Tippfehler in languageDetectionWorkerServiceImpl.ts beheben PR #155923
- @fadeevab (Alexander Fadeev): Makefile-Tests für erweiterte Grammatik hinzufügen: Komma, Kommentar, Shebang PR #154625
- @FantasqueX (FantasqueX): Abgelösten "canceled" durch "Cancellation Error" ersetzen. PR #156094
- @ferdnyc (Frank Dana)
- RPM:
/usr/bin/codedem Paket zuordnen PR #142907 - Fakeroot-Wrapper beim Erstellen von .rpm-Paketen entfernen PR #153249
- RPM:
- @gjsjohnmurray (John Murray): Versuch, die Aktualisierung einer Benutzerinstallation unter Windows bei Ausführung als Administrator zu verhindern (#_148428) PR #155631
- @jbicker (Jan Bicker): Kommentar für SignatureInformation.activeParameter korrigiert PR #155279
- @jeanp413 (Jean Pierre): Vorschlag TerminalExitStatus.reason PR #152833
- @jlelong (Jerome Lelong): Wortgrenze zu Klammerpaaren hinzufügen, die mit Buchstaben beginnen oder enden PR #151204
- @joscol (Joshua Cole): CommentNode erlaubt es, den Body-Text zu ändern und gleichzeitig in den Bearbeitungsmodus zu wechseln PR #155767
- @jzyrobert (Robert Jin)
- Schaltfläche "Alle erweitern" in der Explorer-Ansicht hinzufügen PR #153614
showFoldingControlsändern, um eine "Never"-Einstellung zu haben PR #153764
- @liby (Bryan Lee): Unterstützung für Winkelklammer-Matching und -Färbung in TypeScript hinzufügen PR #151705
- @mingwiki: Warnung der Socks5-Proxy-Regex-Prüfung beheben PR #144954
- @MonadChains (MonadChains): Befehl zum Kopieren der Ausgabe des letzten Befehls hinzufügen (#_152097) PR #153235
- @nirabhromakhal (nirabhromakhal): Problem behoben, bei dem die Statusleiste ohne Beeinträchtigung des Benachrichtigungs-Beaks überlaufen konnte PR #155649
- @PieterBranderhorst: Versteckte Faltbereiche unabhängig vom Bereichsanbieter machen, manuelle Falt... hinzufügen PR #139779
- @pingren (Ping)
- Fix #114461 PR #151824
- Tab-Position beim Umbruch von Tabs korrigieren PR #156116
- @pwxn (Paul Landers): Befehle zum Scrollen des Editors nach oben/unten hinzufügen PR #155861
- @qingpeng9802 (Qingpeng Li): Entfernen der ES5-Klassenkompatibilität PR #153853
- @r3m0t (Tomer Chachamu)
- Fehler bei der Testausgabe, wenn erweitert, beheben PR #153994
- Breadcrumbs aktualisieren, wenn sich Ordner des Arbeitsbereichs ändern PR #154616
- @SamirPS (SamirAk): Code-Scanning: Verwerfung der CodeQL Action v1 PR #156271
- @ssigwart (Stephen Sigwart)
- Behebt, dass Terminals im Editorbereich nicht neu geladen werden PR #151852
- Vorschlagsfenster wird nicht mehr eingefroren PR #152011
- Hinzufügen von Tastenkombinationen für Filter von Sucheditor-Dateien PR #153954
- Erkennen von Terminal-Links mit Leerzeichen, dann Zeile:Spalte PR #153957
- Menü-Tastenkombinationen funktionieren nach Anzeige eines Webviews nicht mehr PR #154648
- @SvanT (Svante Boberg): Fehlende Freigaben hinzufügen PR #155976
- @yiliang114 (易良): Fix: Tippfehler PR #155310
Beiträge zu vscode-generator-code
- @hawkticehurst (Hawk Ticehurst)
- @MatejKastak: chore: Einrückung in generierter package.json vereinheitlichen PR #357
- @nhedger (Nicolas Hedger): pnpm als Paketmanager hinzufügen PR #339
Beiträge zu vscode-js-debug
- @Balastrong (Leonardo Montini): Überprüfen, ob native tostring [object *] ist PR #1339
Beiträge zu vscode-json-languageservice
- @bytemain (Artin): feat: Unterstützung für Zahlenkonstante PR #141
- @octogonz (Pete Gonzalez): Keine Meldung "Duplizierter Objekt-Schlüssel", wenn "//" für Kommentare verwendet wird PR #144
Beiträge zu monaco-editor
- @alexander-zw (Alexander Wu): [webpack readme] Hinzufügen, wie Sprachen/Features erhalten werden PR #3171
- @MasterOdin (Matthew Peveler): Doppelte Testfälle für MySQL entfernen PR #3138
- @tonilastre (Toni): Konfiguration und Tokenizer für die Abfragesprache Cypher hinzufügen PR #3102