Mai 2024 (Version 1.90)
Update 1.90.2: Das Update behebt diese Probleme.
Update 1.90.1: Das Update behebt diese Probleme.
Downloads: Windows: x64 Arm64 | Mac: Universal Intel silicon | Linux: deb rpm tarball Arm snap
Willkommen zur Mai 2024-Version von Visual Studio Code. Es gibt viele Updates in dieser Version, die Ihnen hoffentlich gefallen werden, einige der wichtigsten Highlights sind:
- Editor-Tabs Mehrfachauswahl - Wählen Sie mehrere Tabs aus und führen Sie Aktionen für sie gleichzeitig aus.
- Profile - Öffnen Sie neue Fenster mit Ihrem bevorzugten Profil.
- Editor-Aktionen - Greifen Sie sofort auf Editor-Aktionen über alle Editor-Gruppen hinweg zu.
- Copilot-Erweiterbarkeit - Integrieren Sie KI in Ihre Erweiterungen mit der Chat- und Sprachmodell-API.
- VS Code Speech - Lesen Sie Copilot Chat-Antworten automatisch mit Text-to-Speech vor.
- Suchen in Notebooks - Beschränken Sie die Suche auf ausgewählte Zellen in Notebooks.
- Chat-Kontext - Hängen Sie schnell verschiedene Arten von Kontext im Chat an.
- IntelliSense in Chat-Antworten - Verstehen Sie generierten Code besser mit IntelliSense.
Wenn Sie diese Release Notes online lesen möchten, gehen Sie zu Updates auf code.visualstudio.com. 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.
Barrierefreiheit
Tastenkombinationen über den Hilfe-Dialog für Barrierefreiheit festlegen
Hilfe-Dialoge für Barrierefreiheit bieten Ihnen einen Überblick über wichtige Befehle für eine Funktion oder Ansicht. Wenn einem Befehl keine Tastenkombination zugewiesen ist, können Sie diese jetzt im Hilfe-Dialog für Barrierefreiheit mit ⌥K (Windows, Linux Alt+K) konfigurieren.
Experimentell: Einstellungen für Signalverzögerung
Wenn die Einstellung Positionierungsänderungen verzögern aktiviert ist, können Sie die Einstellung Signaloptionen Verzögerungen verwenden, um die Verzögerungszeit für verschiedene Barrierefreiheits-Signale anzupassen.
Workbench
Editor-Tabs Mehrfachauswahl
Sie können nun mehrere Tabs gleichzeitig auswählen, wodurch Sie Aktionen auf mehrere Editoren auf einmal anwenden können. Diese neue Funktion ermöglicht es Ihnen, mehrere Tabs mit einer einzigen Aktion zu verschieben, zu pinnen oder zu schließen. Um einen weiteren Tab zu Ihrer Auswahl hinzuzufügen, verwenden Sie Strg + Klick (Cmd + Klick unter macOS). Um einen Bereich von Tabs auszuwählen, verwenden Sie Umschalt + Klick.
Editor-Aktionen immer anzeigen
Wir führen die Einstellung Editor-Aktionen immer anzeigen ein. Wenn Sie diese Einstellung aktivieren, werden die Editor-Titelaktionen jeder Editor-Gruppe immer angezeigt, unabhängig davon, ob der Editor aktiv ist oder nicht.
Wenn die Einstellung nicht aktiviert ist (Standardwert), werden die Editor-Aktionen nur angezeigt, wenn der Editor aktiv ist.

Wenn Sie die Einstellung aktivieren, sind die Editor-Aktionen immer verfügbar, auch wenn der Editor nicht aktiv ist.

disable-lcd-text als Laufzeitargument festlegen
Mit disable-lcd-text können Sie das RGB-Subpixel-Rendering unter Windows deaktivieren. Die Einstellung disable-lcd-text wird jetzt als Laufzeitargument in der Datei argv.json unterstützt. Zuvor war sie nur als undokumentierte CLI-Flagge verfügbar. Verwenden Sie den Befehl Einstellungen: Laufzeitargumente konfigurieren, um die Laufzeitargumente zu konfigurieren.
Im folgenden Bild sehen Sie einen Seitenvergleich, bei dem links disable-lcd-text auf true und rechts auf false gesetzt ist.

