Why isn't vscode using my default iTerm2 profile? - visual-studio-code

I know I can use settings like "terminal.integrated.fontFamily" to change the font and font size, but I'm confused why vscode isn't just loading my default iTerm2 profile? Shouldn't it be doing that?
I'm just using the default settings:
I already have vscode using iTerm:
But when I open the shell in vscode the font type is totally different.
Do I really need to maintain a separate vscode config or can vscode just load iTerm profiles?

If you are using "zsh" or "Oh my zsh", you can add the below line based on your OS to the VS Code settings.json:
Linux:
"terminal.integrated.defaultProfile.linux": "zsh"
macOS:
"terminal.integrated.defaultProfile.osx": "zsh"
Windows:
"terminal.integrated.defaultProfile.windows": "zsh"

Related

How to enable middle-mouse-button-click to paste selected text in vscode's terminal?

I have to use VSCode on Windows and when I open a bash terminal in VSCode, I can select text and paste it with a right-mouse-button-click.
I would like to change that to the middle-mouse-button-click just like it works on macos and Linux.
Is there a way to set VSCode/Codium like that?
The same problem (no middle-click paste) occurs when using VSCode on macos, opening a zsh terminal.
I am using VSCodium version 1.61.2
You should make a feature request at https://github.com/microsoft/vscode/issues.
Because this code checks for isLinux and ignores isMacintosh.

Shell not showing properlly in VSCode

I'm using zsh with the Powershell theme and I have a customized prompt that works properly in iTerm, but it's not displaying correctly in VSCode. I have already made the setting for the terminal to inherit.
iTerm prompt:
VSCode prompt:
Amy I missing a setting somewhere?
My iTerm was using a different font, I had to change the one in Visual Studio to match it.

How do I get around the verified bug in Windows 1903 and launch the VSCode integrated terminal?

I just did a fresh install of Windows 10 Pro version 1903 build 18362.116 and Visual Studio Code. Now the integrated terminal only launches externally.
Pressing Ctrl + ~ results in this.
What am I missing? How do I get it to open integrated again?
EDIT
After working with VSCode team it is a verified bug. See the Github issue here. I posted the workaround as an answer here.
OK, worked through this one in VSCode repo issues.
For now, until it's fixed, turn off ConPTY integration in the User Settings.
💥💥💥
The issue now says use legacy console. To change the setting open a cmd prompt. Right click the title to bring up properties.
Then Uncheck 'Use legacy console'
To change the integrated terminal on Windows, you just need to change the terminal.integrated.shell.windows line:
Open VS User Settings (Preferences > User Settings). This will open two side-by-side documents.
Check if "terminal.integrated.shell.windows" has value "C:\\Bin\\Cmder\\Cmder.exe" setting to the User Settings document on the right.
Remove this line.
Ctrl + ~ will now open integrated terminal of VSCode.
If the above solution doesn't work then can you try below values and check if it works for you:
// Command Prompt
"terminal.integrated.shell.windows": "C:\\Windows\\System32\\cmd.exe"
// PowerShell
"terminal.integrated.shell.windows": "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe"
// Git Bash
"terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe"
// Bash on Ubuntu (on Windows)
"terminal.integrated.shell.windows": "C:\\Windows\\System32\\bash.exe"
From the Command Palette (Ctrl+Shift+P), use the View: Toggle Integrated Terminal command.
Try custom shortcut:
[
{
"key": "ctrl+`",
"command": "workbench.action.terminal.toggleTerminal"
}
]
Had this problem fixed. Found the solution from the VS Code support.
for error:
Terminal exits with code 3221225786 (or similar)#
"This can happen when you have legacy console mode enabled in conhost's properties. To change this, open cmd.exe from the start menu, right-click the title bar, go to Properties and under the Options tab, uncheck Use legacy console."
source: VS Code docs

How to set mintty.exe as the default terminal on Windows?

I am trying to set the https://github.com/mintty/mintty terminal installed by Cygwin as the default Visual Studio Code terminal with:
"terminal.integrated.shell.windows": "D:\\Cygwin\\bin\\mintty.exe",
But it opens the Mintty.exe terminal on a new window, instead of show it as an embedded console.
Related thread I found about it:
How to change the integrated terminal in visual studio code or VSCode
How to Integrate babun shell in VS code
Is it possible to configure Babun/ZSH for the integrated terminal on Windows?
How to integrate terminal whth babun on windows?
You should use "D:\\Cygwin\\bin\\bash.exe" instead of mintty
cheers.
There are two terminal settings, you may want set them like this:
"terminal.external.windowsExec": "D:\\cygwin64\\bin\\mintty.exe",
"terminal.integrated.shell.windows": "D:\\cygwin64\\bin\\bash.exe",

zsh doesn't work in the vscode built-in terminal

echo $SHELL
logged: /bin/zsh
why the built-in shell is still bash
what should I config vscode the to make the zsh works in the built-in terminal?
For those who are using MAC
Launch Visual Studio Code and go to Settings.
In Settings, click on the features dropdown and then on Terminal
Click on edit in settings.json (the icon at the top right) and add this line of code to the user settings json file:
"terminal.integrated.shell.osx": "/bin/zsh"
then you must close that terminal with the trash icon.
that's it, now if you open another terminal you should see the ZSH terminal.
#Ale's answer is no longer valid! It should be used the following instead:
"terminal.integrated.defaultProfile.osx": "zsh"
You can set the terminal.integrated.shell.linux property as described here. If you need to pass arguments to zsh, use the terminal.integrated.shellArgs.linux property.
#ccoutinho updated Ale DC's answer to the proper path:
"terminal.integrated.defaultProfile.osx": "zsh"
But I also needed Ale DC's extra tip to trash the currently displayed embedded terminal (clicking the trash icon at the top right of the terminal tab). Otherwise I had one instance showing zsh and another refused to show zsh and it was driving me crazy.
Hope that helps.