Is there a keyboard shortcut (or combination of keystrokes) that would let me switch tasks on this toolbar in VS Code?
or this one?
Alternatively, is there a better workflow for debugging shared client/server code that requires two debugging sessions than doing it all in one view?
Update 2: In v1.70 Insiders now there is a new command for switching debug sessions:
Debug: Select Debug Session
workbench.action.debug.selectDebugSession
It is unbound to a keybinding by default.
It brings up a quick pick panel of running debug sessions plus the option to Start a new debug session
which when chosen displys the available launch configurations.
Update: According to this issue commands are being added to switch debug consoles. May be in vscode v1.69. See add keyboard shortcuts to navigate debug consoles
Use CTRL+PgUp (or CTRL+SHIFT+[ on mac) to move to the previous console. The command
Debug: Focus Previous Debug Console
should do the same thing.Use CTRL+PgDn (or CTRL+SHIFT+] on mac) to move to the next console. The command
Debug: Focus Next Debug Console
should do the same thing.
Previous answer
I don't think there is an easy way to switch debug sessions by keystroke yet. See UI Issues with two simultaneous client/server debug sessions, switching debug sessions: issue is a backlog candidate, upvote it. Also https://github.com/microsoft/vscode/issues/39560 and https://github.com/microsoft/vscode/issues/108844.
In the meantime, for my extension upon request by a user I created a command to go to the next or previous debug session, see https://github.com/ArturoDent/launch-config/issues/11#issuecomment-1013606260 - but since there is no real supported way to do so it is a bit of a hack but does work.
Outside of my extension you can package the commands yourself via a macro extension like multi-command.
Try these keybindings:
{
"key": "alt+k", // whatever keybinding you want
"command": "extension.multiCommand.execute",
"args": {
"sequence": [
"workbench.debug.action.focusCallStackView",
"list.selectAll",
"list.collapseAll",
"list.focusPageDown", // focus next debug session
"list.select"
]
},
},
{
"key": "alt+i", // whatever keybinding you want
"command": "extension.multiCommand.execute",
"args": {
"sequence": [
"workbench.debug.action.focusCallStackView",
"list.selectAll",
"list.collapseAll",
"list.focusPageUp", // focus previous debug session
"list.select"
]
},
}