Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
[
// default usefull:
// CTRL+J => bottom panel
// CTRL+S => can be used to pin a tab
// CTRL+MAJ+; => open breadcrumbs
// CTRL+D => add next occurence of current selection to selection
// ALT+C => navigate to next error
// SHIFT+F5 => stop debugging
// CTRL+ALT+(up/down) => multi select
// CTRL+R => switch workspaces
// ALT+(,/;) => switch between tabs ... add SHIFT to move them
// ALT+R => switch between search with/without regex
// ALT+SHIFT+0 => switch horiztonal / vertical split
// ALT+Scroll => fast scrolling
// ======= side panel
// CTRL+MAJ+D => debug panel
// CTRL+MAJ+T => test explorer
// ====== bottom panel
// CTRL+MAJ+ù => NEW console
// CTRL+ù => console
// CTRL+MAJ+M => errors panel
// CTRL+MAJ+U => output panel
// CTRL+MAJ+Y => debug console
// see other shortcuts for ideas (vim-like) https://dev.to/karlredman/navigate-your-vscode-like-its-1999-the-vim-way-3632
// === useful resources to do the same in Visual Studio (not vscode)
// https://stackoverflow.com/questions/39915998/visual-studio-control-window-positioning-with-hotkey
// Tabs behaviours https://superuser.com/questions/321858/assign-a-shortcut-for-next-tab-in-visual-studio
// => https://marketplace.visualstudio.com/items?itemName=VisualStudioPlatformTeam.CustomDocumentWell
// => or full productivity tools https://marketplace.visualstudio.com/items?itemName=VisualStudioPlatformTeam.ProductivityPowerPack2017
{
"key": "ctrl+shift+t",
"command": "test-explorer.focus"
},
{
"key": "f8",
"command": "editor.debug.action.runToCursor"
},
{
"key": "alt+shift+oem_comma",
"command": "workbench.action.moveEditorLeftInGroup",
},
{
"key": "alt+shift+oem_period",
"command": "workbench.action.moveEditorRightInGroup",
},
{
"key": "ctrl+f8",
"command": "debug.jumpToCursor"
},
{
"key": "alt+a",
"command": "workbench.action.navigateBack"
},
{
"key": "alt+p",
"command": "workbench.action.navigateForward"
},
{
"key": "ctrl+f5",
"command": "test-explorer.rerun"
},
{
"key": "ctrl+alt+f5",
"command": "test-explorer.redebug"
},
{
"key": "alt+shift+f5",
"command": "test-explorer.run-this-test"
},
{
"key": "ctrl+maj+t",
"command": "test-explorer.focus"
},
{
"key": "ctrl+n",
"command": "explorer.newFile"
},
{
"key": "ctrl+shift+down",
"command": "workbench.action.closeOtherEditors",
},
{
"key": "ctrl+shift+right",
"command": "workbench.action.closeEditorsToTheRight",
},
{
"key": "ctrl+shift+left",
"command": "workbench.action.closeEditorsToTheLeft",
},
{
"key": "ctrl+shift+up",
"command": "workbench.action.closeUnmodifiedEditors",
},
// navigate between panes
{
"key": "alt+q",
"command": "workbench.action.navigateLeft"
},
{
"key": "alt+d",
"command": "workbench.action.navigateRight"
},
{
"key": "alt+z",
"command": "workbench.action.navigateUp"
},
{
"key": "alt+s",
"command": "workbench.action.navigateDown"
},
// ace jump extension key binding (vim-like jump)
{
"key": "alt+f",
"command": "extension.jumpy-word"
// "command": "extension.aceJump"
// "command": "extension.aceJump.multiChar"
},
// move editor windows
// not to be confused with workbench.action.splitEditor(Up/Down/...)
{
"key": "alt+shift+q",
"command": "workbench.action.moveEditorToLeftGroup"
},
{
"key": "alt+shift+d",
"command": "workbench.action.moveEditorToRightGroup",
},
{
"key": "alt+shift+z",
"command": "workbench.action.moveEditorToAboveGroup",
},
{
"key": "alt+shift+s",
"command": "workbench.action.moveEditorToBelowGroup",
},
// cursor
{
"key": "alt+u",
"command": "cursorLeft",
"when": "!listFocus"
},
{
"key": "alt+o",
"command": "cursorRight",
"when": "!listFocus"
},
{
"key": "alt+j",
"command": "cursorWordPartLeft",
"when": "!listFocus"
},
{
"key": "alt+l",
"command": "cursorWordPartRight",
"when": "!listFocus"
},
{
"key": "alt+i",
"command": "cursorUp",
"when": "!listFocus"
},
{
"key": "alt+k",
"command": "cursorDown",
"when": "!listFocus"
},
{
"key": "alt+m",
"command": "cursorEnd",
"when": "!listFocus"
},
{
"key": "alt+oem_3",
"command": "cursorHome"
},
// page up/donw
{
"key": "alt+y",
"command": "cursorPageUp"
},
{
"key": "alt+h",
"command": "cursorPageDown"
},
// jump next error
{
"key": "alt+c",
"command": "editor.action.marker.next"
},
{
"key": "alt+e",
"command": "editor.action.marker.prev"
},
// cursor select
{
"key": "alt+shift+u",
"command": "cursorLeftSelect",
"when": "!listFocus"
},
{
"key": "alt+shift+o",
"command": "cursorRightSelect",
"when": "!listFocus"
},
{
"key": "alt+shift+l",
"command": "cursorWordRightSelect"
},
{
"key": "alt+shift+j",
"command": "cursorWordLeftSelect"
},
{
"key": "alt+shift+k",
"command": "cursorDownSelect"
},
{
"key": "alt+shift+y",
"command": "cursorPageUpSelect"
},
{
"key": "alt+shift+h",
"command": "cursorPageDownSelect"
},
{
"key": "alt+shift+i",
"command": "cursorUpSelect"
},
{
"key": "alt+shift+m",
"command": "cursorEndSelect"
},
{
"key": "alt+shift+oem_3",
"command": "cursorHomeSelect"
},
{
"key": "shift+alt+oem_plus",
"command": "editor.action.smartSelect.grow"
},{
"key": "shift+alt+oem_4",
"command": "editor.action.smartSelect.shrink"
},
{
"key": "capslock",
"command": "editor.action.smartSelect.grow",
"when": "editorTextFocus"
},
// delete line
// {
// "key": "ctrl+k",
// "command": "editor.action.deleteLines"
// },
// previous/next
{
"key": "alt+,",
"command": "workbench.action.previousEditor"
},
{
"key": "alt+oem_period",
"command": "workbench.action.nextEditor"
},
// file explorer bindings
{
"key": "space",
"command": "macros.previewAndFocusExplorer",
"when":"sideBarFocus && activeViewlet == 'workbench.view.explorer'"
},
{
"key": "alt+k",
"command": "list.focusDown",
"when": "listFocus"
},
{
"key": "alt+i",
"command": "list.focusUp",
"when": "listFocus"
},
{
"key": "enter",
"command": "list.select",
"when": "explorerViewletVisible && filesExplorerFocus"
},
{
"key": "alt+l",
"command": "list.toggleExpand",
"when": "listFocus"
},
// ===== other ====
{
"key": "ctrl+4",
"command": "editor.togglequotes",
"when": "editorTextFocus"
},
{
"key": "alt+down",
"command": "-editor.action.moveLinesDownAction",
"when": "editorTextFocus && !editorReadonly"
},
{
"key": "alt+up",
"command": "-editor.action.moveLinesUpAction",
"when": "editorTextFocus && !editorReadonly"
}
]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment