How to add multiple terminal in VS Code?

2019-01-13 10:48发布

Can we add multiple different terminal in VS Code? I am planing to add following three terminal and work with all of those

  1. Windows Command prompt
  2. PowerShell
  3. Git Bash

I know I need to add following command in 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",

I want to add all of above three command in setting.json enter image description here And when I click + different terminal should open and I want to work with those terminal without changing the preferences. Is it possible in VS Code or not?

7条回答
唯我独甜
2楼-- · 2019-01-13 11:16

Even the question is asked last year and the answer is accepted but still I feel to answer this question as I didn't found any simple, suitable and complete answer while as a development I need multiple terminal handy in a click like below:-

enter image description here

and I don't bother about their path, add another extension for what the VS Code is already capable of or reload VS Shell etc and go to insert and setup the settings files manually.

I found this question is asked many times and almost all landed up manually setup of write some settings etc. or sometimes only opted to get a single type of terminal. The answer of @Pawan is somewhat near but again that solution finally land up to a single terminal, going to command setup for switch terminal and this one will work for git or any other terminal.

If you have tools installed which worked on command line like power-shell and git along with default cmd prompt in windows then the follow the quick three steps to get all terminals at once and switch to anyone with a click.

  1. Open terminal, it should be visible (use ctrl+` or from menu View-> Integrated Terminal )

  2. Open commands search (use Ctrl+Shift+P or from menu View->Command Palette...)

  3. In command box Type "Terminal: Select Default Shell" to select this option from drop down. enter image description here
  4. As you select this option, then all the available commands which are in path will be listed below like below enter image description here

  5. Just click any one which you like to add for quick access from command list.

  6. Finally, in the terminal window, just click on + sign next to terminal list as shown below:- enter image description here

The terminal selected in step 5 will now added after performing step6 to the list without removal of earlier terminal.

  1. Repeat step 3-6 for adding any other terminal to command list.

To work with particular terminal just select the required one in the terminal list of the terminal window.

查看更多
我只想做你的唯一
3楼-- · 2019-01-13 11:25

In the terminal tab, there's a Split Terminal button. Works like a charm

查看更多
女痞
4楼-- · 2019-01-13 11:31

This can be done by adding a different key at the end. By just changing your example to:

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

Note that the key ...shell.windows is changed to ...shell.windows2 and ...shell.windows3.

Follow-up finding: I've noticed that once restart of the IDE, only the first terminal gets displayed. I had to reopen the settings and save it once to get both the terminals again. Will post if any better solution available.

查看更多
forever°为你锁心
5楼-- · 2019-01-13 11:35

There is a way to make this happens with these steps by installing an extension:

  1. Find an extension called Shell launcher and install it. Reload VS Code if you want or after you finished all steps.

  2. Go to Files --> Preferences --> Settings and this will open settings.json file and you then insert this (you can edit this to your heart's content):

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: You can use shellLauncher.shells.linux for Linux or shellLauncher.shells.osx for macOS.

  1. Go to Files --> Preferences --> Keyboard Shortcuts and then find on the top of the file to open keybindings.json file. Insert this:

Code:

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

PS: You can use any key combination but here I picked Ctrl + Alt + (backtick)` for myself.

You can reload your VS Code and click the key combination you have assigned and that will give you the option to choose which integrated terminal you want to use.

enter image description here

For more details, please check the official site: https://marketplace.visualstudio.com/items?itemName=Tyriar.shell-launcher

Enjoy!

查看更多
做自己的国王
6楼-- · 2019-01-13 11:35

For now VS Code support defining only one of available terminals as default at a time and you can not add multiple shell terminals.

If you don't want to install "Shell Launcher" plugin as suggested by @ian0411 then here is a quick way to change/select default terminal.

Press "Ctrl + Shift + P" to open the Command Palette.

Type "Terminal: Select Default Shell" and hit enter. You will be prompted to select Git Bash, PowerShell or Cmd as shown below:

Option to change preferred terminal shell

Note: This will change the default shell terminal but there is no harm changing it whenever you need to use another.

BTW, if you need to switch only between Cmd & Powershell then you can type cmd or powershell (in already opened terminal) to switch to desired terminal. But it would not work for Git Bash.

查看更多
Lonely孤独者°
7楼-- · 2019-01-13 11:35

No. Perhaps in the future. See https://github.com/Microsoft/vscode/issues/7504

If you use bash, you can use tmux to achieve something similar, as discussed in the issue linked above.

查看更多
登录 后发表回答