Wie füge ich mehrere Terminals in VS Code hinzu?


85

Können wir dem VS-Code mehrere verschiedene Terminals hinzufügen? Ich plane, folgende drei Terminals hinzuzufügen und mit all diesen zu arbeiten:

  1. Windows-Eingabeaufforderung
  2. Power Shell
  3. Git Bash

Ich weiß, dass ich den folgenden Befehl hinzufügen muss Preferences => Setting

 // // 64-bit cmd if available, otherwise 32-bit
 "terminal.integrated.shell.windows": "C:\\Windows\\sysnative\\cmd.exe",
// // 64-bit PowerShell if available, otherwise 32-bit
 "terminal.integrated.shell.windows": "C:\\Windows\\sysnative\\WindowsPowerShell\\v1.0\\powershell.exe",
// // Git Bash
 "terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe",

Ich möchte alle oben genannten drei Befehle hinzufügen setting.json

Geben Sie hier die Bildbeschreibung ein

Und wenn ich auf ein +anderes Terminal klicke, sollte es geöffnet werden und ich möchte mit diesen Terminals arbeiten, ohne die Einstellungen zu ändern. Ist es in VS Code möglich oder nicht?


1
Wenn Sie dies in das Powershell-Terminal eingeben, wird die Git-Bash gestartet:& "c:\Program Files\git\bin\bash.exe"
Davos


2
Ab code.visualstudio.com/updates/v1_35 können Sie dies jetzt einfacher tun. Meine Antwort finden Sie ganz unten auf der Seite. Ich endete hier über Google, installierte die Erweiterung, las sie dann ganz durch, bemerkte den Kommentar von Neil, ging dann zum Release Note vom Mai 2019 und fügte ihn hier als
fyi

Antworten:


109

Mit diesen Schritten können Sie dies erreichen, indem Sie eine Erweiterung installieren:

  1. Suchen Sie eine Erweiterung namens Shell launcherund installieren Sie sie oder finden Sie sie hier . Laden Sie VS Code neu, wenn Sie möchten oder nachdem Sie alle Schritte abgeschlossen haben.

  2. Gehen Sie zu Files --> Preferences --> Settingsund dies öffnet die settings.jsonDatei und Sie fügen diese ein (Sie können dies nach Herzenslust bearbeiten):

Code:

"shellLauncher.shells.windows": [
    {
        "shell": "C:\\Windows\\<sysnative>\\cmd.exe",
        "label": "cmd"
    },
    {
        "shell": "C:\\Windows\\<sysnative>\\WindowsPowerShell\\v1.0\\powershell.exe",
        "label": "PowerShell"
    },
    {
        "shell": "C:\\Program Files\\Git\\bin\\bash.exe",
        "label": "Git bash"
    },
    {
        "shell": "C:\\Windows\\<sysnative>\\bash.exe",
        "label": "WSL Bash"
    }
]

PS: Sie können shellLauncher.shells.linuxfür Linuxoder shellLauncher.shells.osxfür verwenden macOS.

  1. Gehen Sie zu Files --> Preferences --> Keyboard Shortcutsund suchen Sie das {}Symbol in der oberen rechten Ecke, um die keybindings.jsonDatei zu öffnen . Fügen Sie dies ein:

Code:

[
    { "key": "ctrl+alt+`", "command": "shellLauncher.launch" }
]

Update : Geben Sie shelllauncherin die Suchleiste ein. Sie können dann Shell Launcher: LaunchBefehl sehen. Markieren und verwenden Sie eine beliebige Tastenkombination. Zum Beispiel habe ich Strg + Alt + (Backtick) für mich ausgewählt.

Sie können Ihren VS-Code neu laden und auf die von Ihnen zugewiesene Tastenkombination klicken. Dadurch können Sie auswählen, welches integrierte Terminal Sie verwenden möchten.

Geben Sie hier die Bildbeschreibung ein

Weitere Informationen finden Sie auf der offiziellen Website: https://marketplace.visualstudio.com/items?itemName=Tyriar.shell-launcher

Genießen!


8
das funktioniert nicht. Ich möchte mehrere terminal.integrated.shell.windowsnicht hinzufügenShell launcher
MANISH KUMAR CHOUDHARY

2
Ich glaube nicht, dass dies jetzt möglich ist, aber vielleicht in der Zukunft, wie Ben betonte. Dies ist nur eine Lösung, um mehrere Terminals zu haben, indem Sie eine Erweiterung mit einigen Verbesserungen installieren, sodass Sie cmd, Powershell oder Bash gleichzeitig öffnen können.
ian0411

2
Mann, das ist eine wirklich coole Erweiterung und genau das, was ich brauche, weil ich manchmal eine Bash und mehrere PS brauche. Großartig!
Raffaeu

2
Funktioniert super! Mit dieser Methode wurde eine Shell für Cmder hinzugefügt.
AspiringDevOpsGuru

5
Für diejenigen, die Einstellungen kopieren / einfügen. Wenn Sie auf einem Windows-Computer in Ihren Pfaden sind, ersetzen Sie sysnativezuSystem32
Andrew

