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

Fehlerbehebung bei Startfehlern des Terminals

Zu Beginn möchten wir uns entschuldigen, dass Sie dieses Dokument lesen müssen, anstatt das integrierte Terminal in Visual Studio Code genießen zu können. Das VS Code-Team arbeitet hart daran, die Terminalerfahrung so nahtlos wie möglich zu gestalten. In einigen Fällen gibt es jedoch Probleme mit der Shell- oder Terminalkonfiguration, die der VS Code-Editor nicht umgehen kann.

Nachdem wir mit Hunderten von Entwicklern zusammengearbeitet haben, um deren Startfehler des Terminals zu diagnostizieren, hat das VS Code-Team diesen Artikel mit den Ratschlägen und Tipps zur Fehlerbehebung zusammengestellt, die anderen in der Vergangenheit geholfen haben. Wir hoffen, dass Sie hier eine Antwort auf Ihr Shell- oder Terminalproblem finden und schnell wieder an die Arbeit gehen können.

Benutzerhandbuch für das integrierte Terminal

Wenn Sie neu im integrierten Terminal von VS Code sind, können Sie im Benutzerhandbuch zum integrierten Terminal mehr erfahren. Dort können Sie lesen, wie Sie das Terminal konfigurieren und Antworten auf häufig gestellte Fragen einsehen.

Unten finden Sie spezifische Schritte zur Fehlerbehebung, falls das Benutzerhandbuch Ihnen bei der Diagnose des Startfehlers nicht geholfen hat. Die Schritte zur Fehlerbehebung, wie z. B. die Überprüfung Ihrer Einstellungen und die Aktivierung der Protokollierung, gelten für alle Plattformen, die VS Code unterstützen: macOS, Linux und Windows.

Hinweis: Wenn Sie unter Windows arbeiten, möchten Sie möglicherweise zuerst den Abschnitt Häufige Probleme unter Windows durchlesen.

Schritte zur Fehlerbehebung

Befolgen Sie diese Schritte zur Fehlerbehebung bei Startfehlern des integrierten Terminals in Visual Studio Code, um Probleme zu diagnostizieren

  1. Überprüfen Sie Ihre Benutzereinstellungen. Überprüfen Sie diese terminal.integrated Einstellungen, die den Start beeinflussen könnten

    • terminal.integrated.defaultProfile.{platform} - Das Standard-Shell-Profil, das das Terminal verwendet.
    • terminal.integrated.profiles.{platform} - Die definierten Shell-Profile. Legt den Shell-Pfad und die Argumente fest.
    • terminal.integrated.cwd - Das aktuelle Arbeitsverzeichnis (cwd) für den Shell-Prozess.
    • terminal.integrated.env.{platform} - Umgebungsvariablen, die dem Shell-Prozess hinzugefügt werden.
    • terminal.integrated.inheritEnv - Ob neue Shells ihre Umgebung von VS Code erben sollen.
    • terminal.integrated.automationProfile.{platform} - Shell-Profil für die terminalbezogene Automatisierung, wie z. B. Aufgaben und Debugging.
    • terminal.integrated.splitCwd - Steuert das aktuelle Arbeitsverzeichnis, mit dem ein geteiltes Terminal gestartet wird.
    • terminal.integrated.windowsEnableConpty - Ob ConPTY für die Kommunikation des Windows-Terminalprozesses verwendet werden soll.

    Sie können die Einstellungen im Einstellungseditor (Datei > Einstellungen > Einstellungen) überprüfen und nach bestimmten Einstellungen anhand der Einstellungs-ID suchen.

    Search for Integrated terminal settings

    Eine schnelle Möglichkeit zu überprüfen, ob Sie Einstellungen geändert haben, die Ihnen möglicherweise nicht bewusst sind, ist die Verwendung des Filters @modified im Einstellungseditor.

    Filter for modified settings

    Die meisten Einstellungen des integrierten Terminals müssen direkt in Ihrer settings.json-Datei geändert werden. Sie können settings.json über den Link In settings.json bearbeiten im Einstellungseditor öffnen oder mit dem Befehl Preferences: Open User Settings (JSON) aus der Befehlspalette (⇧⌘P (Windows, Linux Ctrl+Shift+P)) aufrufen.

    A user's settings.json file

  2. Testen Sie Ihre Shell direkt. Versuchen Sie, Ihre designierte integrierte Terminal-Shell außerhalb von VS Code über ein externes Terminal oder eine Eingabeaufforderung auszuführen. Einige Startfehler des Terminals können auf Ihre Shell-Installation zurückzuführen sein und sind nicht spezifisch für VS Code. Die angezeigten Exit-Codes stammen von der Shell, und Sie können Shell-Probleme möglicherweise diagnostizieren, indem Sie im Internet nach der spezifischen Shell und dem Exit-Code suchen.

  3. Verwenden Sie die aktuellste Version von VS Code. Jede monatliche VS Code-Veröffentlichung enthält viele Updates und Korrekturen und kann Verbesserungen für das integrierte Terminal enthalten. Sie können Ihre VS Code-Version unter Hilfe > Info (unter macOS Code > Info über Visual Studio Code) überprüfen. Um die neueste Version von VS Code zu finden, gehen Sie zu den Versionshinweisen von VS Code. Möglicherweise möchten Sie auch überprüfen, ob Sie die neueste Version Ihrer Shell installiert haben.

  4. Verwenden Sie die aktuellste Version Ihrer Shell. Wenn Ihre Shell separat von Ihrer Plattform installiert ist, versuchen Sie, die neueste verfügbare Version der Shell zu installieren. Derselbe Ratschlag gilt, wenn Sie eine ältere Version Ihres Betriebssystems verwenden. Beispielsweise funktionierten einige ältere Versionen von Windows 10 nicht gut mit dem VS Code-Terminal.

  5. Aktivieren Sie die Ablaufverfolgungsprotokollierung. Sie können die Ablaufverfolgungsprotokollierung aktivieren und beim Starten des Terminals eine Protokolldatei erfassen. Die Protokollierung deckt oft auf, was falsch ist, da alle Argumente, die zum Erstellen des Terminalprozesses/PTY verwendet werden, aufgezeichnet werden. Falsche Shell-Namen, Argumente oder Umgebungsvariablen können dazu führen, dass das Terminal nicht startet. Behalten Sie diese Protokolldatei für später auf, falls Ihr Problem nicht gelöst wird.

