Jak dodać wiele terminali w VS Code?

86

Czy możemy dodać wiele różnych terminali w kodzie VS? Planuję dodać następujące trzy terminale i pracować z nimi wszystkimi:

  1. Wiersz polecenia systemu Windows
  2. PowerShell
  3. Git Bash

Wiem, że muszę dodać następujące polecenie w 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",

Chcę dodać wszystkie powyższe trzy polecenia w setting.json

wprowadź opis obrazu tutaj

A kiedy kliknę, +inny terminal powinien się otworzyć i chcę pracować z tymi terminalami bez zmiany preferencji. Czy jest to możliwe w VS Code, czy nie?

MANISH KUMAR CHOUDHARY
źródło
1
Jeśli wpiszesz to w terminalu PowerShell, uruchomi się git bash:& "c:\Program Files\git\bin\bash.exe"
Davos
2
Od code.visualstudio.com/updates/v1_35 możesz to teraz zrobić łatwiej, zobacz moją odpowiedź całkowicie na dole strony. Skończyło się tutaj poprzez google, zainstalowane rozszerzenie, a następnie odczytać całą drogę w dół, zauważyła komentarz przez Neil, a następnie udał się do notatki uwalniania maja 2019 i dodaje go tutaj jako FYI
edelwater

Odpowiedzi:

109

Można to zrobić, wykonując następujące czynności, instalując rozszerzenie:

  1. Znajdź rozszerzenie o nazwie Shell launcheri zainstaluj je lub możesz je znaleźć tutaj . Załaduj ponownie kod VS, jeśli chcesz lub po wykonaniu wszystkich kroków.

  2. Idź do, Files --> Preferences --> Settingsa to otworzy settings.jsonplik, a następnie wstaw to (możesz edytować to do woli ):

Kod:

"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: możesz użyć shellLauncher.shells.linuxdla Linuxlub shellLauncher.shells.osxdla macOS.

  1. Przejdź do, Files --> Preferences --> Keyboard Shortcutsa następnie znajdź {}ikonę w prawym górnym rogu, aby otworzyć keybindings.jsonplik. Wstaw to:

Kod:

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

Aktualizacja : wpisz shelllauncherw pasku wyszukiwania. Możesz wtedy zobaczyć Shell Launcher: Launchpolecenie. Podświetl i użyj dowolnego przypisania klawiszowego. Na przykład wybrałem dla siebie Ctrl + Alt + (lewy przycisk) `.

Możesz ponownie załadować swój kod VS i kliknąć przypisaną kombinację klawiszy, a to da ci opcję wyboru zintegrowanego terminala, którego chcesz użyć.

wprowadź opis obrazu tutaj

Więcej informacji można znaleźć na oficjalnej stronie: https://marketplace.visualstudio.com/items?itemName=Tyriar.shell-launcher

Cieszyć się!

ian0411
źródło
8
to nie działa. Chcę dodać wiele terminal.integrated.shell.windowsnieShell launcher
MANISH KUMAR CHOUDHARY
2
Nie sądzę, aby można to zrobić teraz, ale może w przyszłości, jak zauważył Ben. Jest to tylko obejście, aby mieć wiele terminali, instalując rozszerzenie z kilkoma poprawkami, dzięki czemu można otworzyć cmd, powershell lub bash w tym samym czasie.
ian0411
2
Człowieku, to naprawdę fajne rozszerzenie i naprawdę jest tym, czego potrzebuję, ponieważ czasami potrzebuję basha i wielu PS. Świetny!
Raffaeu
2
Działa świetnie! Dodano powłokę dla Cmdera przy użyciu tej metody.
AspiringDevOpsGuru
5
Dla tych, którzy będą kopiować / wklejać ustawienia. Jeśli korzystasz z komputera z systemem Windows w swoich ścieżkach, zamień sysnativenaSystem32
Andrew
66

Nawet pytanie zostało zadane w zeszłym roku i odpowiedź jest akceptowana, ale nadal czuję, że mogę odpowiedzieć na to pytanie, ponieważ nie znalazłem żadnej prostej, odpowiedniej i kompletnej odpowiedzi, podczas gdy jako program potrzebuję wielu terminali pod ręką, klikając jak poniżej: -

wprowadź opis obrazu tutaj

i nie przejmuję się ich ścieżką, dodaję kolejne rozszerzenie dla tego, do czego kod VS już jest zdolny, lub przeładuj VS Shell itp. i przejdź do ręcznego wstawiania i konfigurowania plików ustawień.

Zauważyłem, że to pytanie jest zadawane wiele razy i prawie wszyscy wylądowali ręcznie, konfigurując zapisywanie niektórych ustawień itp. Lub czasami zdecydowałem się tylko na jeden typ terminala. Odpowiedź @Pawan jest nieco bliska, ale znowu to rozwiązanie ostatecznie trafia do pojedynczego terminala, przechodząc do konfiguracji poleceń dla terminala przełączającego, a ten będzie działał dla gita lub dowolnego innego terminala.

Jeśli masz zainstalowane narzędzia, które działały w wierszu poleceń, takie jak power-shell i git wraz z domyślnym monitem cmd w systemie Windows, wykonaj trzy szybkie kroki, aby uzyskać wszystkie terminale naraz i przełączyć się na dowolną osobę jednym kliknięciem.

  1. Otwórz terminal, powinien być widoczny (użyj ctrl + ` lub z menu Widok-> Zintegrowany terminal )

  2. Otwórz wyszukiwanie poleceń (użyj Ctrl + Shift + P lub z menu Widok-> Paleta poleceń ... )

  3. W polu poleceń wpisz „ Terminal: Wybierz domyślną powłokę ”, aby wybrać tę opcję z listy rozwijanej. wprowadź opis obrazu tutaj
  4. Po wybraniu tej opcji wszystkie dostępne polecenia znajdujące się w ścieżce zostaną wyświetlone poniżej, jak poniżej wprowadź opis obrazu tutaj

  5. Po prostu kliknij dowolną, którą chcesz dodać, aby uzyskać szybki dostęp z listy poleceń.

  6. Na koniec, w oknie terminala, po prostu kliknij znak + obok listy terminali, jak pokazano poniżej: - wprowadź opis obrazu tutaj

