ist jetzt verfügbar! Lesen Sie über die neuen Funktionen und Fehlerbehebungen vom November.

April 2019 (Version 1.34)

Downloads: Windows: x64 | Mac: Intel | Linux 64-Bit: deb rpm tarball snap | 32-Bit: deb rpm tarball

Willkommen zur April 2019-Version von Visual Studio Code. Im April waren wir mit der Vorschauversion der Remote Development-Erweiterungen beschäftigt. Diese Erweiterungen ermöglichen es Ihnen, VS Code über SSH auf einem Remote-Computer oder einer VM, unter Windows Subsystem for Linux (WSL) oder in einem Docker-Container zu nutzen. Lesen Sie den Blogbeitrag Remote Development mit Visual Studio Code, um mehr zu erfahren.

Es gab noch mehrere Updates in dieser Version, die Ihnen hoffentlich gefallen werden, sowie viele Community-Beiträge.

Wenn Sie diese Release Notes online lesen möchten, gehen Sie zu Updates auf code.visualstudio.com.

Editor

Stabile CodeLens

VS Code speichert jetzt CodeLens-Positionen optimistisch zwischen und stellt sie sofort nach dem Wechseln von Editoren wieder her. Dies behebt ein Problem, bei dem sich CodeLens-Zeilen beim Wechseln zwischen Editoren leicht verschoben.

Stable CodeLens

Sprachen

Niedrigere Priorität für CSS-Eigenschaftswerte mit Vendor-Präfix

CSS-Eigenschaftswerte, denen ein Bindestrich '-' vorangestellt ist (wie -moz-grid oder -ms-grid), erscheinen nun nach grid in der Autovervollständigung.

Debugging

debug.showSubSessionsInToolBar

Wir haben die Einstellung debug.showSubSessionsInToolBar eingeführt, die steuert, ob die Debugging-Unter-Sitzungen in der Debug-Symbolleiste angezeigt werden. Wenn diese Einstellung auf false gesetzt ist, beendet der Befehl zum Beenden einer Unter-Sitzung auch die übergeordnete Sitzung. Diese Einstellung ist standardmäßig auf false gesetzt.

Aufgaben

Alle Aufgaben beenden

Der Befehl Aufgaben: Aufgabe beenden hat eine neue Option, um alle laufenden Aufgaben zu beenden, falls mehrere Aufgaben ausgeführt werden. Wenn Sie diese Aktion häufig durchführen, können Sie eine Tastenkombination für den Befehl mit dem Argument terminateAll erstellen.

{
  "key": "ctrl+k t",
  "command": "workbench.action.tasks.terminate",
  "args": "terminateAll"
}

Probleme-Panel automatisch anzeigen

Die neue Aufgabeneigenschaft revealProblems ermöglicht es Ihnen, das Probleme-Panel automatisch anzuzeigen. Die möglichen Werte für die Eigenschaft sind always, never und onProblem.

{
  "version": "2.0.0",
  "tasks": [
    {
      "type": "npm",
      "script": "watch",
      "problemMatcher": "$tsc-watch",
      "isBackground": true,
      "presentation": {
        "reveal": "always",
        "revealProblems": "onProblem"
      }
    }
  ]
}

Beiträge zu Erweiterungen

Vorschau: Remote Development

Hinweis: Die Remote Development-Erweiterungen erfordern Visual Studio Code Insiders.

Visual Studio Code Remote Development ermöglicht es Ihnen, einen Container, einen Remote-Computer oder das Windows Subsystem for Linux (WSL) als vollwertige Entwicklungsumgebung zu nutzen.

Die Erweiterungen im Remote Development Extension Pack werden im Kontext des Remote-Arbeitsbereichs ausgeführt, während sich VS Code wie bei lokaler Ausführung anfühlt.

Vetur

Die Erweiterung Vetur bietet nun semantische Diagnosen, Hover-Informationen, Springen zur Definition und Finden von Referenzen für JavaScript-Ausdrücke innerhalb des Vue-Vorlagen-Interpolationsbereichs.

Vetur JavaScript support in interpolations

Sie können mehr über diese Funktion in der Vetur-Dokumentation lesen.

Weitere Verbesserungen sind reduzierter Speicherverbrauch und Vervollständigung von Importpfaden. Mehr darüber erfahren Sie im Vetur Changelog.

