Visual studio code how to add a keybinding for a command palette entry - visual-studio-code

For example, I would like to add a key binding Ctrl+R Ctrl+T for the entry:
Python: Run Python File In Terminal
Many thanks.

You can do that in the Preferences -> Keyboard Shortcuts section. Search for "Run Python File in Terminal", select the command and press the little + sign on the left.

You can start the process of creating a keybinding for a command in the command palette while in the command palette as of v1.52 (it is in the Insiders' Build now). A Gear icon has been added on the right of each command that you hover over. Click it. (To not use the mouse, arrow down or type to your desired command, hit Tab Tab to focus the Gear icon and hit Enter). Demo:

Related

Is there a Visual Studio Code command for Developer: Reload Webviews?

Is there a VSC command that is related to Developer: Reload Webviews?
It is the workbench.action.webview.reloadWebviewAction command.
You can confirm this if you open the Command Palette, search for the Developer: Reload Webviews command and hit the gear icon at right. It will open the Keyboard Shortcuts panel, filtered with #command:workbench.action.webview.reloadWebviewAction.
Hope this helps

How to unfreeze the terminal in VScode after CTRL+S?

I purposefully froze my terminal with CTRLS in visual studio code, so that I could inspect the fast log messages scrolling through. Normally, you can unfreeze it again with CTRLQ.
However, it seems that vscode catches this second shortcut and instead of unfreezing my terminal, it opens this popup in the middle of the screen - which disappears as soon as I release the keys...
This seems to be called the "Quick Open View".
I assume that there is a way to send the "unfreeze" signal to the terminal. How?
My solution for now was to detach tmux in vscode, then connect over ssh using a normal terminal, attach tmux, send the CTRLQ there, detach and exit again, and re-attach in vscode.
you can remove any shortcuts you want. go to file > preference > keyboard shortcuts
type "ctrl q"
and adapt as you wish
I also ran into this issue,
I found that if you go into File -> Preferences -> keyboard shortcuts
When you find the Ctrl-q shortcut, you can right click it and choose to remove it,
then the Ctrl-q will work to resume the terminal

How can I clear the terminal in Visual Studio Code?

I need to clean the contents of the terminal in Visual Studio Code.
Every time I use Maven, the output of the terminal is attached to the previous build, which is confusing me.
How do I clear the terminal window with some command or keyboard shortcut?
cls doesn't work; it only hides the text.
Use Ctrl+K. This goes clean your console in Visual Studio Code.
Per comments, in later versions of VSCode (1.29 and above) this shortcut is missing / needs to be created manually.
Navigate: File > Preferences > Keyboard Shortcuts
search for workbench.action.terminal.clear
If it has no mapping or you wish to change the mapping, continue; otherwise note & use the existing mapping
Double click on this entry & you'll be prompted for a key binding. Hold CTRL and tap K. Ctrl + K should now be listed. Press enter to save this mapping
Right click the entry and select Change when expression. Type terminalFocus then press enter.
That's it. Now, when the terminal is in focus and you press Ctrl+K you'll get the behaviour you'd have expected to get from running clear/cls.
Ctrl + Shift + P and select Terminal:clear
FOR VERSIONS AT AND ABOVE v1.32 SEE BELOW
Bindings for this command still need to be setup manually, even at v1.33.1, which I am at. The command is there under Terminal: Clear but the binding is blank. Here is how you can setup bindings in v1.32 and up.
Open up the Keyboard Shortcuts with Ctrl+K, Ctrl+S. Then click on the {} next to the Keyboard Shortcuts tab to open up the keybindings.json file.
After doing so, find some open space anywhere in the file, and type in the key bind below.
{
"key": "ctrl+k",
"command": "workbench.action.terminal.clear",
"when": "terminalFocus"
}
FOR VERSIONS UP TO v1.32 SEE BELOW
This is for Visual Studio Code v1.18 up to v1.32, I believe; I am on v1.29.1. Since apparently there are a whole lot of assumptions about the default bindings, here is how you set up a binding, then use it. Keep in mind this binding will completely delete all of the history in your terminal too.
Open up the Keyboard Shortcuts with Ctrl+K, Ctrl+S. Once you are in Keyboard Shortcuts, click on keybindings.json in the text that says ....open and edit keybindings.json. Then on the RIGHT side, in the keybindings.json, add this (make sure you put a comma before the first { if there are one or more bindings already):
{
"key": "ctrl+k",
"command": "workbench.action.terminal.clear",
"when": "terminalFocus"
}
FOR ALL VERSIONS
Remember, the "key": can be whatever binding you want. It doesn't HAVE to be Ctrl + K.
To use the keybinding, you must have focus in your terminal, and then do the binding.
To clear Terminal in VS Code simply press Ctrl + Shift + P key together this will open a command palette and type command Terminal: Clear. Also you will go to View in taskbar upper left corner of vs code and open Command pallete.
This will clear the terminal easily & work for any directory you have open in your terminal.
This is for Windows, also try if it works for Mac.
This is command is work in all VS code versions include latest version 1.52.1
Go to
File >Preferences >Keyboard shortcuts.
Search for "Terminal: clear"
By default no keyboard shortcut is assigned.
Just click on the Plus (+)icon in the banner and give the preferred
shortcut of your choice to clear the terminal.
I prefer to use ctrl+k as that shortcut is not assigned with any command.
2019 Update (Read in Full)
Shortcut
Mac: cmd + k
Windows: ctrl + k
TroubleShooting
If the shortcuts do not work for you, the most likely scenario is that either you or an extension you installed has added an open ended ctrl + k / cmd + k chord to another shortcut.
Open ended meaning, the shortcut does not have an explicit when clause that excludes terminal focus. There are two possible solutions here.
Solution 1:
If you added the shortcut, simply go to your keybindings.json file and add a when clause that does not include terminal focus. Example:
{
"key": "cmd+k cmd+c",
"command": "someCommandHere",
"when": "editorTextFocus",
}
Solution 2:
Alternatively, you can add the workbench.action.terminal.clear command to the very bottom of keybindings.json, ensuring it takes precedence over other shortcuts. It'd be wise to add a comment so you don't forget and later place new chords below it. Example:
// Keep this keybinding at very bottom of file to ensure terminal clearing.
{
"key": "cmd+k",
"command": "workbench.action.terminal.clear",
"when": "terminalFocus",
}
For additional information, check out this GitHub issue.
For a MacBook, it might not be Cmd + K...
There's a long discussion for cases where Cmd + K wouldn't work.
In my case, I made a quick fix with
cmd+K +cmd+ K
Go to menu Preferences -> Key shortcuts -> Search ('clear'). Change it from a single K to a double K...
Use Ctrl+K to clear the terminal.
But this is not possible in Linux Visual Studio Code.
For Linux you can do like below:
Via the command palette: ctrl+shift+p, "tclear"
To add this in shortcuts, copy paste this in keybinding file:
{
"key": "ctrl+k",
"command": "workbench.action.terminal.clear",
"when": "terminalFocus"
}
V1.33 won't accept ctrl + k to clear terminal (Windows).
You need to enable manually by adding below code in your keybiniding.json, it will override the defaults.
In your VSCode, press ctrl + shift + p, search for keyboard and click on Open Keyboard Shortcuts to open the keybindings.json file.
Note: If you open the Default one, it will show the default settings, but as this file is read-only, you can't edit it manually.
Paste the following script in keybindings.json
{
"key": "ctr+k",
"command": "workbench.action.terminal.clear",
"when": "terminalFocus"
}
Save the file.
Now your terminal will clear by crtl + k
To clear the terminal, using default keybindings on the newest version of VS-Code, you press CTRL-L.
You can use below to clear the screen in terminal:
cls;
or
clr
Right click on the terminal and select clear option (for ubuntu).
For mac just type clear
workbench.action.terminal.clear no longer works (at least for VS Code Insiders 1.54 on Mac)
The following is the way to now map CTRL+L yo the default console functionality.
{
"key": "ctrl+l",
"command": "workbench.action.terminal.sendSequence",
"args": {"text": "\u000c"},
"when": "terminalFocus"
}
If you're on a Mac, it's ⌘+k. :)
By default there is NO keybinding associated to clearing the terminal in VSCode. Therefore, one must add a NEW Keybinding by following the below steps:
Navigate: File --> Preferences --> Keyboard Shortcuts. (Or Ctrl + K and Ctrl + S together)
Type in the Search Bar on top: Terminal: Clear.
An entry with Command: Terminal:Clear will show up with the following VSCode command workbench.action.terminal.clear.
Right Click on it and press Change Keybinding. Then press Ctrl + K together and then Enter. It will be saved.
Right Click again and press Change When Expression. Just enter: terminalFocus. It will be saved.
Finally, open your integrated terminal and with focus inside the terminal, press Ctrl + K.
Navigate in VS code: File > Preferences > Keyboard Shortcuts
search for workbench.action.terminal.clear
Double click on this entry & you'll be prompted for key binding. Hold CTRL and tap L. Ctrl + L should now be listed. Press enter to save this mapping
That's it.
The accepted answer should be the following which was unmultimedio's comment to one of the answers above:
Cmd+K will work, you just need to set again in the Keyboard Shortcuts
the workbench.action.terminal.clear to Cmd+K, so it shows as Source:
User instead of Source: Default – unmultimedio Mar 12 '19 at 1:13
Just click the gear button on the left-bottom side on the VS code screen
then Search for "Terminal: clear"
By default no keyboard shortcut is assigned.
Just double click the Terminal: Clear
and give the preferred shortcut of your choice to clear the terminal.
Usually ctrl+k is used as that shortcut is not assigned with any command.
FYI: This method is the same as #SuRa but is a little simpler.
Btw: I use VS Code version 1.43.0
I am using Visual Studio Code 1.52.1 on windows 10 machine.'cls' or 'Clear' doesn't clear the terminal.
just write
exit
It will close the terminal and press
ctrl+shift+`
to open new terminal.
You can change from settings menu (at least from version 1.30.2 and above)...
On Mac, just hit Code > Preferences > Settings.
Then just search for "clear" and check Clear Previous Output.
The Code Runner extension has a setting "Clear previous output", which is what I need 95% of the time.
File > Preferences > Settings > (search for "output") > Code-runner: Clear previous output
The remaining few times I will disable the setting and use the "Clear output" button (top right of the output pane) to selectively clear accumulated output.
This is in Visual Studio Code 1.33.1 with Code Runner 0.9.8.
(Setting the keybinding for Ctrl+k did not work for me, presumably because some extension has defined "chords" beginning with Ctrl-k. But "Clear previous output" was actually a better option for me.)
Select Open Keyboard Shortcuts from command palette and put following to keyboard shortcuts file:
{
"key": "cmd+k",
"command": "workbench.action.terminal.clear",
"when": "terminalFocus"
}
F1 key opens the shortcuts for me using windows 10. Then type Terminal and you see the clear option.
In kde's konsole there is an action called "clear scrollback". It not only clears the terminal as usual, but also deletes the previous lines, so that you cannot scroll back and be confused.
I found in vs codium you can open Settings, search for terminal. Then go to Debugging, Debug - Terminal - Clear Before Reusing.
Set checkbox there, and every time you start a new debugging, the terminal scrollback history will not bother you.
To permanently delete the previous commands, use this
Set-PSReadlineOption -HistoryNoDuplicates
Remove-Item (Get-PSReadlineOption).HistorySavePath
Alt-f7
paste this command -
Remove-Item (Get-PSReadlineOption).HistorySavePath
in your powershell and start new powershell and its found cleared
for further details check this link # https://www.shellhacks.com/clear-history-powershell/
I'm running the June 2020 update of Visual Studio Code. I was looking for a simple way to clear the history of Terminal output from a Python script. Killing the Terminal via clicking on the trash can icon on the upper right did what I needed, and my Conda environment automatically reactivated.
Try typing in 'cls', if that doesn't work, type 'Clear' capital C. No quotes for any. Hope this helps.
I am using Visual Studio Code 1.38.1 on windows 10 machine.
Tried the below steps:
exit()
PS C:\Users\username> Cls
PS C:\Users\username>python
just type 'clear' in the terminal (windows)
or ctrl+shift+p and
on mac - right click

Visual Studio Code, how to switch from powershell.exe to cmd.exe

I would like to switch from powershell.exe to cmd.exe in the terminal but i'm not sure how to do so. Provided screenshot for clarification.
Press Ctrl+Shift+P to show all commands.
Type profile in the displayed text box to filter the list.
Select Terminal: Select Default Profile.
You will be prompted to Select your preferred terminal shell, you can change this later in your settings or follow the same process as we do now
Select Command Prompt (cmd.exe)
Click the Delete Icon in the shell pane to remove the existing terminal.
Press Ctrl+` (or View > Terminal in menu) to open a new terminal pane.
Add this user settings to your File -- Prefernces -- User Settings
// Place your settings in this file to overwrite the default settings
{
"terminal.integrated.shell.windows": "C:\\Windows\\System32\\cmd.exe",
}
2021 Update:
Hit Ctrl+Shift+P
Type/Paste : Terminal: Select Default Profile
Select the command prompt from the drop down list.
Thanks! :)
I found two different ways to switch from powershell to command prompt in VSCode.
Very simple steps i found my self as below:
First one is very simple way:
Press Ctrl+` (or View > Terminal in menu) to open a
new terminal pane.
Click terminal selection dropdown and click 'Select Default Shell'.
Choose terminal type Command Prompt or PowerShell
Now Delete current opened terminal or open new terminal.
Now, Command Prompt will be your default shell in VSCode.
Second one is also simple and handy for all devs.
Press Ctrl+Shift+P to show all commands.
Type shell in the displayed text box to filter the list.
Select Terminal: Select Default Shell.
You will be prompted to Select your preferred terminal shell, you can change this later in your settings or follow the same process as we do now
Select Command Prompt (cmd.exe)
Click the Delete Icon in the shell pane to remove the existing terminal.
Press Ctrl+` (or View > Terminal in menu) to open a new terminal pane.
open settings (ctrl+comma)
find terminal.integrated.shell.windows
replace its value with C:\\Windows\\System32\\cmd.exe
I also faced this problem that when I clicked on terminal. It was showing Powershell but not Command Prompt, so I did the following steps to get Command Prompt in Visual Studio:
View -> Command palette -> Toggle Integrated Terminal
Open terminal by shortcut ctrl+`
or View -> terminal
Write the command as cmd.exe and run
In the current terminal ,simply type cmd and enter. And you are done.
From Visual Studio if you have powershell set as your default integrated terminal, after you call it with Ctrl-` (control backtick) - that toggles from the terminal to your files panel and back. Call the terminal, It will show as 1: pwsh in the dropdown box. From the powershell command line type bash and enter. You have your bash prompt $. In the dropdown you now see 1: bash.
You can type cmd from either the ps C: or the $ bash prompt and open the windows command prompt. C:> and exit to exit them.
You can open up multiple terminals. Say powershell (pwsh) is your default one. A new terminal will show as 2: pwsh which you can change to a cmd one. The same if you open a third. Change it to bash. You now have 3 terminals 1: pwsh, 2: cmd, and 3: bash. You can select whichever one you want to work with from the dropdown. You can of course exit any of them.
No doubt you've seen that when you are running node.js, the terminal becomes node.

