Default keyboard shortcuts reference
VS Code comes with a set of default keyboard shortcuts. This article lists the default keyboard shortcuts in VS Code.
You can also view the default shortcuts in the product:
- Open the Keyboard Shortcuts editor, and then select Show System Keybindings in the More Actions (...) menu.
- Select Preferences: Open Default Keyboard Shortcuts (JSON) in the Command Palette.
Note
The following keys are rendered assuming a standard US keyboard layout. Get more information about using a different keyboard layout.
Some commands included below do not have default keyboard shortcuts and so are displayed as unassigned but you can assign your own keyboard shortcuts.
Basic Editing
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 Render Whitespace | toggleRenderWhitespace |
|
Toggle Word Wrap | ⌥Z (Windows, Linux Alt+Z) | editor.action.toggleWordWrap |
Rich Languages Editing
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 |
Navigation
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 |
Editor/Window Management
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 |
Cycle Between Editor Groups | workbench.action.navigateEditorGroups |
|
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 | workbench.action.focusPreviousGroup |
|
Focus into Editor Group on the Right | workbench.action.focusNextGroup |
|
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 |
File Management
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 Others | ⌥⌘T (Windows, Linux ) | workbench.action.closeOtherEditors |
Close Group | ⌘K W (Windows, Linux Ctrl+K W) | workbench.action.closeEditorsInGroup |
Close Other Groups | workbench.action.closeEditorsInOtherGroups |
|
Close Group to Left | workbench.action.closeEditorsToTheLeft |
|
Close Group to Right | workbench.action.closeEditorsToTheRight |
|
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 |
Show Opened File in New Window | workbench.action.files.showOpenedFileInNewWindow |
|
Compare Opened File With | workbench.files.action.compareFileWith |
Display
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.showPreview |
Open Preview to the Side | ⌘K V (Windows, Linux Ctrl+K V) | markdown.showPreviewToSide |
Toggle Integrated Terminal | ⌃` (Windows, Linux Ctrl+`) | workbench.action.terminal.toggleTerminal |
Search
Command | Key | Command id |
---|---|---|
Show Search | ⇧⌘F (Windows, Linux Ctrl+Shift+F) | workbench.view.search |
Replace in Files | ⇧⌘H (Windows, Linux Ctrl+Shift+H) | workbench.action.replaceInFiles |
Toggle Match Case | ⌥⌘C (Windows, Linux Alt+C) | toggleSearchCaseSensitive |
Toggle Match Whole Word | ⌥⌘W (Windows, Linux Alt+W) | toggleSearchWholeWord |
Toggle Use Regular Expression | ⌥⌘R (Windows, Linux Alt+R) | toggleSearchRegex |
Toggle Search Details | ⇧⌘J (Windows, Linux Ctrl+Shift+J) | workbench.action.search.toggleQueryDetails |
Focus Next Search Result | F4 | search.action.focusNextSearchResult |
Focus Previous Search Result | ⇧F4 (Windows, Linux Shift+F4) | search.action.focusPreviousSearchResult |
Show Next Search Term | ↓ (Windows, Linux Down) | history.showNext |
Show Previous Search Term | ↑ (Windows, Linux Up) | history.showPrevious |
Search Editor
Command | Key | Command id |
---|---|---|
Open Results In Editor | ⌘Enter (Windows, Linux Alt+Enter) | search.action.openInEditor |
Focus Search Editor Input | Escape | search.action.focusQueryEditorWidget |
Search Again | ⇧⌘R (Windows, Linux Ctrl+Shift+R) | rerunSearchEditorSearch |
Delete File Results | ⇧⌘Backspace (Windows, Linux Ctrl+Shift+Backspace) | search.searchEditor.action.deleteFileResults |
Preferences
Command | Key | Command id |
---|---|---|
Open Settings | ⌘, (Windows, Linux Ctrl+,) | workbench.action.openSettings |
Open Workspace Settings | workbench.action.openWorkspaceSettings |
|
Open Keyboard Shortcuts | ⌘K ⌘S (Windows, Linux Ctrl+K Ctrl+S) | workbench.action.openGlobalKeybindings |
Open User Snippets | workbench.action.openSnippets |
|
Select Color Theme | ⌘K ⌘T (Windows, Linux Ctrl+K Ctrl+T) | workbench.action.selectTheme |
Configure Display Language | workbench.action.configureLocale |
Debug
Command | Key | Command id |
---|---|---|
Toggle Breakpoint | F9 | editor.debug.action.toggleBreakpoint |
Start | F5 | workbench.action.debug.start |
Continue | F5 | workbench.action.debug.continue |
Start (without debugging) | ⌃F5 (Windows, Linux Ctrl+F5) | workbench.action.debug.run |
Pause | F6 | workbench.action.debug.pause |
Step Into | F11 | workbench.action.debug.stepInto |
Tasks
Command | Key | Command id |
---|---|---|
Run Build Task | ⇧⌘B (Windows, Linux Ctrl+Shift+B) | workbench.action.tasks.build |
Run Test Task | workbench.action.tasks.test |
Extensions
Command | Key | Command id |
---|---|---|
Install Extension | workbench.extensions.action.installExtension |
|
Show Installed Extensions | workbench.extensions.action.showInstalledExtensions |
|
Show Outdated Extensions | workbench.extensions.action.listOutdatedExtensions |
|
Show Recommended Extensions | workbench.extensions.action.showRecommendedExtensions |
|
Show Popular Extensions | workbench.extensions.action.showPopularExtensions |
|
Update All Extensions | workbench.extensions.action.updateAllExtensions |