Erweiterungs-Authoring

Multi-Erweiterungs-Debugging

In diesem Meilenstein haben wir die Unterstützung für das Debuggen mehrerer Erweiterungen gleichzeitig hinzugefügt. Dies ist nützlich, wenn Sie eine Reihe eng gekoppelter oder voneinander abhängiger Erweiterungen entwickeln.

Zuvor wurde diese Funktion nur über die Befehlszeilenschnittstelle von VS Code aufgerufen, jetzt kann das Argument --extensionDevelopmentPath mehrmals angegeben werden. Typischerweise wird --extensionDevelopmentPath in der Startkonfiguration einer Erweiterung verwendet. Wenn Sie mehr als eine Erweiterung entwickeln, empfehlen wir, die einzelnen Erweiterungsprojekte in einem Multi-Ordner-Arbeitsbereich zu kombinieren und eine neue Startkonfiguration zu erstellen (gespeichert in der .code-workspace-Datei des Arbeitsbereichs), die mehrere --extensionDevelopmentPath-Argumente für die einzelnen Erweiterungen verwendet.

Hier ist ein Beispiel einer .code-workspace-Datei für einen Arbeitsbereich mit zwei Erweiterungen, hello1 und hello2, und einer einzigen Startkonfiguration für beide Erweiterungen

{
  "folders": [{ "path": "hello1" }, { "path": "hello2" }],
  "launch": {
    "configurations": [
      {
        "type": "extensionHost",
        "request": "launch",
        "name": "Launch Two Extensions",
        "args": [
          "--extensionDevelopmentPath=${workspaceFolder:hello1}",
          "--extensionDevelopmentPath=${workspaceFolder:hello2}"
        ],
        "outFiles": [
          "${workspaceFolder:hello1}/out/**/*.js",
          "${workspaceFolder:hello2}/out/**/*.js"
        ]
      }
    ]
  }
}

Bitte beachten Sie, dass es in dieser Version nicht möglich ist, eine preLaunchTask zu erstellen, die beide Erweiterungen durch Kombination der preLaunchTasks der einzelnen Erweiterungsprojekte erstellt.