66

Sogar die Frage wurde letztes Jahr gestellt und die Antwort wird akzeptiert, aber ich habe immer noch das Gefühl, diese Frage zu beantworten, da ich keine einfache, geeignete und vollständige Antwort gefunden habe, während ich als Entwicklung mehrere Terminals brauche, die mit einem Klick wie unten zur Hand sind: -

Geben Sie hier die Bildbeschreibung ein

und ich kümmere mich nicht um ihren Pfad, füge eine weitere Erweiterung für das hinzu, was der VS-Code bereits kann, oder lade VS Shell usw. neu und gehe, um die Einstellungsdateien manuell einzufügen und einzurichten.

Ich fand, dass diese Frage oft gestellt wurde und fast alle manuell landeten, um einige Einstellungen usw. zu schreiben, oder manchmal nur einen einzigen Terminaltyp zu wählen. Die Antwort von @Pawan ist etwas nahe, aber wieder landet diese Lösung schließlich auf einem einzelnen Terminal und wechselt zum Befehls-Setup für das Switch-Terminal. Dieses funktioniert für Git oder ein anderes Terminal.

Wenn Sie Tools installiert haben, die über die Befehlszeile wie Power-Shell und Git zusammen mit der Standard-Cmd-Eingabeaufforderung in Windows funktionieren, befolgen Sie die folgenden drei Schritte, um alle Terminals gleichzeitig abzurufen und mit einem Klick zu einem beliebigen Benutzer zu wechseln.

  1. Öffnen Sie das Terminal, es sollte sichtbar sein (verwenden Sie Strg + ` oder über das Menü Ansicht-> Integriertes Terminal ).

  2. Öffnen Sie die Befehlssuche (verwenden Sie Strg + Umschalt + P oder über das Menü Ansicht-> Befehlspalette ... )

  3. Geben Sie im Befehlsfeld " Terminal: Standard-Shell auswählen" ein, um diese Option aus der Dropdown- Liste auszuwählen. Geben Sie hier die Bildbeschreibung ein
  4. Wenn Sie diese Option auswählen, werden alle verfügbaren Befehle, die sich im Pfad befinden, wie unten aufgeführt Geben Sie hier die Bildbeschreibung ein

  5. Klicken Sie einfach auf eine beliebige, die Sie hinzufügen möchten, um schnell über die Befehlsliste darauf zuzugreifen.

  6. Klicken Sie im Terminalfenster einfach auf das + -Zeichen neben der Terminalliste, wie unten gezeigt: - Geben Sie hier die Bildbeschreibung ein

Das in Schritt 5 ausgewählte Terminal wird nun hinzugefügt, nachdem Schritt 6 zur Liste ausgeführt wurde, ohne dass das frühere Terminal entfernt wurde.

  1. Wiederholen Sie Schritt 3-6, um ein anderes Terminal zur Befehlsliste hinzuzufügen.

Um mit einem bestimmten Terminal zu arbeiten, wählen Sie einfach das gewünschte in der Terminalliste des Terminalfensters aus.


1
Dies ist die Antwort, nach der ich gesucht habe, obwohl ich sie versehentlich entdeckt habe. :)
Legende

19
Dieser Ansatz überschreibt das Standardterminal jedes Mal, wenn eine neue Ansicht hinzugefügt wird. Wenn Visual Studio-Code für andere Zwecke verwendet wird, bei denen das Standardterminal gleich bleiben soll, ist dies kein vorzuziehender Ansatz.
Fabio

1
Danke ... genau das, wonach ich gesucht habe.
Tiki

3
Gibt es eine Möglichkeit, die Einstellungen beizubehalten? Es sieht so aus, als würde die Einstellung beim Schließen des Browsers verschwinden.
Affe

2
Vielen Dank. Ich mag native Lösungen.
Greeso

23

Drücken Sie die ctrl + shift + `Tastenkombination oder ein Kreuzzeichen, um ein neues Terminal bashauszuführen. Geben powershellSie dann ein, ob Ihr Standardmodus Powershell oder Ihr Standardmodus Bash ist. Und hier sind Sie, Ihr Terminal ist geschaltet.


1
Dies funktioniert gut, wird jedoch nicht zwischen VSCode-Sitzungen übertragen, da keine Änderungen an den Einstellungen vorgenommen werden. Persönlich gefällt mir das, da es nur ein paar Tastenanschläge sind und ich nicht immer mehrere Terminaltypen benötige.
Torpy

5
Dies ist die bisher beste Lösung
Pakk

6

Derzeit unterstützt VS Code die Definition von jeweils nur einem der verfügbaren Terminals als Standard, und Sie können nicht mehrere Shell-Terminals hinzufügen.

Wenn Sie das "Shell Launcher" -Plugin nicht wie von @ ian0411 vorgeschlagen installieren möchten, finden Sie hier eine schnelle Möglichkeit, das Standardterminal zu ändern / auszuwählen.

Drücken Sie "Strg + Umschalt + P", um die Befehlspalette zu öffnen.

Geben Sie "Terminal: Standard-Shell auswählen" ein und drücken Sie die Eingabetaste. Sie werden aufgefordert, Git Bash, PowerShell oder Cmd wie folgt auszuwählen:

Option zum Ändern der bevorzugten Terminal-Shell

Hinweis: Dadurch wird das Standard-Shell-Terminal geändert, es kann jedoch nicht geändert werden, wenn Sie ein anderes verwenden müssen.

Übrigens, wenn Sie nur zwischen Cmd und Powershell wechseln müssen, können Sie cmd oder Powershell (im bereits geöffneten Terminal) eingeben, um zum gewünschten Terminal zu wechseln. Aber es würde nicht für Git Bash funktionieren.


4

Ich sehe das oben nicht, aber lese alle Antworten. Ich denke, dies ist der beste Ansatz für das, was derzeit unterstützt wird. Ich glaube, wie ich selbst möchte das OP einfach VSCode öffnen, und unten im Terminalfenster möchten wir nur eine Liste von Optionen, über die geöffnet werden kann.

Ja, Sie können den Befehl "Terminal: Select Default Shell" öffnen und diesen durchlaufen, um verschiedene Arten von Terminals hinzuzufügen ...

Ja, Sie können den Befehl "Terminal: Select Default Shell" öffnen und diesen durchlaufen, um verschiedene Arten von Terminals hinzuzufügen ... Gefolgt von: Geben Sie hier die Bildbeschreibung ein

Ich weiß nicht, wann diese Option zum Dropdown hinzugefügt wurde, aber schauen Sie! Sie müssen zunächst nicht den Befehl nachschlagen. Ich denke, dies ist viel flüssiger als jede andere Antwort, aber es führt immer noch zu dem nervigen Überschreiben Ihres Standardbegriffs auf das, was Sie zuletzt vor dem Verlassen der Sitzung gewählt haben.

Hier können wir die Select Default Shell einfacher öffnen - sie sollte "Select New Shell" unterstützen . Einfach, würde man meinen. Hoffentlich fügt das bald jemand hinzu oder ich habe Zeit, einen Beitrag zu leisten.

Hier können wir die "Select Default Shell" einfacher öffnen - sie sollte "Select New Shell" unterstützen.


3

Dies kann durch Hinzufügen eines anderen Schlüssels am Ende erfolgen. Ändern Sie einfach Ihr Beispiel in:

// // 64-bit cmd if available, otherwise 32-bit
 "terminal.integrated.shell.windows": "C:\\Windows\\sysnative\\cmd.exe",
// // 64-bit PowerShell if available, otherwise 32-bit
 "terminal.integrated.shell.windows2": "C:\\Windows\\sysnative\\WindowsPowerShell\\v1.0\\powershell.exe",
// // Git Bash
 "terminal.integrated.shell.windows3": "C:\\Program Files\\Git\\bin\\bash.exe",

Beachten Sie, dass der Schlüssel ... shell.windows in ... shell.windows2 und ... shell.windows3 geändert wird .

Follow-up-Ergebnis: Ich habe festgestellt, dass nach dem Neustart der IDE nur das erste Terminal angezeigt wird. Ich musste die Einstellungen erneut öffnen und einmal speichern, um beide Terminals wieder zu erhalten. Wird posten, wenn eine bessere Lösung verfügbar ist.


5
Ich habe diese Einstellungen zu UserSetting hinzugefügt, aber es gibt eine Warnung in der 2. und 3. Shells. Die Warnmeldung lautet "Unbekannte Konfigurationseinstellung"
Emad Armoun


2

Auf der Registerkarte "Terminal" befindet sich eine Schaltfläche "Terminal teilen". Klappt wunderbar


Es ist nicht das, was gefragt wurde.
Guillermo Prandi

0

Für WSL Ubuntu auf Windows-Terminal:

Datei -> Einstellungen -> Einstellungen -> Klicken Sie oben rechts auf das Codesymbol

Gib das Folgende ein:

{
    "terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\wsl.exe",
    "git.enableSmartCommit": true
}

0

Um das multipleTerminal zu öffnen , überprüfen Sie bitte den Screenshot (rechts unten im Visual Studio-Code befindet sich ein Dropdown-Menü und unmittelbar danach das Symbol + (plus). Beim Drücken wird das neue Terminal geöffnet.) .


0

Ab https://code.visualstudio.com/updates/v1_35 können Sie jetzt:

  1. Wählen Sie aus dem Pulldown-Menü direkt über dem Terminal "Select Default Shell".
  2. Wählen Sie die gewünschte aus
  3. Klicken Sie auf das +
  4. getan

(Gleiches gilt für das Öffnen des geteilten Bildschirms: Machen Sie vorher 1 + 2 und klicken Sie dann auf die Schaltfläche geteilter Bildschirm.)

(obwohl die Standardeinstellung überschrieben wird, spielt es keine Rolle mehr, ob dies Ihr Flow ist)

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.