If you have terminal.integrated.sendKeybindingsToShell": true
in your settings.json file, consider removing that or setting it to false
. The description of that setting reads as follow:
Dispatches most keybindings to the terminal instead of the workbench, overriding terminal.integrated.commandsToSkipShell
, which can be used alternatively for fine tuning.
If it is already set to false
(the default value), this is perplexing. This sounds like the terminal.integrated.commandsToSkipShell
setting's default value isn't doing it's job, which makes me wonder if you overrode it.
The description of that setting reads as follows:
A set of command IDs whose keybindings will not be sent to the shell but instead always be handled by VS Code. This allows keybindings that would normally be consumed by the shell to act instead the same as when the terminal is not focused, for example Ctrl+P
to launch Quick Open.
Many commands are skipped by default. To override a default and pass that command's keybinding to the shell instead, add the command prefixed with the -
character. For example add -workbench.action.quickOpen
to allow Ctrl+P
to reach the shell.
The following list of default skipped commands is truncated when viewed in Settings Editor. To see the full list, open the default settings JSON and search for the first command from the list below.
Default Skipped Commands:
- [...]
- workbench.action.togglePanel
So I would suggest that you check all your settings.json files (user-level settings.json, workspace .vscode/settings.json, and .code-workspace file if you are in a multi-root workspace) and see if you have something like the following in it anywhere:
"terminal.integrated.commandsToSkipShell": [
"-workbench.action.togglePanel",
],