Thema: Light Pink (Vorschau auf vscode.dev)
Benutzerdefiniertes Profil für neues Fenster konfigurieren
Zuvor wurde beim Öffnen eines neuen VS Code-Fensters das Profil des aktiven Fensters oder das Standardprofil verwendet, wenn kein aktives Fenster vorhanden war. Sie können nun festlegen, welches Profil beim Öffnen eines neuen Fensters verwendet werden soll, indem Sie die Einstellung window.newWindowProfile konfigurieren.

Quellcodeverwaltung
Befehle zum Fokussieren von Eingabe-/Ressourcengruppen
In diesem Meilenstein haben wir mehrere Workbench-Befehle hinzugefügt, damit Sie Tastenkombinationen dafür erstellen können.
- Fokus auf das nächste oder vorherige Quellcodeverwaltungs-Eingabefeld:
workbench.scm.action.focusNextInput,workbench.scm.action.focusPreviousInput - Fokus auf die nächste oder vorherige Ressourcengruppe innerhalb eines Repositorys:
workbench.scm.action.focusNextResourceGroup,workbench.scm.action.focusPreviousResourceGroup
Notebooks
Suchen in Zellenauswahl
Wenn Sie sich in einem Notebook befinden, können Sie nun das Suchsteuerelement verwenden, um innerhalb spezifischer Bereiche ausgewählter Zellen zu suchen.
Nachdem Sie notebook.experimental.find.scope.enabled auf true gesetzt haben, ist die Umschaltfläche In Zellenauswahl suchen im Suchsteuerelement verfügbar. Sie können dann einen Zellbereich auswählen und entweder das Suchsteuerelement öffnen oder, falls es bereits geöffnet ist, auf die Schaltfläche "In Zellenauswahl suchen" klicken.
Notebook-Formatierungs-Code-Aktionen
Notebooks unterstützen nun eine neue Art von Code-Aktionen, die mit dem Präfix notebook.format Code Action Kind definiert sind. Diese Code-Aktionen können automatisch über eine explizite Formatierungsanforderung (mit dem Befehl Notebook: Notebook formatieren) oder eine Formatierungsanforderung beim Speichern ausgelöst werden.
Diese können verwendet werden, um eine leistungsfähigere Formatierung durch die Verwendung von Arbeitsbereichs-Edits und Notebook-Edits bereitzustellen. Um loszulegen, werfen Sie einen Blick auf eine Beispielerweiterung im vscode-extension-samples Repository.
Terminal
⚠️ Entfernung des Canvas-Renderers
Der Canvas-Renderer wurde in der VS Code 1.89-Version als veraltet markiert und nun vollständig entfernt. Das bedeutet, dass auf der kleinen Anzahl von Maschinen, die WebGL2 nicht unterstützen, das Terminal nun den DOM-basierten Renderer verwendet. Weitere Informationen zur GPU-Beschleunigung finden Sie in der Terminaldokumentation.
Skalierung überlappender Glyphen im Terminal
Die Einstellung terminal.integrated.rescaleOverlappingGlyphs, die als Vorschau-Funktion in der VS Code 1.88-Version eingeführt wurde, ist jetzt standardmäßig aktiviert. Diese Funktion skaliert überlappende Glyphen nach Zellen, die dazu bestimmt sind, ambige Breitenzeichen abzudecken, und die möglicherweise Schriftglyphen haben, die nicht mit dem übereinstimmen, was die zugrunde liegende pty/Unicode-Version annimmt.
Zum Beispiel nehmen die römischen Ziffern-Unicode-Zeichen (U+2160+) in den meisten Schriftarten typischerweise mehrere Zellen ein, sodass sie horizontal skaliert werden, wenn diese Einstellung aktiviert ist.
Ohne Skalierung

Mit Skalierung