Es war immer möglich, Links über die Syntax [Linktext](http://link) in Benachrichtigungsnachrichten einzufügen, dies funktionierte jedoch nur für Links, die in einem Browser geöffnet wurden. Jetzt können Sie auch einen Befehl über einen Link mit der Syntax [Linktext](command:<Befehls-ID>) aufrufen. Der Befehl mit der angegebenen ID wird ausgelöst, wenn der Benutzer auf den Link klickt.

Sie können Links in Benachrichtigungen nun einen Titel hinzufügen, der angezeigt wird, wenn der Benutzer mit der Maus über den Link fährt. Die Syntax lautet [Linktext](link "<Titel>").

Vorgeschlagene Erweiterungs-APIs

Jeder Meilenstein bringt neue vorgeschlagene APIs mit sich, die Erweiterungsautoren ausprobieren können. Wie immer sind wir an Ihrem Feedback interessiert. So gehen Sie vor, um eine vorgeschlagene API auszuprobieren

  • Sie müssen Insiders verwenden, da sich vorgeschlagene APIs häufig ändern.
  • Sie müssen diese Zeile in der Datei package.json Ihrer Erweiterung haben: "enableProposedApi": true.
  • Kopieren Sie die neueste Version der Datei vscode.proposed.d.ts in Ihr Projekt.

Beachten Sie, dass Sie keine Erweiterung veröffentlichen können, die eine vorgeschlagene API verwendet. Wir werden wahrscheinlich wichtige Änderungen in der nächsten Version vornehmen und wollen niemals bestehende Erweiterungen brechen.

vscode.workspace.workspaceFile

Es gibt eine neue Arbeitsbereichseigenschaft, die den Speicherort der Arbeitsbereichsdatei zurückgibt. Zum Beispiel: file:///Users/name/Development/myProject.code-workspace oder untitled:1555503116870 für einen Arbeitsbereich, der unbenannt ist und noch nicht gespeichert wurde.

Abhängig vom geöffneten Arbeitsbereich ist der Wert

  • undefined, wenn kein Arbeitsbereich oder nur ein einzelner Ordner geöffnet ist.
  • Der Pfad der Arbeitsbereichsdatei als Uri.

Wenn der Arbeitsbereich unbenannt ist, verwendet die zurückgegebene URI das untitled:-Schema.

Eine Anwendung des Speicherorts der Arbeitsbereichsdatei ist der Aufruf des Befehls vscode.openFolder, um den Arbeitsbereich nach dem Schließen erneut zu öffnen.

vscode.commands.executeCommand('vscode.openFolder', uriOfWorkspace);

Hinweis: Es wird nicht empfohlen, den Speicherort workspace.workspaceFile zu verwenden, um Konfigurationsdaten direkt in die Datei zu schreiben. Sie können workspace.getConfiguration().update() verwenden, was sowohl beim Öffnen eines einzelnen Ordners als auch bei einem unbenannten oder gespeicherten Arbeitsbereich funktioniert.

Maschinenspezifische Einstellungen

Wenn Sie Einstellungen haben, die es Benutzern ermöglichen, einen ausführbaren Pfad anzupassen, und diese Pfade auf die Maschine beschränkt sein müssen, auf der sie ausgeführt werden, können Sie solche Einstellungen nun als machine-Bereich klassifizieren. Erweiterungsautoren setzen die Eigenschaft scope, wenn sie zum Erweiterungspunkt configuration beitragen. Maschinenspezifische Einstellungen können nur für Benutzereinstellungen konfiguriert werden.

"configuration": {
  "title": "Git",
  "properties": {
   "git.path": {
      "type": [
        "string",
        "null"
      ],
      "markdownDescription": "Path and filename of the git executable.",
      "default": null,
      "scope": "machine"
    }
  }
}

Technik

Neu geschriebener Dateisystemanbieter für lokale Dateien

Erweiterungen konnten ihre eigenen Dateisystemimplementierungen für benutzerdefinierte Ressourcen bereitstellen (hier mehr lesen). Die eigene Implementierung von VS Code für lokale Dateien wurde jedoch nicht mit denselben Erweiterungs-APIs implementiert. Dies führte zu subtilen Unterschieden beim Umgang mit lokalen Dateiressourcen im Vergleich zu Ressourcen von Erweiterungen. In den letzten beiden Meilensteinen haben wir unseren lokalen Dateisystemanbieter neu geschrieben, um die Erweiterungs-APIs für Konsistenz zu nutzen.

Neue Dokumentation

Python Azure Functions

Es gibt ein neues Tutorial Python nach Azure Functions bereitstellen, das beschreibt, wie Python-Serverless-Azure-Funktionen erstellt und bereitgestellt werden.

Sonstiges

Language Server Protocol

Das Language Server Protocol hat die Unterstützung für die folgenden neuen Features vorgeschlagen

  • Auswahlbereiche: Zur Berechnung von Auswahlbereichen für ein Array von Positionen. Vom Client an den Server gesendet.
  • Aufrufhierarchie: Zur Berechnung einer Aufrufhierarchie für ein bestimmtes Symbol. Vom Client an den Server gesendet.
  • Fortschritt: Zur Initiierung der Fortschrittsberichterstattung vom Server. Vom Server an den Client gesendet.

Die neuen Features sind in den nächsten Versionen der npm-Module vscode-languageclient und vscode-languageserver verfügbar.

Bemerkenswerte Fehlerbehebungen

  • 48259: Explorer respektiert Papierkorbfunktion von FileSystemProvider
  • 68276: UI "Paused On Breakpoint" in der Call Stack-Ansicht für lange Threadnamen nicht sichtbar
  • 69603: Terminalfenster stürzt unter Mac OS ab
  • 72110: Debug-Konsole rendert unnötigerweise neue Zeilen
  • 71737: Scrollen im Debug-Fenster verhält sich seltsam
  • 71588: Fehler beim Anzeigen von Dateien im Explorer
  • 70492: Schaltfläche "Problem melden" bei "Laufende Erweiterungen" verursacht Dutzende von doppelten Problemen

Vielen Dank

Nicht zuletzt ein großes Dankeschön! an die folgenden Personen, die dazu beigetragen haben, VS Code noch besser zu machen

Beiträge zu unserer Issue-Verfolgung. Bitte sehen Sie sich unsere Community Issue Tracking-Seite an, wenn Sie uns bei der Verwaltung eingehender Probleme helfen möchten.

Beiträge zu vscode

Beiträge zu vscode-css-languageservice

Beiträge zu vscode-html-languageservice

Beiträge zu node-jsonc-parser

Beiträge zu language-server-protocol

Beiträge zu vscode-languageserver-node

Beiträge zu vscode-eslint

Beiträge zu vscode-lsif-extension

Beiträge zu vscode-textmate

Beiträge zu vscode-recipes

Beiträge zu vscode-vsce

Beiträge zu localization

Es gibt über 800 Cloud + AI Lokalisierungs-Community-Mitglieder, die die Microsoft Localization Community Platform (MLCP) nutzen, davon über etwa 100 aktive Mitwirkende an Visual Studio Code.

Wir freuen uns über Ihre Beiträge, sei es durch die Bereitstellung neuer Übersetzungen, die Abstimmung über Übersetzungen oder die Vorschläge zur Prozessverbesserung.

Hier ist eine Momentaufnahme der Mitwirkenden. Details zum Projekt, einschließlich der Liste der Mitwirkenden, finden Sie auf der Projektseite unter https://aka.ms/vscodeloc.

  • Bosnisch: Ismar Bašanović.
  • Tschechisch: Daniel Padrta, David Jareš, Jan Hajek, Jiří Hofman.
  • Dänisch: Allan Kimmer Jensen, Thomas Larsen.
  • Niederländisch: Maxim Van Damme, Sven Klaasen.
  • Englisch (Vereinigtes Königreich): Martin Littlecott, Tobias Collier, William Wood, Giorgi Jambazishvili.
  • Französisch: Antoine Griffard, Thierry DEMAN-BARCELÒ, Mohamed Sahbi, Steven Dugois, Michael VAUDIN.
  • Deutsch: Christof Opresnik.
  • Hindi: Abhirav Kushwaha, Pramit Das.
  • Chinesisch (vereinfacht): paul cheung, 斌 项, Fan Su, Justin Liu, Horie Yuan, 王文杰, 赵畅畅, anson zhang, Wang Debang, Pluwen, Yiting Zhu, Joel Yang, Michael Zhang, 擎 钟, 涛 徐, 少民 谈, 伟 全, panda small, Array Zhang, LI ZHAO.
  • Chinesisch (traditionell): 謝政廷, 煾 雪.
  • Ungarisch: Levente Hallai Seiler.
  • Indonesisch: Laurensius Dede Suhardiman.
  • Italienisch: Alessandro Alpi, Luigi Bruno, Emanuele Meazzo, Marco Dal Pino.
  • Japanisch: EbXpJ6bp -, nh, Kyohei Uchida, Yoshihisa Ozaki, Seiji Momoto, Hasefumi, 迪人 熊本, Koichi Makino, Kyohei Moriyama, 美穂 山本, Aya Tokura.
  • Koreanisch: 형섭 이, Youngjae Kim, siin lee, Keunyop Lee.
  • Lettisch: Kaspars Bergs.
  • Litauisch: Augustas Grikšas.
  • Polnisch: Wojciech Maj, Marek Biedrzycki, Igor 05, Marcin Weksznejder, Szymon Seliga, Paweł Modrzejewski, ‎Michał Stojke, Artur Zdanowski.
  • Portugiesisch (Brasilien): Alessandro Trovato, Judson Santiago, Roberto Fonseca, Marcelo Fernandes, Lucas Miranda, Ray Carneiro, Loiane Groner, Daniel Luna, Lucas Santos, Saymon Damásio.
  • Portugiesisch (Portugal): Ana Rebelo, Pedro Teixeira, João Carvalho, Tiago Antunes.
  • Rumänisch: Alexandru Staicu.
  • Russisch: Andrey Veselov, Дмитрий Кирьянов, nata kazakova, Валерий Батурин.
  • Spanisch: Andy Gonzalez, Carlos Mendible, José María Aguilar, Alvaro Enrique Ruano.
  • Tamil: Boopesh Kumar, Karunakaran Samayan, Merbin J Anselm.
  • Türkisch: mehmetcan gun, Sinan Açar, S. Ferit Arslan.
  • Ukrainisch: Sviatoslav Ivaskiv, George Molchanyuk.
  • Vietnamesisch: Khôi Phạm, Spepirus Shouru, Việt Anh Nguyễn.
© . This site is unofficial and not affiliated with Microsoft.