Terminal wybrany w kroku 5 zostanie teraz dodany po wykonaniu kroku 6 do listy bez usuwania wcześniejszego terminala.

  1. Powtórz krok 3-6, aby dodać inny terminal do listy poleceń.

Aby pracować z konkretnym terminalem, po prostu wybierz żądany z listy terminali w oknie terminala.

AKS
źródło
1
To jest odpowiedź, której szukałem, chociaż przypadkowo ją odkryłem. :)
Legend
20
Takie podejście spowoduje nadpisanie domyślnego terminala za każdym razem, gdy zostanie dodany nowy widok. Jeśli kod programu Visual Studio jest używany do innych celów, w których domyślny terminal powinien pozostać taki sam, nie jest to preferowane podejście.
Fabio,
1
Dzięki ... dokładnie to, czego szukałem.
Tiki
3
Czy istnieje sposób, aby ustawienia się zachowały? Wygląda na to, że ustawienie znika po zamknięciu przeglądarki.
Monkey,
2
Dziękuję Ci. Lubię rozwiązania natywne.
Greeso
23

naciśnij ctrl + shift + `skrót lub naciśnij krzyżyk, aby uruchomić nowy terminal, a następnie wpisz, bashczy Twoim domyślnym trybem jest PowerShell, czy powershelldomyślnym trybem jest bash. I oto jesteś, twój terminal jest przełączony.

Wachburn
źródło
1
Działa to dobrze, ale nie przenosi się między sesjami VSCode, ponieważ nie wprowadza żadnych zmian w ustawieniach. Osobiście podoba mi się to, ponieważ to tylko kilka naciśnięć klawiszy i nie zawsze potrzebuję wielu typów terminali.
burzliwy
5
To jest jak dotąd najlepsze rozwiązanie
Pakk
6

Na razie obsługa VS Code definiuje tylko jeden z dostępnych terminali jako domyślny na raz i nie można dodać wielu terminali powłoki.

Jeśli nie chcesz instalować wtyczki „Shell Launcher”, zgodnie z sugestią @ ian0411, oto szybki sposób zmiany / wyboru domyślnego terminala.

Naciśnij „Ctrl + Shift + P”, aby otworzyć paletę poleceń.

Wpisz „Terminal: Wybierz domyślną powłokę” i naciśnij Enter. Zostaniesz poproszony o wybranie Git Bash, PowerShell lub Cmd, jak pokazano poniżej:

Możliwość zmiany preferowanej powłoki terminala

Uwaga: spowoduje to zmianę domyślnego terminala powłoki, ale nie ma nic złego w zmianie go, gdy trzeba użyć innego.

BTW, jeśli chcesz przełączać się tylko między Cmd i Powershell, możesz wpisać cmd lub powershell (w już otwartym terminalu), aby przełączyć się na żądany terminal. Ale to nie zadziała w przypadku Git Bash.

Pawan
źródło
4

Nie widzę tego w powyższym, ale przeczytałem wszystkie odpowiedzi. Myślę, że to najlepsze podejście do tego, co jest obecnie obsługiwane. Wydaje mi się, że podobnie jak ja, OP chce po prostu otworzyć VSCode, a tam, w oknie terminala, chcemy tylko listę opcji do otwarcia.

Tak, możesz otworzyć polecenie „Terminal: Wybierz domyślną powłokę” i przejść przez nie, aby dodać różne typy terminali ...

Tak, możesz otworzyć polecenie „Terminal: Wybierz domyślną powłokę” i przejść przez nie, aby dodać różne typy terminali ... Śledzony przez: wprowadź opis obrazu tutaj

Nie wiem, kiedy ta opcja została dodana do menu, ale spójrz! Nie musisz zaczynać od wyszukania polecenia. Myślę, że jest to o wiele bardziej płynna odpowiedź niż jakakolwiek inna odpowiedź, ale nadal powoduje to irytujące nadpisanie domyślnego terminu na taki, jaki był ostatnio wybrany przed opuszczeniem sesji.

Tutaj możemy łatwiej otworzyć Select Default Shell - powinna ona obsługiwać „Select New Shell” . Można by pomyśleć, że proste. Miejmy nadzieję, że ktoś to doda wkrótce albo będę miał czas na wniesienie wkładu.

Tutaj możemy łatwiej otworzyć opcję „Wybierz domyślną powłokę” - powinna ona obsługiwać opcję „Wybierz nową powłokę”

Neil Guy Lindberg
źródło
3

Można to zrobić, dodając na końcu inny klucz. Po prostu zmieniając przykład na:

// // 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",

Zauważ, że klucz ... shell.windows został zmieniony na ... shell.windows2 i ... shell.windows3 .

Dalsze ustalenia: zauważyłem, że po ponownym uruchomieniu IDE wyświetlany jest tylko pierwszy terminal. Musiałem ponownie otworzyć ustawienia i zapisać je raz, aby ponownie uzyskać oba terminale. Opublikuje, jeśli dostępne jest lepsze rozwiązanie.

Shiyaz
źródło
5
Dodałem te ustawienia do UserSetting, ale pojawiło się ostrzeżenie na drugiej i
trzeciej powłoce
2

Na karcie terminala znajduje się przycisk Podziel terminal. Działa jak marzenie

yonih
źródło
Nie o to pytano.
Guillermo Prandi
0

WSL Ubuntu na terminalu Windows:

Plik -> preferencje -> ustawienia -> kliknij ikonę kodu w prawym górnym rogu

Wprowadź następujące informacje:

{
    "terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\wsl.exe",
    "git.enableSmartCommit": true
}
Robert Morel
źródło
0

Aby otworzyć multipleterminal, sprawdź zrzut ekranu pod kątem tego samego (w prawym dolnym rogu kodu Visual Studio pojawi się menu rozwijane, a zaraz po nim ikona + (plus). Po naciśnięciu go otworzy się nowy terminal). .

siddhant verma
źródło
0

Od https://code.visualstudio.com/updates/v1_35 możesz teraz:

  1. wybierz z menu rozwijanego bezpośrednio nad terminalem „Wybierz domyślną powłokę”
  2. wybierz ten, który Ci się podoba
  3. kliknij +
  4. Gotowe

(to samo dotyczy otwierania podzielonego ekranu: wcześniej wykonaj 1 + 2, a następnie kliknij przycisk podzielonego ekranu)

(chociaż nadpisuje wartość domyślną, ale nie ma już znaczenia, jeśli to jest twój przepływ)

edelwater
źródło