Zusätzliche Schritte zur Fehlerbehebung

Wenn keiner dieser Schritte zur Lösung des Problems beigetragen hat, können Sie auch Folgendes versuchen:

  • Fragen Sie auf Stack Overflow danach, oft hängen Startprobleme mit der Umgebungsstruktur zusammen und nicht mit einem Problem bei VS Code.
  • Wenn das Terminal von einer Erweiterung gestartet wird, melden Sie das Problem der Erweiterung, indem Sie den Issue-Reporter öffnen (Hilfe > Problem melden) und "Datei an" auf "Eine Erweiterung" setzen.
  • Wenn Sie glauben, dass es sich um einen Fehler in VS Code handelt, melden Sie das Problem über den Issue-Reporter (Hilfe > Problem melden). Der Issue-Reporter füllt automatisch relevante Informationen aus. Weitere Informationen finden Sie unter Erstellen guter Terminal-Problemberichte.
  • Wenn Sie unter Windows 10 1809 (Build 17763) oder niedriger arbeiten, hängt das Problem mit dem Legacy-"winpty"-Backend zusammen. Ein Upgrade auf Windows 1903 (Build 18362) verschiebt Sie auf das neue "conpty"-Backend, das von Microsoft entwickelt wurde und Ihr Problem möglicherweise behebt.
  • Wenn Ihr Terminal so eingestellt ist, dass es nur als Administrator ausgeführt wird, und Sie VS Code nicht als Administrator starten, kann das Terminal nicht geöffnet werden. Sie können entweder das Standardterminal ändern oder die Eigenschaften der Terminal-EXE bearbeiten, um sie nicht als Administrator auszuführen.

Exit-Codes

