Как добавить несколько терминалов в VS Code?

86

Можем ли мы добавить несколько разных терминалов в VS Code? Я планирую добавить следующие три терминала и работать со всеми из них:

  1. Командная строка Windows
  2. PowerShell
  3. Git Bash

Я знаю, что мне нужно добавить следующую команду в 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",

Я хочу добавить все три вышеуказанные команды в setting.json

введите описание изображения здесь

И когда я нажимаю, +должен открыться другой терминал, и я хочу работать с этими терминалами без изменения настроек. Возможно ли это в VS Code?

МАНИШ КУМАР ЧУДХАРЫ
источник
1
Если вы & "c:\Program Files\git\bin\bash.exe"
Давос,
2
Что касается code.visualstudio.com/updates/v1_35 , теперь вы можете сделать это проще, см. Мой ответ полностью внизу страницы. Я закончил здесь через google, установил расширение, затем прочитал полностью, заметил комментарий Нила, затем перешел к примечанию к выпуску от мая 2019 года и добавил его сюда как fyi
edelwater

Ответы:

109

Есть способ сделать это, выполнив следующие действия, установив расширение:

  1. Найдите расширение под названием Shell launcherи установите его, или вы можете найти его здесь . Перезагрузите VS Code, если хотите или после того, как закончите все шаги.

  2. Перейдите к, Files --> Preferences --> Settingsи это откроет settings.jsonфайл, а затем вы вставите его (вы можете отредактировать его, как вам нравится):

Код:

"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: Вы можете использовать shellLauncher.shells.linuxдля Linuxили shellLauncher.shells.osxдля macOS.

  1. Перейдите к, Files --> Preferences --> Keyboard Shortcutsа затем найдите {}значок в правом верхнем углу, чтобы открыть keybindings.jsonфайл. Вставьте это:

Код:

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

Обновление : shelllauncherвведите в строку поиска. Затем вы можете увидеть Shell Launcher: Launchкоманду. Выделите и используйте любую комбинацию клавиш, которая вам нравится. Например, я выбрал для себя Ctrl + Alt + (обратная кавычка) `.

Вы можете перезагрузить свой VS Code и щелкнуть назначенную комбинацию клавиш, что даст вам возможность выбрать, какой интегрированный терминал вы хотите использовать.

введите описание изображения здесь

Для получения дополнительной информации посетите официальный сайт: https://marketplace.visualstudio.com/items?itemName=Tyriar.shell-launcher

Наслаждайтесь!

ian0411
источник
8
Это не работает. Я хочу добавить несколько terminal.integrated.shell.windowsнеShell launcher
МАНИШ КУМАР ЧУДХАРЫ
2
Я не думаю, что это можно сделать прямо сейчас, но, возможно, в будущем, как указал Бен. Это просто обходной путь, чтобы иметь несколько терминалов, установив расширение с некоторыми настройками, чтобы вы могли одновременно открывать cmd, powershell или bash.
ian0411
2
Чувак, это действительно классное расширение, и это действительно то, что мне нужно, потому что иногда мне нужен bash и несколько PS. Большой!
Raffaeu
2
Работает отлично! Добавил оболочку для Cmder с помощью этого метода.
AspiringDevOpsGuru
5
Для тех, кто будет копировать / вставлять настройки. Если вы используете Windows-машину, на своем пути замените sysnativeнаSystem32
Эндрю
66

Даже вопрос задан в прошлом году, и ответ принят, но все же я чувствую, что могу ответить на этот вопрос, поскольку я не нашел простого, подходящего и полного ответа, а в качестве разработки мне нужно несколько терминалов под рукой, как показано ниже: -

введите описание изображения здесь

и я не беспокоюсь об их пути, добавляю еще одно расширение для того, на что VS Code уже способен, или перезагружаю VS Shell и т. д. и иду вставлять и настраивать файлы настроек вручную.

Я обнаружил, что этот вопрос задают много раз, и почти все приходилось вручную настраивать запись некоторых параметров и т. Д. Или иногда выбирали только один тип терминала. Ответ @Pawan несколько близок, но опять же, это решение, наконец, попадает в один терминал, перейдя к настройке команды для терминала коммутатора, и этот будет работать для git или любого другого терминала.

Если у вас установлены инструменты, которые работают в командной строке, такие как power-shell и git, вместе с приглашением cmd по умолчанию в Windows, выполните три быстрых шага, чтобы получить все терминалы сразу и переключиться на кого угодно одним щелчком мыши.

  1. Откройте терминал, он должен быть виден (используйте ctrl + ` или из меню View-> Integrated Terminal )

  2. Откройте поиск команд (используйте Ctrl + Shift + P или из меню View-> Command Palette ... )

  3. В поле команд введите « Терминал: выберите оболочку по умолчанию », чтобы выбрать этот параметр из раскрывающегося списка. введите описание изображения здесь
  4. При выборе этой опции все доступные команды, которые находятся в пути, будут перечислены ниже, как показано ниже. введите описание изображения здесь

  5. Просто щелкните любую, которую хотите добавить, для быстрого доступа из списка команд.

  6. Наконец, в окне терминала просто нажмите знак + рядом со списком терминалов, как показано ниже: - введите описание изображения здесь

Терминал, выбранный на шаге 5, теперь будет добавлен после выполнения шага 6 в список без удаления более раннего терминала.

  1. Повторите шаги 3-6 для добавления любого другого терминала в список команд.

Для работы с конкретным терминалом достаточно выбрать нужный в списке терминалов окна терминала.