Beiträge zu Erweiterungen
GitHub Copilot
Kontext an Chat anhängen
Um Ihre Chat-Prompts spezifischer zu gestalten, können Sie Ihren Chat-Nachrichten Kontext hinzufügen. Sie können jetzt mehr Arten von Kontext an eine Chat-Nachricht anhängen, wie z. B. Workspace-Symbole. Zuvor haben Sie das Symbol '#' verwendet, um auf eine Datei zu verweisen, oder die aktuelle Auswahl. Jetzt können Sie Kontext an eine Chat-Nachricht anhängen, indem Sie das 📎-Symbol im Eingabefeld der Chat-Ansicht auswählen oder indem Sie ⌘/ (Windows, Linux Strg+/) eingeben.
Tipp: Verwenden Sie die Pfeiltaste nach rechts, um schnell Kontext im Hintergrund anzuhängen, während Sie den Kontextauswahl geöffnet halten. Wenn Sie sich im Editor befinden, können Sie auch mit der rechten Maustaste auf eine Auswahl klicken und Copilot > Auswahl zum Chat hinzufügen auswählen.
Fragen über Bing-Suche und unternehmensinterne Wissensdatenbanken stellen
Benutzer von GitHub Copilot Enterprise können jetzt Fragen stellen, die mit Kontext aus Web-Ergebnissen und den Wissensdatenbanken Ihres Unternehmens angereichert sind. Um diese Funktionalität auszuprobieren, installieren Sie die neueste Vorabversion von Copilot Chat.
In der Chat-Ansicht können Sie Fragen stellen wie @github Was ist die neueste LTS von Node.js? #web, um die Websuche zu nutzen. Alle von Copilot referenzierten Suchergebnisse werden im Abschnitt Verwendete Referenzen der Chat-Antwort angezeigt.

Sie können auch Fragen zu den Wissensdatenbanken Ihres Unternehmens stellen, bei denen es sich um Sammlungen von Markdown-Repositories mit Dokumentation handelt, direkt aus VS Code. Geben Sie einfach @github #kb ein, um aus den Ihnen zur Verfügung stehenden Wissensdatenbanken auszuwählen. Ebenso werden alle von Copilot referenzierten Wissensdatenbank-Snippets im Abschnitt Verwendete Referenzen der Chat-Antwort angezeigt.
Dies ermöglicht es Copilot Enterprise-Benutzern, Suchergebnisse und interne Dokumentation mit dem Editor-Kontext zu kombinieren, indem sie vorhandene Chat-Variablen wie #file und #selection verwenden. Bitte probieren Sie es aus und geben Sie uns Ihr Feedback unter https://github.com/microsoft/vscode/issues!
IntelliSense in Chat-Codeblöcken
Wir unterstützen jetzt grundlegende IntelliSense in von Copilot generierten Codeblöcken. Dies ermöglicht Ihnen die Verwendung vieler der gleichen IntelliSense-Werkzeuge, die Sie möglicherweise bereits im Editor verwenden, und kann Ihnen helfen, den generierten Code besser zu verstehen.

Die unterstützten IntelliSense-Funktionen umfassen:
- Zur Definition springen mit Strg Klick / Cmd Klick oder F12
- Hover-Infos
- Zur Implementierung springen
- Zur Typdefinition springen
IntelliSense kann sogar mit @workspace verwendet werden, um sich über alle im Copilot-Antworten verwendeten Workspace-Symbole zu informieren.
IntelliSense für TypeScript-, JavaScript-, HTML- und CSS-Codeblöcke ist sofort verfügbar. Für zusätzliche Sprachunterstützung versuchen Sie, eine Erweiterung für diese Sprache zu installieren. Allerdings unterstützt nicht jede Spracherweiterung bereits Codeblock-IntelliSense. Bitte reichen Sie Funktionswünsche für Sprachen ein, die dies noch nicht unterstützen.
Verbesserte Links in Chat-Antworten
Wir haben Chat-Antworten durch Hinzufügen von Links für Dateinamen und Symbole verbessert. Durch Klicken auf diese Links können Sie zur entsprechenden Datei oder zum entsprechenden Symbol im Editor navigieren.


Aktiven Chat zwischen Inline-Chat und Chat-Ansicht synchronisieren
Sie können nun eine abgeschlossene oder noch aktive Chat-Anfrage vom Inline-Chat in die Chat-Ansicht verschieben. Sie könnten diese Funktion verwenden, um den Inline-Chat aufzuräumen und Konversationen an einen beständigeren Ort zu verschieben. Um eine Anfrage zu verschieben, wählen Sie das Chat-Symbol neben dem Chat-Eingabefeld aus.