How to open a shell command prompt inside Visual Studio Code?

When using Visual Studio Code, how do I run command-line programs, such as a choco (Chocolatey) command? Do I need to have a separate Command Line (CMD.exe) running outside VS Code, or is there a hotkey/window within Code where I can run those commands?
I see the "Command Palette", but it is not entirely clear what command engines run in that palette.
For integrated terminal use Ctrl+`
From the release notes:
With the May release, we are rolling out the initial version of an integrated terminal. You can open the terminal using Ctrl+`, from the View | Toggle Integrated Terminal menu, or from the View > Toggle Integrated Terminal command in the Command Palette.
https://web.archive.org/web/20160616204248/http://code.visualstudio.com/updates/#_workbench (the 1.2.0 May release in 2016)
Use CMD+Shift+C or CTRL+Shift+C but it will only open a new outside editor standard bash console.
I hope they will implement an integrated console.
Can open it with this menu options: View > Integrated Terminal
Default keyboard shortcut for integrated terminal is Ctrl+`
In vscode you can use multiple integrated terminals.
If you want open another one use Ctrl+Shift+`
vscode keys shortcuts are rendered assuming a standard US keyboard layout. If you use a different keyboard layout, please read how can see the representation in your current keyboard.
It's easy, open this menu options: File > Preferences > Keyboard Shortcuts
and on the Default Keyboard Shortcut search the command workbench.action.terminal.toggleTerminal then point you mouse to info icon and can see the combination. For me is Ctrl+ñ because I'm using Spanish keyboard layout.
Also it's cool create an personal shortcuts to toggle into terminals. Open this menu options: File > Preferences > Keyboard Shortcuts and on the keybinding.json tab put this:
[
{
"key": "ctrl+pageup",
"command": "workbench.action.terminal.focusNext",
"when": "terminalFocus"
},{
"key": "ctrl+pagedown",
"command": "workbench.action.terminal.focusPrevious",
"when": "terminalFocus"
}
]
Now when the cursor are focus on terminal, and have more than one terminal, you can navigate through every one with the combinations Ctrl+Page Down for previous terminal and Ctrl+Page Up for next terminal.
Tip: If you are focus on the editor, the same keyboard shortcuts can be used to navigate through tabs.
For mac Cmd + j
For win Ctrl + j
#brady321's answer is only for US keyboards:
Note: The following keys are rendered assuming a standard US keyboard layout.(https://code.visualstudio.com/Docs/customization/keybindings)
For instance, UK keyboards use Ctrl+':
You can find your shortcut in File > Preferences > Keyboard Shortcuts searching for workbench.action.terminal.toggleTerminal. If you're not using a US keyboard, it will show you the equivalent shortcut using your keyboard layout:
To check what the shortcut to open a native console looks like, try to find workbench.action.terminal.openNativeConsole in the shortcuts file.
More information about integrated terminal at: https://code.visualstudio.com/docs/editor/integrated-terminal
test with the Ctrl + J keys in ubuntu
As MCBL wrote, there is no integrated console. You can vote for this feature here: UserVoice - Integrated terminal <-- dead link.
3rd party Edit
Uservoice is no longer used and the link above is dead. The feature request for an integrated terminal might be this one.
In the contrary you may also run a terminal inside your visual studio code tool by simply doing the following:
Go to " View > Integrated Terminal " or use the shortcut key " Ctrl + ' "
I believe this is available on later versions of visual studio code. I could do this on version 1.7.0-insider.
Ctrl+ `
Integrated Terminal In Visual Studio Code, you can open an integrated
terminal, initially starting at the root of your workspace. This can
be very convenient as you don't have to switch windows or alter the
state of an existing terminal to perform a quick command line task.
To open the terminal:
Use the Ctrl+`keyboard shortcut with the backtick character.
Use the View | Toggle Integrated Terminal menu command. From the
Command
Palette (Ctrl+Shift+P), use the View:Toggle Integrated Terminal
command.
https://code.visualstudio.com/docs/editor/integrated-terminal
I am using vsCode 1.9.1. there are 2 ways as I know
You can easily open it by hitting Ctrl + ` key.
Go to View->Integrated Terminal like below image
Test this, This works for me
Ctrl + ñ
Ctrl + `
ctrl + j
On my UK MacBook, when I look in my keyboard shortcuts for VS Code (Code > Preferences > Keyboard Shortcuts), Toggle Integrated Terminal has the keybinding Crtl+`.
However, the shortcut works on Ctrl+§, which is the key on my MacBook that is the same place as the ` on a UK Windows keyboard.
You can take the text editor of the Microsoft, but you can't take the etc, etc.
Go to File > Preferences > Keyboard Shortcuts or use shortcut Ctrl+K Ctrl+S.
Type to search in keybindings : workbench.action.terminal.new.
Double click on Keybinding and add the shortcut you want (Super+T is unused in default config).
Since the Debug Console does not support programs that need to read input from the console, you can enable an external, native console by setting the attribute externalConsole to true in your launch configuration.
lauch.json just write: "externalConsole" : true
I used custom shortcut. Add below keybind to the keybinds.json:
[
{
"key": "ctrl+,",
"command": "workbench.action.terminal.toggleTerminal"
}
]
To open keybinds.json
CTRL + SHIFT + P then type Keyboard and click to Open Keyboard Shortcuts
The best way to run command line programs is to use the terminal window provided inside VS Code. This way tou will not switch any apps. But to make switching between terminal and other windows I recommend the following :
To open up a terminal - Ctrl + `
To open up second terminal - when you are running a node script in the first terminal and it is blocked and you need to run second script at the same time - Ctrl + Shift + `
To focus/switch back on terminal without reopening :
Press F1 and then type keyboard shortcuts
Find workbench.action.terminal.focus and set it to Ctrl + \ - this slash is usually located right next to your right Ctrl key. This makes switching between code and terminal very easy because Ctrl + ` and Ctrl + \ are invoked with your right hand and index finger.
Switch the Integrated Terminal to CMD
Open the Integrated Terminal: Ctrl + `
If a Bash terminal is opened while you want a Command Prompt (cmd), simply run the command: cmd, in the terminal to switch it to Command Prompt.
Also for MAC its Ctrl+Shift+.
I prefer you to change to a custom one.
Open up Command Palette by Command+Shift+P.
Type 'Keyboard Shortcuts...' - Select Preferences: Open Keyboard Shortcuts
.
See Terminal: Create New Integrated Terminal option there. Double-tap it to change it to a custom one.
.
For me:
ctrl + shift + `
Seems to have done the trick with the default VSCode settings.
If you hover your cursor over the +-button to add a new terminal, you can actually see what you need to press for the shortcut.