AKS
источник
1
Это ответ, который я искал, хотя случайно обнаружил его. :)
Legend
20
Этот подход будет перезаписывать терминал по умолчанию каждый раз, когда добавляется новое представление. Если код Visual Studio используется для других целей, где терминал по умолчанию должен оставаться таким же, это не предпочтительный подход.
Fabio
1
Спасибо ... именно то, что я искал.
Tiki
3
Есть ли способ сделать так, чтобы настройки прилипали? Похоже, эта настройка исчезает при закрытии браузера.
Обезьяна
2
Спасибо. Мне нравятся нативные решения.
Greeso
23

нажмите ctrl + shift + `ярлык или нажмите крестик, чтобы запустить новый терминал, затем введите, bashесли ваш режим по умолчанию - powershell или powershellесли ваш режим по умолчанию - bash. И вот вы, ваш терминал переключен.

Wachburn
источник
1
Это работает хорошо, но не переносится между сеансами VSCode, поскольку не вносит никаких изменений в настройки. Лично мне это нравится, так как это всего лишь пара нажатий клавиш, и мне не всегда нужны несколько типов терминалов.
torpy
5
На данный момент это лучшее решение
Пакк
6

На данный момент VS Code поддерживает определение только одного из доступных терминалов по умолчанию за раз, и вы не можете добавить несколько терминалов оболочки.

Если вы не хотите устанавливать плагин «Shell Launcher», как предлагает @ ian0411, то вот быстрый способ изменить / выбрать терминал по умолчанию.

Нажмите «Ctrl + Shift + P», чтобы открыть палитру команд.

Введите «Терминал: выберите оболочку по умолчанию» и нажмите Enter. Вам будет предложено выбрать Git Bash, PowerShell или Cmd, как показано ниже:

Возможность изменить предпочтительную оболочку терминала

Примечание: это изменит терминал оболочки по умолчанию, но нет ничего плохого в том, чтобы изменить его всякий раз, когда вам нужно использовать другой.

Кстати, если вам нужно переключаться только между Cmd и Powershell, вы можете ввести cmd или powershell (в уже открытом терминале), чтобы переключиться на желаемый терминал. Но для Git Bash это не сработает.

Pawan
источник
4

Я не вижу этого в вышеприведенном, но читаю все ответы. Я думаю, что это лучший подход к тому, что сейчас поддерживается. Я считаю, что, как и я, OP просто хочет открыть VSCode, а внизу в окне терминала нам просто нужен список опций, из которых можно открыть.

Да, вы можете открыть команду «Терминал: выбрать оболочку по умолчанию» и пропустить ее, чтобы добавить различные типы терминалов ...

Да, вы можете открыть команду «Терминал: выбрать оболочку по умолчанию» и пропустить ее, чтобы добавить различные типы терминалов ... С последующим: введите описание изображения здесь

Я не знаю, когда эта опция была добавлена ​​в раскрывающийся список, но посмотрите! Нет необходимости начинать с поиска команды. Я думаю, что это намного более плавный, чем любой другой ответ, но он по-прежнему приводит к раздражающей перезаписи вашего термина по умолчанию тем, что было вашим последним выбором перед выходом из сеанса.

Здесь нам легче открыть Select Default Shell - он должен поддерживать «Select New Shell» . Вы думаете, все просто. Надеюсь, кто-нибудь скоро это добавит, или у меня будет время внести свой вклад.

Здесь нам будет проще открыть «Выбрать оболочку по умолчанию» - она ​​должна поддерживать «Выбрать новую оболочку».

Нил Гай Линдберг
источник
3

Это можно сделать, добавив в конце другой ключ. Просто изменив свой пример на:

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

Обратите внимание, что ключ ... shell.windows заменен на ... shell.windows2 и ... shell.windows3 .

Последующий вывод: я заметил, что после перезапуска IDE отображается только первый терминал. Мне пришлось заново открыть настройки и сохранить их один раз, чтобы снова получить оба терминала. Отправлю, если доступно лучшее решение.

Шияз
источник
5
Я добавил эти настройки в UserSetting, но на 2-й и 3-й оболочках есть предупреждение, сообщение с предупреждением - «Неизвестная настройка конфигурации»
Эмад Армоун
2

Нет. Возможно, в будущем. См. Https://github.com/Microsoft/vscode/issues/7504

Если вы используете bash, вы можете использовать tmux для достижения чего-то подобного, как описано в проблеме, указанной выше.

Бен Кризи
источник
2

На вкладке терминала есть кнопка Разделить терминал. Работает как шарм

Йони
источник
Это не то, о чем спрашивали.
Гильермо Пранди,
0

Для WSL Ubuntu на терминале Windows:

Файл -> настройки -> настройки -> щелкните значок кода в правом верхнем углу.

Введите следующее:

{
    "terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\wsl.exe",
    "git.enableSmartCommit": true
}
Роберт Морел
источник
0

Чтобы открыть multiple терминал, проверьте снимок экрана на то же самое (в правом нижнем углу кода Visual Studio будет раскрывающийся список, а сразу после него - значок + (плюс). При нажатии на него откроется новый терминал.) .

сиддхант верма
источник
0

Начиная с https://code.visualstudio.com/updates/v1_35 теперь вы можете:

  1. выберите из выпадающего меню прямо над терминалом «Выбрать оболочку по умолчанию»
  2. выберите тот, который вам нравится
  3. нажмите +
  4. сделанный

(то же самое касается открытия разделенного экрана: перед этим выполните 1 + 2, а затем нажмите кнопку разделенного экрана)

(хотя и переопределяет значение по умолчанию, но больше не имеет значения, если это ваш поток)

Edelwater
источник