Die im Benachrichtigungsfeld für den Startfehler des Terminals angezeigten Exit-Codes werden vom Shell-Prozess zurückgegeben und nicht von VS Code generiert. Es gibt viele verfügbare Shells, die im Terminal verwendet werden können, und Hunderte von möglichen Exit-Codes.

  • Versuchen Sie, im Internet nach Ihrer spezifischen Shell und dem Exit-Code zu suchen (z. B. "PowerShell 4294901760"), und Sie finden möglicherweise spezifische Vorschläge oder bekannte Probleme im Zusammenhang mit Ihrem Startfehler des Terminals.
  • Suchen Sie im Issue-Repository Ihrer Shell. Wenn Sie beispielsweise Probleme mit WSL haben, finden Sie möglicherweise eine Lösung, indem Sie nach Ihrem Fehlercode in den offenen oder gelösten Problemen unter https://github.com/microsoft/WSL/issues suchen.

Häufige Probleme unter Windows

Stellen Sie sicher, dass der Kompatibilitätsmodus deaktiviert ist

Wenn Sie auf Windows 10 aktualisieren, kann für einige Apps der Kompatibilitätsmodus automatisch aktiviert werden. Wenn der Kompatibilitätsmodus für VS Code aktiviert ist, funktioniert das Terminal nicht mehr, da es einige Low-Level-Operationen durchführt, um die verwendete Emulation zu ermöglichen. Sie können den Kompatibilitätsmodus überprüfen und deaktivieren, indem Sie mit der rechten Maustaste auf die VS Code-Executable klicken, Eigenschaften auswählen und dann im Tab Kompatibilität die Option Programm im Kompatibilitätsmodus ausführen deaktivieren.

Das Terminal wurde unter Windows 10 mit Code 1 beendet (mit WSL als Standard-Shell)

Dieser Fehler kann auftreten, wenn Windows Subsystem for Linux (WSL) nicht mit einer gültigen Standard-Linux-Distribution eingerichtet ist.

Hinweis: 'docker-desktop-data' ist keine gültige Distribution.

  • Öffnen Sie PowerShell und geben Sie wslconfig.exe /l ein, um zu bestätigen, dass WSL korrekt installiert ist und die unter Ihrem System verfügbaren Linux-Distributionen aufzulisten. Bestätigen Sie, dass eine gültige Distribution (default) daneben aufweist.
  • Um die Standardverteilung zu ändern, geben Sie wslconfig.exe /setdefault "distributionNameAsShownInList" ein

Eine native Ausnahme ist aufgetreten

Typischerweise tritt dieser Fehler auf, weil Antivirensoftware die winpty/conpty-Komponenten abfängt und blockiert, um den Terminalprozess zu erstellen. Um diesen Fehler zu umgehen, können Sie die folgende Datei von der Antiviren-Scan ausschließen

{install_path}\resources\app\node_modules.asar.unpacked\node-pty\build\Release\winpty.dll
{install_path}\resources\app\node_modules.asar.unpacked\node-pty\build\Release\winpty-agent.exe
{install_path}\resources\app\node_modules.asar.unpacked\node-pty\build\Release\conpty.node
{install_path}\resources\app\node_modules.asar.unpacked\node-pty\build\Release\conpty_console_list.node

Das Melden dieses Problems an das Antiviren-Team kann ebenfalls helfen, das Problem vollständig zu beheben.

Das Terminal wird mit Code 259 beendet

Exit-Code 259 kann STILL_ACTIVE bedeuten, wenn das Terminal versucht, einen neuen Prozess wie PowerShell.exe zu starten. Sie können versuchen, ungenutzte Programme und Prozesse auf Ihrem Computer zu beenden, falls einer davon einen Terminal-Shell-Prozess aktiv hält und ihn nicht neu starten kann.

Antivirensoftware, die auf Ihrem Computer läuft, kann ebenfalls den Start Ihrer Terminal-Shell beeinträchtigen.

Das Terminal wird mit Code 3221225786 (oder ähnlich) beendet

Dies kann passieren, wenn Sie den Legacy-Konsolenmodus in den Eigenschaften von ConHost aktiviert haben. Um dies zu ändern, öffnen Sie cmd.exe über das Startmenü, klicken Sie mit der rechten Maustaste auf die Titelleiste, gehen Sie zu Eigenschaften und deaktivieren Sie unter dem Tab Optionen die Option Legacy-Konsole verwenden.

Use legacy mode checkbox

Nächste Schritte

© . This site is unofficial and not affiliated with Microsoft.