Automatische Umbenennungsvorschläge
Wenn Sie die Copilot Chat-Erweiterung verwenden, werden die von Copilot generierten Umbenennungsvorschläge nun automatisch ausgelöst, wenn Sie ein Symbol umbenennen. Sie können diese Funktion deaktivieren, indem Sie die Einstellung github.copilot.renameSuggestions.triggerAutomatically verwenden.
Python
Bugfixes bei Tests
Die Erfahrung mit pytest bei Verwendung der Python-Test-Rewrite wurde verbessert, um eine bessere Unterstützung für die Einstellung von pytest's cwd zu bieten, wenn es sich neben dem VS Code-Workspace-Root befindet, und für die Anzeige von parametrisierten Tests im Test-Explorer, wenn Funktionsnamen über Klassen hinweg wiederholt werden.
Zusätzlich haben wir einige Fehler bei der Testfindungsszenarien reduziert, indem wir den Pfad des Systemkonfigurationsskripts zu PATH hinzugefügt haben, um die Shell für die Testausführung zu aktivieren.
Experimentell: Python Native REPL mit IntelliSense und Syntaxhervorhebung
Sie können Ihren Python-Code jetzt in einer Editor-ähnlichen REPL-Umgebung ausführen, die mit Funktionen wie IntelliSense und Syntaxhervorhebung ausgestattet ist, um Interaktionen mit der REPL effizienter zu gestalten. Um diese Funktion zu aktivieren, setzen Sie "python.REPL.sendToNativeREPL": true in Ihrer Datei settings.json. Dies führt Code in der Python Native REPL mit Umschalt+Eingabe und Auswahl/Zeile ausführen aus.
Sie können sich dafür entscheiden, die Python-REPL im Terminal (>>>) zu verwenden, indem Sie "python.REPL.sendToNativeREPL": false in Ihrer settings.json setzen. Darüber hinaus wird die Python Native REPL intelligent mit Eingabe ausgeführt, ähnlich wie der ursprüngliche interaktive Interpreter von Python, wenn Sie die Einstellung "interactiveWindow.executeWithShiftEnter": false in Ihrer settings.json hinzufügen.
GitHub Pull Requests und Issues
Es gab weitere Fortschritte bei der GitHub Pull Requests-Erweiterung, mit der Sie Pull Requests und Issues bearbeiten, erstellen und verwalten können. Lesen Sie das Changelog für die Version 0.90.0 der Erweiterung, um mehr über die anderen Highlights zu erfahren.
VS Code Sprache
Wir haben der VS Code Speech-Erweiterung Unterstützung für Text-to-Speech hinzugefügt. Eine neue Einstellung accessibility.voice.autoSynthesize kann aktiviert werden, um Copilot Chat-Antworten automatisch vorzulesen, wenn Sprache auch als Eingabe verwendet wurde.
Beachten Sie, wie sich das Mikrofon-Symbol im Eingabefeld ändert und anzeigt, dass Text vorgelesen wird. Um die Synthese zu unterbrechen, wählen Sie das Symbol aus oder drücken Sie Escape.
Jede Chat-Antwort zeigt auch ein neues Sprechersymbol an, sodass Sie eine Antwort selektiv vorlesen können.

