VS Code comes with a set of default keyboard shortcuts. This article lists common default keyboard shortcuts in VS Code.
For a full list of keyboard shortcuts, use either of these options within VS Code:
Command
Key
Command id
| Cut line (empty selection) |
⌘X (Windows, Linux Ctrl+X) |
editor.action.clipboardCutAction |
| Copy line (empty selection) |
⌘C (Windows, Linux Ctrl+C) |
editor.action.clipboardCopyAction |
| Paste |
⌘V (Windows, Linux Ctrl+V) |
editor.action.clipboardPasteAction |
| Delete Line |
⇧⌘K (Windows, Linux Ctrl+Shift+K) |
editor.action.deleteLines |
| Insert Line Below |
⌘Enter (Windows, Linux Ctrl+Enter) |
editor.action.insertLineAfter |
| Insert Line Above |
⇧⌘Enter (Windows, Linux Ctrl+Shift+Enter) |
editor.action.insertLineBefore |
| Move Line Down |
⌥↓ (Windows, Linux Alt+Down) |
editor.action.moveLinesDownAction |
| Move Line Up |
⌥↑ (Windows, Linux Alt+Up) |
editor.action.moveLinesUpAction |
| Copy Line Down |
⇧⌥↓ (Windows Shift+Alt+Down, Linux Ctrl+Shift+Alt+Down) |
editor.action.copyLinesDownAction |
| Copy Line Up |
⇧⌥↑ (Windows Shift+Alt+Up, Linux Ctrl+Shift+Alt+Up) |
editor.action.copyLinesUpAction |
| Undo |
⌘Z (Windows, Linux Ctrl+Z) |
undo |
| Redo |
⇧⌘Z (Windows, Linux Ctrl+Y) |
redo |
| Add Selection To Next Find Match |
⌘D (Windows, Linux Ctrl+D) |
editor.action.addSelectionToNextFindMatch |
| Move Last Selection To Next Find Match |
⌘K ⌘D (Windows, Linux Ctrl+K Ctrl+D) |
editor.action.moveSelectionToNextFindMatch |
| Undo last cursor operation |
⌘U (Windows, Linux Ctrl+U) |
cursorUndo |
| Insert cursor at end of each line selected |
⇧⌥I (Windows, Linux Shift+Alt+I) |
editor.action.insertCursorAtEndOfEachLineSelected |
| Select all occurrences of current selection |
⇧⌘L (Windows, Linux Ctrl+Shift+L) |
editor.action.selectHighlights |
| Select all occurrences of current word |
⌘F2 (Windows, Linux Ctrl+F2) |
editor.action.changeAll |
| Select current line |
⌘L (Windows, Linux Ctrl+L) |
expandLineSelection |
| Insert Cursor Below |
⌥⌘↓ (Windows Ctrl+Alt+Down, Linux Shift+Alt+Down) |
editor.action.insertCursorBelow |
| Insert Cursor Above |
⌥⌘↑ (Windows Ctrl+Alt+Up, Linux Shift+Alt+Up) |
editor.action.insertCursorAbove |
| Jump to matching bracket |
⇧⌘\ (Windows, Linux Ctrl+Shift+\) |
editor.action.jumpToBracket |
| Indent Line |
⌘] (Windows, Linux Ctrl+]) |
editor.action.indentLines |
| Outdent Line |
⌘[ (Windows, Linux Ctrl+[) |
editor.action.outdentLines |
| Go to Beginning of Line |
Home |
cursorHome |
| Go to End of Line |
End |
cursorEnd |
| Go to End of File |
⌘↓ (Windows, Linux Ctrl+End) |
cursorBottom |
| Go to Beginning of File |
⌘↑ (Windows, Linux Ctrl+Home) |
cursorTop |
| Scroll Line Down |
⌃PageDown (Windows, Linux Ctrl+Down) |
scrollLineDown |
| Scroll Line Up |
⌃PageUp (Windows, Linux Ctrl+Up) |
scrollLineUp |
| Scroll Page Down |
⌘PageDown (Windows, Linux Alt+PageDown) |
scrollPageDown |
| Scroll Page Up |
⌘PageUp (Windows, Linux Alt+PageUp) |
scrollPageUp |
| Fold (collapse) region |
⌥⌘[ (Windows, Linux Ctrl+Shift+[) |
editor.fold |
| Unfold (uncollapse) region |
⌥⌘] (Windows, Linux Ctrl+Shift+]) |
editor.unfold |
| Toggle Fold region |
⌘K ⌘L (Windows, Linux Ctrl+K Ctrl+L) |
editor.toggleFold |
| Fold (collapse) all subregions |
⌘K ⌘[ (Windows, Linux Ctrl+K Ctrl+[) |
editor.foldRecursively |
| Unfold (uncollapse) all subregions |
⌘K ⌘] (Windows, Linux Ctrl+K Ctrl+]) |
editor.unfoldRecursively |
| Fold (collapse) all regions |
⌘K ⌘0 (Windows, Linux Ctrl+K Ctrl+0) |
editor.foldAll |
| Unfold (uncollapse) all regions |
⌘K ⌘J (Windows, Linux Ctrl+K Ctrl+J) |
editor.unfoldAll |
| Add Line Comment |
⌘K ⌘C (Windows, Linux Ctrl+K Ctrl+C) |
editor.action.addCommentLine |
| Remove Line Comment |
⌘K ⌘U (Windows, Linux Ctrl+K Ctrl+U) |
editor.action.removeCommentLine |
| Toggle Line Comment |
⌘/ (Windows, Linux Ctrl+/) |
editor.action.commentLine |
| Toggle Block Comment |
⇧⌥A (Windows Shift+Alt+A, Linux Ctrl+Shift+A) |
editor.action.blockComment |
| Find |
⌘F (Windows, Linux Ctrl+F) |
actions.find |
| Replace |
⌥⌘F (Windows, Linux Ctrl+H) |
editor.action.startFindReplaceAction |
| Find Next |
Enter |
editor.action.nextMatchFindAction |
| Find Previous |
⇧Enter (Windows, Linux Shift+Enter) |
editor.action.previousMatchFindAction |
| Select All Occurrences of Find Match |
⌥Enter (Windows, Linux Alt+Enter) |
editor.action.selectAllMatches |
| Toggle Find Case Sensitive |
⌥⌘C (Windows, Linux Alt+C) |
toggleFindCaseSensitive |
| Toggle Find Regex |
⌥⌘R (Windows, Linux Alt+R) |
toggleFindRegex |
| Toggle Find Whole Word |
⌥⌘W (Windows, Linux Alt+W) |
toggleFindWholeWord |
| Toggle Use of Tab Key for Setting Focus |
⌃⇧M (Windows, Linux Ctrl+M) |
editor.action.toggleTabFocusMode |
| Toggle Word Wrap |
⌥Z (Windows, Linux Alt+Z) |
editor.action.toggleWordWrap |
Command
Key
Command id
| Trigger Suggest |
⌃Space (Windows, Linux Ctrl+Space) |
editor.action.triggerSuggest |
| Trigger Parameter Hints |
⇧⌘Space (Windows, Linux Ctrl+Shift+Space) |
editor.action.triggerParameterHints |
| Format Document |
⇧⌥F (Windows Shift+Alt+F, Linux Ctrl+Shift+I) |
editor.action.formatDocument |
| Format Selection |
⌘K ⌘F (Windows, Linux Ctrl+K Ctrl+F) |
editor.action.formatSelection |
| Go to Definition |
F12 |
editor.action.revealDefinition |
| Show Hover |
⌘K ⌘I (Windows, Linux Ctrl+K Ctrl+I) |
editor.action.showHover |
| Peek Definition |
⌥F12 (Windows Alt+F12, Linux Ctrl+Shift+F10) |
editor.action.peekDefinition |
| Open Definition to the Side |
⌘K F12 (Windows, Linux Ctrl+K F12) |
editor.action.revealDefinitionAside |
| Quick Fix |
⌘. (Windows, Linux Ctrl+.) |
editor.action.quickFix |
| Go to References |
⇧F12 (Windows, Linux Shift+F12) |
editor.action.goToReferences |
| Rename Symbol |
F2 |
editor.action.rename |
| Replace with Next Value |
⇧⌘. (Windows, Linux Ctrl+Shift+.) |
editor.action.inPlaceReplace.down |
| Replace with Previous Value |
⇧⌘, (Windows, Linux Ctrl+Shift+,) |
editor.action.inPlaceReplace.up |
| Expand AST Selection |
⌃⇧⌘→ (Windows, Linux Shift+Alt+Right) |
editor.action.smartSelect.expand |
| Shrink AST Selection |
⌃⇧⌘← (Windows, Linux Shift+Alt+Left) |
editor.action.smartSelect.shrink |
| Trim Trailing Whitespace |
⌘K ⌘X (Windows, Linux Ctrl+K Ctrl+X) |
editor.action.trimTrailingWhitespace |
| Change Language Mode |
⌘K M (Windows, Linux Ctrl+K M) |
workbench.action.editor.changeLanguageMode |
Command
Key
Command id
| Show All Symbols |
⌘T (Windows, Linux Ctrl+T) |
workbench.action.showAllSymbols |
| Go to Line... |
⌃G (Windows, Linux Ctrl+G) |
workbench.action.gotoLine |
| Go to File..., Quick Open |
⌘P (Windows, Linux Ctrl+P) |
workbench.action.quickOpen |
| Go to Symbol... |
⇧⌘O (Windows, Linux Ctrl+Shift+O) |
workbench.action.gotoSymbol |
| Show Problems |
⇧⌘M (Windows, Linux Ctrl+Shift+M) |
workbench.actions.view.problems |
| Go to Next Error or Warning |
F8 |
editor.action.marker.nextInFiles |
| Go to Previous Error or Warning |
⇧F8 (Windows, Linux Shift+F8) |
editor.action.marker.prevInFiles |
| Show All Commands |
⇧⌘P (Windows, Linux Ctrl+Shift+P) or F1 |
workbench.action.showCommands |
| Navigate Editor Group History |
⌃Tab (Windows, Linux Ctrl+Tab) |
workbench.action.quickOpenPreviousRecentlyUsedEditorInGroup |
| Go Back |
⌃- (Windows Alt+Left, Linux Ctrl+Alt+-) |
workbench.action.navigateBack |
| Go back in Quick Input |
⌃- (Windows Alt+Left, Linux Ctrl+Alt+-) |
workbench.action.quickInputBack |
| Go Forward |
⌃⇧- (Windows Alt+Right, Linux Ctrl+Shift+-) |
workbench.action.navigateForward |
| Focus Breadcrumbs |
⇧⌘; (Windows, Linux Ctrl+Shift+;) |
breadcrumbs.focus |
| Focus and Select Breadcrumbs |
⇧⌘. (Windows, Linux Ctrl+Shift+.) |
breadcrumbs.focusAndSelect |
Command
Key
Command id
| New Window |
⇧⌘N (Windows, Linux Ctrl+Shift+N) |
workbench.action.newWindow |
| Close Window |
⇧⌘W (Windows, Linux Alt+F4) |
workbench.action.closeWindow |
| Close Editor |
⌘W (Windows Ctrl+F4, Linux Ctrl+W) |
workbench.action.closeActiveEditor |
| Close Folder |
⌘K F (Windows, Linux Ctrl+K F) |
workbench.action.closeFolder |
| Split Editor |
⌘\ (Windows, Linux Ctrl+\) |
workbench.action.splitEditor |
| Focus into First Editor Group |
⌘1 (Windows, Linux Ctrl+1) |
workbench.action.focusFirstEditorGroup |
| Focus into Second Editor Group |
⌘2 (Windows, Linux Ctrl+2) |
workbench.action.focusSecondEditorGroup |
| Focus into Third Editor Group |
⌘3 (Windows, Linux Ctrl+3) |
workbench.action.focusThirdEditorGroup |
| Focus into Editor Group on the Left |
⌘K ⌘← (Windows, Linux Ctrl+K Ctrl+Left) |
workbench.action.focusLeftGroup |
| Focus into Editor Group on the Right |
⌘K ⌘→ (Windows, Linux Ctrl+K Ctrl+Right) |
workbench.action.focusRightGroup |
| Move Editor Left |
⌘K ⇧⌘← (Windows, Linux Ctrl+Shift+PageUp) |
workbench.action.moveEditorLeftInGroup |
| Move Editor Right |
⌘K ⇧⌘→ (Windows, Linux Ctrl+Shift+PageDown) |
workbench.action.moveEditorRightInGroup |
| Move Active Editor Group Left |
⌘K ← (Windows, Linux Ctrl+K Left) |
workbench.action.moveActiveEditorGroupLeft |
| Move Active Editor Group Right |
⌘K → (Windows, Linux Ctrl+K Right) |
workbench.action.moveActiveEditorGroupRight |
| Move Editor into Next Group |
⌃⌘→ (Windows, Linux Ctrl+Alt+Right) |
workbench.action.moveEditorToNextGroup |
| Move Editor into Previous Group |
⌃⌘← (Windows, Linux Ctrl+Alt+Left) |
workbench.action.moveEditorToPreviousGroup |
Command
Key
Command id
| New File |
⌘N (Windows, Linux Ctrl+N) |
workbench.action.files.newUntitledFile |
| Open File... |
⌘O (Windows, Linux Ctrl+O) |
workbench.action.files.openFile |
| Save |
⌘S (Windows, Linux Ctrl+S) |
workbench.action.files.save |
| Save All |
⌥⌘S (Windows Ctrl+K S, Linux ) |
saveAll |
| Save As... |
⇧⌘S (Windows, Linux Ctrl+Shift+S) |
workbench.action.files.saveAs |
| Close |
⌘W (Windows Ctrl+F4, Linux Ctrl+W) |
workbench.action.closeActiveEditor |
| Close Group |
⌘K W (Windows, Linux Ctrl+K W) |
workbench.action.closeEditorsInGroup |
| Close All |
⌘K ⌘W (Windows, Linux Ctrl+K Ctrl+W) |
workbench.action.closeAllEditors |
| Reopen Closed Editor |
⇧⌘T (Windows, Linux Ctrl+Shift+T) |
workbench.action.reopenClosedEditor |
| Keep Open |
⌘K Enter (Windows, Linux Ctrl+K Enter) |
workbench.action.keepEditor |
| Copy Path of Active File |
⌘K P (Windows, Linux Ctrl+K P) |
workbench.action.files.copyPathOfActiveFile |
| Reveal Active File in Windows |
⌘K R (Windows, Linux Ctrl+K R) |
workbench.action.files.revealActiveFileInWindows |
Command
Key
Command id
| Toggle Full Screen |
⌃⌘F (Windows, Linux F11) |
workbench.action.toggleFullScreen |
| Toggle Zen Mode |
⌘K Z (Windows, Linux Ctrl+K Z) |
workbench.action.toggleZenMode |
| Leave Zen Mode |
Escape Escape |
workbench.action.exitZenMode |
| Zoom in |
⌘= (Windows, Linux Ctrl+=) |
workbench.action.zoomIn |
| Zoom out |
⌘- (Windows, Linux Ctrl+-) |
workbench.action.zoomOut |
| Reset Zoom |
⌘Numpad0 (Windows, Linux Ctrl+Numpad0) |
workbench.action.zoomReset |
| Toggle Sidebar Visibility |
⌘B (Windows, Linux Ctrl+B) |
workbench.action.toggleSidebarVisibility |
| Show Explorer / Toggle Focus |
⇧⌘E (Windows, Linux Ctrl+Shift+E) |
workbench.view.explorer |
| Show Search |
⇧⌘F (Windows, Linux Ctrl+Shift+F) |
workbench.view.search |
| Show Source Control |
⌃⇧G (Windows, Linux Ctrl+Shift+G) |
workbench.view.scm |
| Show Run |
⇧⌘D (Windows, Linux Ctrl+Shift+D) |
workbench.view.debug |
| Show Extensions |
⇧⌘X (Windows, Linux Ctrl+Shift+X) |
workbench.view.extensions |
| Show Output |
⇧⌘U (Windows Ctrl+Shift+U, Linux Ctrl+K Ctrl+H) |
workbench.action.output.toggleOutput |
| Quick Open View |
⌃Q (Windows Ctrl+Q, Linux ) |
workbench.action.quickOpenView |
| Open New Command Prompt |
⇧⌘C (Windows, Linux Ctrl+Shift+C) |
workbench.action.terminal.openNativeConsole |
| Toggle Markdown Preview |
⇧⌘V (Windows, Linux Ctrl+Shift+V) |
markdown.togglePreview |
| Open Preview to the Side |
⌘K V (Windows, Linux Ctrl+K V) |
markdown.showPreviewToSide |
| Toggle Integrated Terminal |
⌃` (Windows, Linux Ctrl+`) |
workbench.action.terminal.toggleTerminal |