Sie können die für Text-to-Speech verwendete Sprache über die vorhandene Einstellung accessibility.voice.speechLanguage ändern.
Vorschau-Features
VS Code-native IntelliSense für PowerShell
Zusätzlich zu verschiedenen Zuverlässigkeitsverbesserungen haben wir folgende Änderungen am PowerShell-IntelliSense im Terminal vorgenommen:
terminal.integrated.shellIntegration.suggestEnabledwurde zuterminal.integrated.suggest.enabledgeändert- Das neue
terminal.integrated.suggest.quickSuggestionssteuert, ob Vorschläge angezeigt werden, wenn Sie nach einem Leerzeichen tippen. - Das neue
terminal.integrated.suggest.suggestOnTriggerCharacterssteuert, ob Vorschläge angezeigt werden, wenn Sie/,\oder-eingeben.
TypeScript 5.5
Wir haben unsere Unterstützung für die kommende Veröffentlichung von TypeScript 5.5 weiter verbessert. Lesen Sie den TypeScript 5.5 Beta Blogbeitrag und den Iterationsplan für Details zu dieser Veröffentlichung.
Um die TypeScript 5.5 Beta zu verwenden, installieren Sie die TypeScript Nightly-Erweiterung. Bitte geben Sie Feedback und lassen Sie uns wissen, wenn Sie auf Fehler bei TypeScript 5.5 stoßen.
Problemreporter für das Web
Wir haben den Prozess zur Problemberichterstattung in VS Code für das Web verbessert, um ihn an das anzupassen, was Benutzer derzeit auf dem Desktop haben. Die Auswahl von Hilfe: Problem melden öffnet die Seite des Problemreporters in einem neuen Fenster, in dem Benutzer einen Fehlertyp, eine Quelle und gegebenenfalls eine Erweiterung auswählen können. Informationen zur Erweiterung, Systeminformationen und mehr werden automatisch an das Problem angehängt, das in GitHub erstellt wird.
Diese Funktion ist in dieser Version derzeit standardmäßig deaktiviert. Bitte geben Sie uns Feedback dazu, indem Sie die Einstellung issueReporter.experimental.webReporter aktivieren.
Erweiterungs-Authoring
Verwenden Sie esbuild für Erweiterungen
Die yo code-Erweiterungsgeneratoren für TypeScript und Web verfügen jetzt über eine Option, esbuild als Bundler zu verwenden. Wenn Sie esbuild auswählen, wird ein esbuild.js-Build-Skript erstellt und Skript-Einträge in package.json sowie Build-Aufgaben in .vscode/tasks.json hinzugefügt.
Um esbuild in bestehenden Erweiterungen zu verwenden, lesen Sie die Anleitungen zum Bündeln von Erweiterungen und Web-Erweiterungen.
Ein Beispielprojekt finden Sie unter vscode-extension-samples/esbuild-sample.
Chat und Sprachmodell-API
Wir haben APIs finalisiert, die es Erweiterungen ermöglichen, am Chat teilzunehmen und auf Sprachmodelle zuzugreifen. Sehen Sie sich das Erweiterungsbeispiel und die Chat-Erweiterungen-Dokumentationsseite für weitere Informationen an oder sehen Sie sich den Vortrag Erweiterung von VS Code-Erweiterungen mit GitHub Copilot an, den wir auf der Microsoft Build-Konferenz gehalten haben.
Wichtig: Diese APIs sind finalisiert, aber derzeit nur in VS Code Insiders verfügbar.
Chat-Teilnehmer
Die Chat-Teilnehmer-API ermöglicht es Erweiterungen, GitHub Copilot Chat um einen Chat-Teilnehmer zu erweitern, der im Chat-Eingabefeld mit @ aufgerufen werden kann. Der Teilnehmer kann auf Benutzeranfragen mit Markdown, einer Dateistruktur, Schaltflächen zum Ausführen von VS Code-Befehlen oder anderen Inhaltsarten antworten.

Sprachmodell
Die Sprachmodell-API ermöglicht den Zugriff auf Copilots Chat-Modelle wie gpt-3.5 und gpt-4. Diese API kann für Chat-Teilnehmer verwendet werden, aber auch, um andere Funktionen anzureichern. Die API basiert auf LanguageModelChat-Objekten, die für Chat-Anfragen und zur Zählung von Token verwendet werden.
Der einzige Weg, auf Chat-Objekte zuzugreifen, ist die Funktion vscode.lm.selectChatModels. Die Funktion akzeptiert einen Selektor, um verschiedene Eigenschaften von Chat-Modellen einzugrenzen, z. B. nach Anbieter, Familie, Version oder Identifikator. Die Werte sind relativ frei formuliert und müssen in der Dokumentation der Anbieter-Erweiterungen nachgeschlagen werden. Heute trägt nur die Copilot Chat-Erweiterung Chat-Modelle bei. Sie verwendet den copilot-Anbieter und die aktuellen Familien sind gpt-3.5-turbo und gpt-4, können sich aber ändern.
Der Ausschnitt zeigt, wie alle Chat-Modelle vom copilot-Anbieter ausgewählt werden.
const models = await vscode.lm.selectChatModels({
vendor: 'copilot'
});
if (models.length === 0) {
// no models available
return;
}
Zwei Dinge sind sehr wichtig, wenn selectChatModels aufgerufen wird:
- Die Funktion gibt ein *leeres* Array zurück, wenn keine Modelle verfügbar sind, und Erweiterungen müssen diesen Fall behandeln.
- Copilots Chat-Modelle erfordern die Zustimmung des Benutzers, bevor eine Erweiterung sie verwenden kann. Die Zustimmung wird als Authentifizierungsdialog implementiert. Aus diesem Grund sollte
selectChatModelsals Teil einer benutzerinitiierten Aktion wie einem Befehl aufgerufen werden und nicht "aus dem Nichts".
Mit einem Chat-Objekt in der Hand können Erweiterungen es nun verwenden, um Chat-Anfragen zu senden. Der folgende Ausschnitt zeigt, wie eine Chat-Anfrage gesendet und der Antwortstream verarbeitet wird.
// take the first model and say "Hello"
const [chat] = models;
const messages = [vscode.LanguageModelChatMessage.User('Hello')];
const response = await chat.sendRequest(messages);
// the response is always an async iterable that can be consumed with for-await
for await (const part of response.text) {
console.log(part);
}
Das ist der Kern der Sprachmodell-API. Beziehen Sie sich auf das Erweiterungsbeispiel für ein vollständigeres Beispiel. Bleiben Sie dran für weitere Beispiele, Dokumentationen und zusätzliche Erweiterungen der API.
Die Java-Erweiterung für VS Code nutzt bereits die Sprachmodell-API, um Copilot-basierte Umschreibefunktionen für Ihren Java-Code bereitzustellen. Erfahren Sie mehr über diese Updates im Blogbeitrag Java in Visual Studio Code Mai 2024.
@vscode/prompt-tsx Bibliothek
Zur Unterstützung der Entwicklung von GitHub Copilot-Erweiterungen für VS Code haben wir eine TSX-basierte Bibliothek zum Deklarieren komplexer Prompts und deren Konvertierung in Chat-Nachrichten, die den Kontextfenstergrenzen Ihrer LLMs entsprechen, entwickelt und veröffentlicht. Bei der Entwicklung haben wir uns vom priompt-Bibliothek von Anysphere inspirieren lassen. Wenn Sie ein Erweiterungsautor sind, der die Chat- und Sprachmodell-APIs verwenden möchte, sollten Sie die neueste Alpha-Version dieser Bibliothek ausprobieren: @vscode/prompt-tsx.
Erweiterung von GitHub Copilot durch GitHub Apps
Es ist auch möglich, GitHub Copilot durch Beitragen einer GitHub App zu erweitern. Diese GitHub App kann einen Chat-Teilnehmer in der Chat-Ansicht bereitstellen, den Sie mit @ aufrufen können. Eine GitHub App wird von einem Dienst unterstützt und funktioniert über alle GitHub Copilot-Oberflächen hinweg, wie z. B. github.com, Visual Studio oder VS Code. GitHub Apps haben keinen vollständigen Zugriff auf die VS Code API. Um GitHub Copilot über eine GitHub App zu erweitern, sollten Sie dem Copilot Partner Program beitreten. Sie können mehr erfahren, indem Sie den Vortrag Extending GitHub Copilot sehen, den wir auf der Microsoft Build-Konferenz gehalten haben.
Debug-Stack-Fokus-API
VS Code stellt nun über eine neue API den fokussierten Stack-Frame und Thread in der Debug-Ansicht bereit. vscode.debug.activeStackItem ruft das aktuell fokussierte Stack-Element (Thread oder Stack-Frame) ab, und vscode.debug.onDidChangeActiveStackItem ist ein Ereignis, das ausgelöst wird, wenn sich dies ändert.
Dies ist nützlich in Verbindung mit APIs, die die Debugging-Funktionen von VS Code erweitern, wie z. B. solche, die den DebugAdapterTracker verwenden. Erfahren Sie mehr über die Erstellung einer Debugger-Erweiterung.
TestRunRequest.preserveFocus API
Zuvor haben Testläufe, die von Erweiterungen ausgelöst wurden, nie den Fokus auf die Test-Ergebnis-Ansicht verschoben, wie es bei UI-initiierten Läufen der Fall war. Dieses Verhalten kann nun über ein preserveFocus-Flag konfiguriert werden, das beim Erstellen einer TestRunRequest gesetzt werden kann. Dieses Flag hat standardmäßig den Wert true, um die Abwärtskompatibilität zu gewährleisten.
Vorgeschlagene APIs
Zurechenbare Testabdeckung
Wir arbeiten an einer API, die es ermöglicht, die Testabdeckung pro Test zuzuordnen. Dies ermöglicht es Benutzern zu sehen, welche Tests welchen Code ausgeführt haben, und sowohl die im Editor angezeigte Abdeckung als auch die in der Ansicht Testabdeckung gefiltert anzuzeigen. Prüfen Sie vscode#212196 für weitere Informationen und Updates.
Hover-Ausführlichkeitsgrad
Im letzten Meilenstein wurde eine neue API vorgeschlagen, um Hovers bereitzustellen, deren Ausführlichkeit erhöht oder verringert werden kann. In diesem Meilenstein hat sich die API geändert, sodass die HoverVerbosityRequest ein verbosityDelta verwendet, um die relative Erhöhung oder Verringerung des Hover-Ausführlichkeitsgrads zu signalisieren. Zuvor verwendete die HoverVerbosityRequest eine Enum HoverVerbosityAction, um zu signalisieren, ob die Ausführlichkeit erhöht oder verringert werden sollte.
Technik
Speichereffizienz beim Start verfolgen
Wir messen die Startleistung von VS Code Insiders jeden Tag unter Windows, macOS und Linux. Unser Hauptinteresse gilt der Geschwindigkeit des Starts bis zum Öffnen einer Textdatei.
In diesem Monat haben wir eine weitere Metrik hinzugefügt, die wir verbessern wollen, um den Start noch schneller zu machen: Wie viel Speicher verbrauchen wir und wie viel davon wird von V8 gesammelt. Wenn wir diese Zahl senken können, wird die Startzeit weniger von V8 Garbage Collection-Läufen beeinflusst.

Electron 29 Update
In diesem Meilenstein bringen wir das Electron 29 Update auf Benutzer unserer stabilen Version. Dieses Update kommt mit Chromium 122.0.6261.156 und Node.js 20.9.0. Wir möchten uns bei allen bedanken, die auf Insiders-Builds selbst gehostet und frühes Feedback gegeben haben.
Bemerkenswerte Fehlerbehebungen
- 212386 Lokale Historie: speichert keine Einträge von zuvor gelöschter Datei
- 213645 Hilfsfenster funktioniert in Firefox nicht
- vscode-js-debug#2000/2002 Der JavaScript-Debugger ist schneller, insbesondere bei der Behandlung von Source-Map-Umbenennungen
Vielen Dank
Last but not least, ein großes Danke an die Mitwirkenden von VS Code.
Fehlerverfolgung
Beiträge zu unserer Fehlerverfolgung
- @gjsjohnmurray (John Murray)
- @IllusionMH (Andrii Dieiev)
- @RedCMD (RedCMD)
- @starball5 (starball)
- @ArturoDent (ArturoDent)
Pull-Anfragen
Beiträge zu vscode
- @BrunoSoaresEngineering: feat(markdown-language-features): #208398 avif als Bildformat hinzufügen PR #212547
- @bsShoham (Shoham Ben Shitrit): globale Aktivierungsnachricht entfernen PR #213128
- @CharlesHGong (Hanning Gong (Charles)): Beheben eines Problems, bei dem defaultLinesDiffComputer die Timeout-Variable nicht übergibt PR #213035
- @cpendery (Chapman Pendery): refactor: Unterstützung für dynamische Terminal-Prompt-Erkennung ohne Regex unter Windows PR #211382
- @DatN99 (Dat Nguyen): Hinzugefügte Einstellung für Notebook-Zellen-Markdown-Zeilenhöhe PR #212531
- @gjsjohnmurray (John Murray)
- Codelenses auch nach dem Wechsel vom Webview-Editor wieder zum Laufen bringen (Fix #198309) PR #211999
TimelineChangeEvent.uriwiederherstellen, wenn inTimelineProvider.onDidChange-Ereignis übergeben PR #212927
- @kdy1 (Donny/강동윤): feat: Offizielles JSON-Schema für SWC verwenden PR #212158
- @mahmoudsalah1993 (Mahmoud Salah): onDidRegisterAllSupported Ausführungen auslösen, wenn ein Ausführungstyp erneut… PR #212163
- @Maximetinu (Miguel Medina Ballesteros):
AccessibilitySignal.terminalCommandSucceededundsuccess.mp3hinzufügen (Problem #178989) PR #204430 - @OccasionalDebugger
- Beachtung von stackframe deemphasize in getTopStackFrame PR #211855
- Vollständige Funktions-Breakpoint-Optionen vom Plugin übergeben PR #211895
- @pouyakary (Pouya Kary ✨): Feat: Fettendere Schriftart + konfigurierbarer Zeichenabstand für Minimap-Abschnittsüberschriften ✨ PR #209990
- @sean-mcmanus (Sean McManus): /** */ zu cpp/language-configurations.json hinzufügen PR #211202
- @SimonSiefke (Simon Siefke)
- fix: Disposing von Template-Daten-Disposables im Source-Spalten-Renderer PR #202618
- feature: Aktivieren von TypeScript-isolierten Modulen PR #212913
- editor.findMatchForeground hinzufügen PR #213497
- Beheben von falschen Farben, wenn editor.findMatchForeground nicht definiert ist PR #213686
- @walkerdb (Walker Boyle): fix: tsserver stürzt nicht mehr ab, wenn der Protokollpfad Leerzeichen enthält PR #212752
- @wenfangdu (Wenfang Du): 'git-rebase-todo' zu COMMON_FILES_FILTER in WorkspacesHistoryMainService hinzufügen PR #211614
- @Yesterday17 (Yesterday17): fix: Temporäres Verzeichnis entfernen, wenn die Erweiterung von einer anderen Quelle installiert wird PR #213379
Beiträge zu vscode-eslint
- @sapegin (Artem Sapegin): feat: eslint.rules.customizations darf alle reparierbaren Regeln ansprechen PR #1841
Beiträge zu vscode-extension-samples
- @moushicheng (某时橙): fix: lsp-embedded-language-serviceaktiviert Aktivierungsereignisse, um den Client aufzurufen PR #936
Beiträge zu vscode-generator-code
- @1chooo (Hugo ChunHo Lin): Entferne unnötige Leerzeichen in
ext-command-ts/vsc-extension-quickstart.mdPR #467 - @k35o (k8o): Konvertiert Leerzeichen in Tabs in Dateien im
vscode-Ordner imtemplates-Ordner PR #458
Beiträge zu vscode-hexeditor
- @lorsanta (Lorenzo Santangelo): Kopiert Auswahl als verschiedene Formate und fügt Hex-String-Unterstützung hinzu PR #498
- @tomilho (Tomás Silva): copyOffsetAsHex/Dec hinzufügen PR #521
Beiträge zu vscode-languageserver-node
- @hyangah (Hyang-Ah Hana Kim): SemanticTokenTypes.label hinzufügen PR #1423
- @imbant (imbant): fix "Semantische Token, die nicht in aufsteigender Reihenfolge sind, werden nicht hervorgehoben" PR #1467
- @rchiodo (Rich Chiodo): Unterstützung für das Abrufen von Diagnosen auch für Notebooks PR #1465
Beiträge zu vscode-mypy
- @hamirmahal (Hamir Mahal): fix: veraltete Dokumentenabfrageverwendung PR #302
Beiträge zu vscode-remote-try-dotnet
- @cmaneu (Christopher MANEU): Demo-App auf .NET 6 migrieren PR #31
Beiträge zu language-server-protocol
- @asukaminato0721 (Asuka Minato): add-make-lsp PR #1941
- @fbricon (Fred Bricon): LSP4IJ-Client zu tools.md hinzufügen PR #1940
- @macnetic (Magnus Oksbøl Therkelsen): Verible-Sprachserver für SystemVerilog hinzufügen PR #1929
- @ssbarnea (Sorin Sbarnea): Link zu Ansible Language Server korrigieren PR #1930
- @wiremoons (Simon Rowe): servers.md aktualisieren - OLS für Odin-Sprache hinzufügen PR #1931
- @ybiquitous (Masafumi Koba): LanguageServer::Protocol in Ruby zu SDKs hinzufügen PR #1937
Beiträge zu monaco-editor
- @htcfreek (Heiko): Erweiterung zu
csp.contribution.tshinzufügen PR #4504 - @jakebailey (Jake Bailey): clearFiles bei internen EmitOutput-Diagnosen aufrufen, Argumente weitergeben PR #4482
- @johnyanarella (John Yanarella): TypeScript auf TS 5.4.5 in allen Projekten aktualisieren, Vendored-Dateien PR #4305
- @samstrohkorbatt: Unterstützung für Python f-string-Syntax hinzufügen PR #4401