Visual Studio Code lets you perform most tasks directly from the keyboard. This page lists out the default bindings (keyboard shortcuts) and describes how you can update them.
Note: If you visit this page on a Mac, you will see the key bindings for the Mac. If you visit using Windows or Linux, you will see the keys for that platform. If you need the key bindings for another platform, hover your mouse over the key you are interested in.
Keyboard Shortcuts editor
Visual Studio Code provides a rich and easy keyboard shortcuts editing experience using Keyboard Shortcuts editor. It lists all available commands with and without keybindings and you can easily change / remove / reset their keybindings using the available actions. It also has a search box on the top that helps you in finding commands or keybindings. You can open this editor by going to the menu under File > Preferences > Keyboard Shortcuts. (Code > Preferences > Keyboard Shortcuts on macOS)
Most importantly, you can see keybindings according to your keyboard layout. For example, key binding Cmd+ in US keyboard layout will be shown as Ctrl+Shift+Alt+Cmd+7 when layout is changed to German. The dialog to enter key binding will assign the correct and desired key binding as per your keyboard layout.
For doing more advanced keyboard shortcut customization, read Advanced Customization.
Keymap extensions
Keyboard shortcuts are vital to productivity and changing keyboarding habits can be tough. To help with this, File > Preferences > Migrate Keyboard Shortcuts from… shows you a list of popular keymap extensions. These extensions modify the VS Code shortcuts to match those of other editors so you don’t need to learn new keyboard shortcuts. There is also a Keymaps category of extensions in the Marketplace.
Tip: Click on an extension tile above to read the description and reviews to decide which extension is best for you. See more in the Marketplace.
Keyboard Shortcuts Reference
We also have a printable version of these keyboard shortcuts. Help > Keyboard Shortcut Reference displays a condensed PDF version suitable for printing as an easy reference.
Below are links to the three platform-specific versions (US English keyboard):
- Windows
- macOS
- Linux
Detecting keybinding conflicts
If you have many extensions installed or you have customized your keyboard shortcuts, you can sometimes have keybinding conflicts where the same keyboard shortcut is mapped to several commands. This can result in confusing behavior, especially if different keybindings are going in and out of scope as you move around the editor.
The Keyboard Shortcuts editor has a context menu command Show Same Keybindings, which will filter the keybindings based on a keyboard shortcut to display conflicts.
Pick a command with the keybinding you think is overloaded and you can see if multiple commands are defined, the source of the keybindings and when they are active.
Troubleshooting keybindings
To troubleshoot keybindings problems, you can execute the command Developer: Toggle Keyboard Shortcuts Troubleshooting. This will activate logging of dispatched keyboard shortcuts and will open an output panel with the corresponding log file.
You can then press your desired keybinding and check what keyboard shortcut VS Code detects and what command is invoked.
For example, when pressing cmd+/
in a code editor on macOS, the logging output would be:
[KeybindingService]: / Received keydown event - modifiers: [meta], code: MetaLeft, keyCode: 91, key: Meta
[KeybindingService]: | Converted keydown event - modifiers: [meta], code: MetaLeft, keyCode: 57 ('Meta')
[KeybindingService]: Keyboard event cannot be dispatched.
[KeybindingService]: / Received keydown event - modifiers: [meta], code: Slash, keyCode: 191, key: /
[KeybindingService]: | Converted keydown event - modifiers: [meta], code: Slash, keyCode: 85 ('/')
[KeybindingService]: | Resolving meta+[Slash]
[KeybindingService]: From 2 keybinding entries, matched editor.action.commentLine, when: editorTextFocus && !editorReadonly, source: built-in.
The first keydown event is for the MetaLeft
key (cmd
) and cannot be dispatched. The second keydown event is for the Slash
key (/
) and is dispatched as meta+[Slash]
. There were two keybinding entries mapped from meta+[Slash]
and the one that matched was for the command editor.action.commentLine
, which has the when
condition editorTextFocus && !editorReadonly
and is a built-in keybinding entry.
Viewing modified keybindings
You can view any user modified keyboard shortcuts in VS Code in the Keyboard Shortcuts editor with the Show User Keybindings command in the More Actions (…) menu. This applies the @source:user
filter to the Keyboard Shortcuts editor (Source is ‘User’).
Advanced customization
All keyboard shortcuts in VS Code can be customized via the keybindings.json
file.
- To configure keyboard shortcuts through the JSON file, open Keyboard Shortcuts editor and select the Open Keyboard Shortcuts (JSON) button on the right of the editor title bar.
- This will open your
keybindings.json
file where you can overwrite the Default Keyboard Shortcuts.
You can also open the keybindings.json
file from the Command Palette (⇧⌘P (Windows, Linux Ctrl+Shift+P)) with the Preferences: Open Keyboard Shortcuts (JSON) command.
Keyboard rules
Each rule consists of:
- a
key
that describes the pressed keys. - a
command
containing the identifier of the command to execute. - an optional
when
clause containing a boolean expression that will be evaluated depending on the current context.
Chords (two separate keypress actions) are described by separating the two keypresses with a space. For example, Ctrl+K Ctrl+C.
When a key is pressed:
- the rules are evaluated from bottom to top.
- the first rule that matches, both the
key
and in terms ofwhen
, is accepted. - no more rules are processed.
- if a rule is found and has a
command
set, thecommand
is executed.
The additional keybindings.json
rules are appended at runtime to the bottom of the default rules, thus allowing them to overwrite the default rules. The keybindings.json
file is watched by VS Code so editing it while VS Code is running will update the rules at runtime.
The keyboard shortcuts dispatching is done by analyzing a list of rules that are expressed in JSON. Here are some examples:
// Keybindings that are active when the focus is in the editor
{ "key": "home", "command": "cursorHome", "when": "editorTextFocus" },
{ "key": "shift+home", "command": "cursorHomeSelect", "when": "editorTextFocus" },
// Keybindings that are complementary
{ "key": "f5", "command": "workbench.action.debug.continue", "when": "inDebugMode" },
{ "key": "f5", "command": "workbench.action.debug.start", "when": "!inDebugMode" },
// Global keybindings
{ "key": "ctrl+f", "command": "actions.find" },
{ "key": "alt+left", "command": "workbench.action.navigateBack" },
{ "key": "alt+right", "command": "workbench.action.navigateForward" },
// Global keybindings using chords (two separate keypress actions)
{ "key": "ctrl+k enter", "command": "workbench.action.keepEditor" },
{ "key": "ctrl+k ctrl+w", "command": "workbench.action.closeAllEditors" },
Accepted keys
The key
is made up of modifiers and the key itself.
The following modifiers are accepted:
Platform | Modifiers |
---|---|
macOS | Ctrl+, Shift+, Alt+, Cmd+ |
Windows | Ctrl+, Shift+, Alt+, Win+ |
Linux | Ctrl+, Shift+, Alt+, Meta+ |
The following keys are accepted:
- f1-f19, a-z, 0-9
- `, —, =, [, ], , ;, ‘, ,, ., /
- left, up, right, down, pageup, pagedown, end, home
- tab, enter, escape, space, backspace, delete
- pausebreak, capslock, insert
- numpad0-numpad9, numpad_multiply, numpad_add, numpad_separator
- numpad_subtract, numpad_decimal, numpad_divide
Command arguments
You can invoke a command with arguments. This is useful if you often perform the same operation on a specific file or folder. You can add a custom keyboard shortcut to do exactly what you want.
The following is an example overriding the Enter key to print some text:
{
"key": "enter",
"command": "type",
"args": { "text": "Hello World" },
"when": "editorTextFocus"
}
The type command will receive {"text": "Hello World"}
as its first argument and add «Hello World» to the file instead of producing the default command.
For more information on commands that take arguments, refer to Built-in Commands.
Removing a specific key binding rule
You can write a key binding rule that targets the removal of a specific default key binding. With the keybindings.json
, it was always possible to redefine all the key bindings of VS Code, but it can be difficult to make a small tweak, especially around overloaded keys, such as Tab or Escape. To remove a specific key binding, add a -
to the command
and the rule will be a removal rule.
Here is an example:
// In Default Keyboard Shortcuts
...
{ "key": "tab", "command": "tab", "when": ... },
{ "key": "tab", "command": "jumpToNextSnippetPlaceholder", "when": ... },
{ "key": "tab", "command": "acceptSelectedSuggestion", "when": ... },
...
// To remove the second rule, for example, add in keybindings.json:
{ "key": "tab", "command": "-jumpToNextSnippetPlaceholder" }
To override a specific key binding rule with an empty action, you can specify an empty command:
// To override and disable any `tab` keybinding, for example, add in keybindings.json:
{ "key": "tab", "command": "" }
Keyboard layouts
Note: This section relates only to key bindings, not to typing in the editor.
The keys above are string representations for virtual keys and do not necessarily relate to the produced character when they are pressed. More precisely:
- Reference: Virtual-Key Codes (Windows)
- tab for
VK_TAB
(0x09
) - ; for
VK_OEM_1
(0xBA
) - = for
VK_OEM_PLUS
(0xBB
) - , for
VK_OEM_COMMA
(0xBC
) - — for
VK_OEM_MINUS
(0xBD
) - . for
VK_OEM_PERIOD
(0xBE
) - / for
VK_OEM_2
(0xBF
) - ` for
VK_OEM_3
(0xC0
) - [ for
VK_OEM_4
(0xDB
) - for
VK_OEM_5
(0xDC
) - ] for
VK_OEM_6
(0xDD
) - ‘ for
VK_OEM_7
(0xDE
) - etc.
Different keyboard layouts usually reposition the above virtual keys or change the characters produced when they are pressed. When using a different keyboard layout than the standard US, Visual Studio Code does the following:
All the key bindings are rendered in the UI using the current system’s keyboard layout. For example, Split Editor
when using a French (France) keyboard layout is now rendered as Ctrl+*:
When editing keybindings.json
, VS Code highlights misleading key bindings, those that are represented in the file with the character produced under the standard US keyboard layout, but that need pressing keys with different labels under the current system’s keyboard layout. For example, here is how the Default Keyboard Shortcuts rules look like when using a French (France) keyboard layout:
There is also a widget that helps input the key binding rule when editing keybindings.json
. To launch the Define Keybinding widget, press ⌘K ⌘K (Windows, Linux Ctrl+K Ctrl+K). The widget listens for key presses and renders the serialized JSON representation in the text box and below it, the keys that VS Code has detected under your current keyboard layout. Once you’ve typed the key combination you want, you can press Enter and a rule snippet will be inserted.
Note: On Linux, Visual Studio Code detects your current keyboard layout on start-up and then caches this information. For a good experience, we recommend restarting VS Code if you change your keyboard layout.
Keyboard layout-independent bindings
Using scan codes, it is possible to define keybindings which do not change with the change of the keyboard layout. For example:
{ "key": "cmd+[Slash]", "command": "editor.action.commentLine", "when": "editorTextFocus" }
Accepted scan codes:
- [F1]-[F19], [KeyA]-[KeyZ], [Digit0]-[Digit9]
- [Backquote], [Minus], [Equal], [BracketLeft], [BracketRight], [Backslash], [Semicolon], [Quote], [Comma], [Period], [Slash]
- [ArrowLeft], [ArrowUp], [ArrowRight], [ArrowDown], [PageUp], [PageDown], [End], [Home]
- [Tab], [Enter], [Escape], [Space], [Backspace], [Delete]
- [Pause], [CapsLock], [Insert]
- [Numpad0]-[Numpad9], [NumpadMultiply], [NumpadAdd], [NumpadComma]
- [NumpadSubtract], [NumpadDecimal], [NumpadDivide]
when clause contexts
VS Code gives you fine control over when your key bindings are enabled through the optional when
clause. If your key binding doesn’t have a when
clause, the key binding is globally available at all times. A when
clause evaluates to either Boolean true or false for enabling key bindings.
VS Code sets various context keys and specific values depending on what elements are visible and active in the VS Code UI. For example, the built-in Start Debugging command has the keyboard shortcut F5, which is only enabled when there is an appropriate debugger available (context debuggersAvailable
is true) and the editor isn’t in debug mode (context inDebugMode
is false):
You can also view a keybinding’s when clause directly in the Default Keybindings JSON (Preferences: Open Default Keyboard Shortcuts (JSON)):
{ "key": "f5", "command": "workbench.action.debug.start",
"when": "debuggersAvailable && !inDebugMode" },
Conditional operators
For when clause conditional expressions, the following conditional operators are useful for keybindings:
Operator | Symbol | Example |
---|---|---|
Equality | == |
"editorLangId == typescript" |
Inequality | != |
"resourceExtname != .js" |
Or | || |
"isLinux || isWindows" |
And | && |
"textInputFocus && !editorReadonly" |
Matches | =~ |
"resourceScheme =~ /^untitled$|^file$/" |
You can find the full list of when clause conditional operators in the when clause contexts reference.
Available contexts
You can find some of the available when
clause contexts in the when clause context reference.
The list there isn’t exhaustive and you can find other when
clause contexts by searching and filtering in the Keyboard Shortcuts editor (Preferences: Open Keyboard Shortcuts ) or reviewing the Default Keybindings JSON file (Preferences: Open Default Keyboard Shortcuts (JSON)).
Custom keybindings for refactorings
The editor.action.codeAction
command lets you configure keybindings for specific Refactorings (Code Actions). For example, the keybinding below triggers the Extract function refactoring Code Actions:
{
"key": "ctrl+shift+r ctrl+e",
"command": "editor.action.codeAction",
"args": {
"kind": "refactor.extract.function"
}
}
This is covered in depth in the Refactoring topic where you can learn about different kinds of Code Actions and how to prioritize them in the case of multiple possible refactorings.
Default Keyboard Shortcuts
You can view all default keyboard shortcuts in VS Code in the Keyboard Shortcuts editor with the Show Default Keybindings command in the More Actions (…) menu. This applies the @source:default
filter to the Keyboard Shortcuts editor (Source is ‘Default’).
You can view the default keyboard shortcuts as a JSON file using the command Preferences: Open Default Keyboard Shortcuts (JSON).
Note: The following keys are rendered assuming a standard US keyboard layout. If you use a different keyboard layout, please read below. You can view the currently active keyboard shortcuts in VS Code in the Command Palette (View -> Command Palette) or in the Keyboard Shortcuts editor (File > Preferences > Keyboard Shortcuts).
Some commands included below do not have default keyboard shortcuts and so are displayed as unassigned but you can assign your own keybindings.
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 |
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, 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, 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 | ⌘K O (Windows, Linux Ctrl+K O) | 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 |
Next steps
Now that you know about our Key binding support, what’s next…
- Language Support — Our Good, Better, Best language grid to see what you can expect
- Debugging — This is where VS Code really shines
- Node.js — End to end Node.js scenario with a sample app
Common questions
How can I find out what command is bound to a specific key?
In the Keyboard Shortcut editor, you can filter on specific keystrokes to see which commands are bound to which keys. Below you can see that Ctrl+Shift+P is bound to Show All Commands to bring up the Command Palette.
How to add a key binding to an action, for example, add Ctrl+D to Delete Lines
Find a rule that triggers the action in the Default Keyboard Shortcuts and write a modified version of it in your keybindings.json
file:
// Original, in Default Keyboard Shortcuts
{ "key": "ctrl+shift+k", "command": "editor.action.deleteLines",
"when": "editorTextFocus" },
// Modified, in User/keybindings.json, Ctrl+D now will also trigger this action
{ "key": "ctrl+d", "command": "editor.action.deleteLines",
"when": "editorTextFocus" },
How can I add a key binding for only certain file types?
Use the editorLangId
context key in your when
clause:
{ "key": "shift+alt+a", "command": "editor.action.blockComment",
"when": "editorTextFocus && editorLangId == csharp" },
I have modified my key bindings in keybindings.json
; why don’t they work?
The most common problem is a syntax error in the file. Otherwise, try removing the when
clause or picking a different key
. Unfortunately, at this point, it is a trial and error process.
2/2/2023
Любую команду в Visual Studio Code можно выполнить через командную строку (Ctrl + Shift + P), но сочетания клавиш помогают сильно экономить время. Достаточно только привыкнуть их использовать.
Для вашего удобства в конце статьи есть шпаргалка со всеми хоткеями.
Прим. пер. Во всех сочетаниях используется английская раскладка.
Открыть настройки пользователя: Ctrl + ,
Время от времени заходить в настройки всё же приходится. Этот хоткей ускоряет процесс.
Показать список горячих клавиш: Ctrl + K Ctrl + S
Переключиться между средами разработки: Ctrl + R
Этот хоткей открывает список ваших недавних рабочих пространств. Это быстрый способ переключаться между папками и проектами. Обратите внимание, что при переходе сессия терминала закроется (если она была активна).
Глобальный перенос по словам: Alt + Z
Простой и удобный способ сразу увидеть все длинные строки без горизонтальной прокрутки.
Перейти на строку: Ctrl + G
Иногда нужно быстро и часто перескакивать на разные строки в объёмных файлах, а скроллить весь документ неудобно. Этот хоткей как раз для таких целей.
Перейти к файлу: Ctrl + P
Самый быстрый способ переключения между файлами (особенно если они ещё не открыты).
Перейти к следующей ошибке или предупреждению: F8
Отладка одной клавишей во плоти. Ещё можно переходить на предыдущую ошибку или предупреждение, используя Shift + F8.
Переключиться между вкладками: Ctrl + Tab
Быстрый способ переключения между уже открытыми файлами.
Поместить курсор в конец каждой выделенной строки: Shift + Alt + I
Эта возможность удобна для тех случаев, когда нужно выполнить идентичные операции в последовательных строках.
Выделить текущую строку: Ctrl + L
Хоткей используется для быстрого выделения всей строки, на которой установлен курсор.
Выделить все вхождения текущего выделения: Ctrl + Shift + L
Хоткей сэкономит время, потому что теперь не нужно использовать Ctrl + D во всём файле.
Выделить все вхождения текущего слова: Ctrl + F2
Теперь вам не нужно даже выделять конкретное слово — просто поместите на него курсор, нажмите хоткей и одновременно правьте все его вхождения.
Подсказки по параметрам: Ctrl + Shift + Space
Если вы вдруг забыли порядок параметров, а прерываться на документацию нет желания.
Форматировать документ: Shift + Alt + F
Специально для тех, кому лень постоянно придерживаться правил форматирования.
Форматировать выделенную область: Ctrl + K Ctrl + F
Такой же, как и предыдущий хоткей, но форматируется не весь документ, а только выделенная область.
Перейти к определению: F12
Быстрый способ перейти к определению функции или переменной.
Показать определение: Alt + F12
Сочетание клавиш похоже на прошлое, но в этом случае курсор никуда не перемещается.
Переименовать переменную: F2
Незаменимый хоткей для рефакторинга кода.
Обрезать пробелы в конце: Ctrl + K Ctrl + X
Чтобы вручную не удалять лишние пробелы в конце строки. Работает при выделении нескольких строк.
Отобразить открытый файл в проводнике: Ctrl + K R
Если вам нужно что-либо сделать с открытым файлом, поиск которого может занять много времени.
Замена в файлах: Ctrl + Shift + H
Если одного файла вам не достаточно.
Превью Markdown-файла: Ctrl + K V
Открыть предпросмотр Markdown-файла.
Включить Zen Mode: Ctrl + K Z
Не позволяйте навязчивым интерфейсам отвлекать вас от программирования. Хоткей поможет сконцентрироваться на коде.
Шпаргалка
Перевод подборки «23 lesser known VS Code Shortcuts as GIF»
В таблице перечислены горячие клавиши по умолчанию, клавиши расширений, и перенастроенные мной.
Ctrl + Shift + N
Новое окно редактора
Ctrl + W, Ctrl + F4
Закрыть окно редактора
Ctrl + Shift + N
Новое окно редактора
Ctrl + Shift + W или F4
Закрыть текущее окно редактора
Ctrl + Shift + S
Сохранить как
Ctrl + K F
Показать текущий файл в папке
Ctrl + K P
Копировать путь текущего файла
Ctrl + K V
Markdown превью и раделить редактор
Ctrl + Shift + V
Markdown превью
Ctrl + Q
Быстрое открытие
Ctrl + R
Открыть последний
Ctrl + P
Быстрый переход к файлу
Ctrl + G
Перейти к строке
Ctrl + X или Shift + Del
Вырезать (без выделения)
Ctrl + C или Ctrl + Ins
Копировать (без выделения)
Ctrl + V или Shift + Ins
Вставить
Ctrl + D
Копировать текущую строку вниз
Alt + C / R / W
Переключение параметров при поиске
Alt + Enter
Выделить все вхождения при поиске
Shift + F3
Найти предыдущее
Ctrl + /
Переключить строчный комментарий
Ctrl + Shift + /
Переключить блочный комментарий
Tab
Развернуть аббревиатуру
Ctrl + K Tab
Показать команды emmet
Alt + F
Форматировать документ
Alt + Z или Ctrl + L
Вкл. / выкл. перенос текста
Ctrl + K M
Выбрать язык документа
Alt + Shift + →
Расширить выделение
Alt + Shift + ←
Сжать выделение
Alt + Click
Добавить курсор
Alt + Shift + I
Вставить курсор в конце каждой выделенной строки
Alt + Shift + Выделение
Выделение по столбцам
Alt + Shift + ↑
Добавить курсор выше
Alt + Shift + ↓
Добавить курсор ниже
Ctrl + Shift + ↑ или Alt + ↑
Переместить строку вверх
Ctrl + Shift + ↓ или Alt + ↓
Переместить строку вниз
Ctrl + Shift + →
Добавить следующее вхождение
Ctrl + Shift + ←
Добавить предыдущее вхождение
Ctrl + Shift + L
Выбрать все вхождения
Ctrl + F2
Выделить все вхождения текущего слова
Ctrl + I
Выделить текущую строку
Ctrl + U
Убрать последний добавленный курсор
Ctrl + Enter
Вставить пустую строку ниже
Ctrl + Shift + Enter
Вставить пустую строку выше
Ctrl + ]
Увеличить табуляцию для строки
Ctrl + [
Уменьшить табуляцию для строки
Ctrl + Home
В начало редактора
Ctrl + End
В конец редактора
Ctrl + Shift + [
Свернуть текущий блок
Ctrl + Shift + ]
Развернуть текущий блок
Ctrl + Shift + A
Свернуть все блоки
Ctrl + Shift + Z
Развернуть все блоки
Ctrl + K Ctrl + X
Удалить конечные пробелы
Ctrl + Shift + E
Проводник
Ctrl + Shift + H
Заменить в файлах
Ctrl + Shift + J
Детали замены в файлах
Ctrl + Shift + X
Расширения
Ctrl + B
Показать / скрыть левую панель
Ctrl + Shift + M
Проблемы
Ctrl + Shift + Y
Консоль отладки
Ctrl + Shift + `
Создать новый терминал
Ctrl + Shift + C
Открыть внешний терминал
Ctrl + Shift + R
Перезагрузить редактор
Ctrl + Shift + P или F1
Палитра команд
Ctrl + F11
Полноэкранный режим
Alt + Shift + 1
Переключить структуру редактора
Ctrl +
Разделить редактор и дублировать файл
Ctrl + Shift + Tab
Перемещение по вкладкам в истории
Ctrl + Shift + PageUp
Переместить вкладку правее
Ctrl + Shift + PageDown
Переместить вкладку левее
Ctrl + =
Уменьшить масштаб редактора
Ctrl + —
Увеличить масштаб редактора
Ctrl + Num 0
Сбросить масштаб редактора
Ctrl + ↑
Прокрутить редактор на 1 строку вверх
Ctrl + ↓
Прокрутить редактор на 1 строку вниз
Alt + PageUp
Постраничная прокрутка вверх без перемещения курсора
Alt + PageDown
Постраничная прокрутка вниз без перемещения курсора
Ctrl + 1, Ctrl + 2, Ctrl + 3
Фокус на другую область редактора
Ctrl + K Ctrl + →
Фокус на следующую область редактора
Ctrl + K Ctrl + ←
Фокус на предыдущую область редактора
Ctrl + K →
Переместить вкладку в следующую область
Ctrl + K ←
Переместить вкладку в предыдущую область
Ctrl + M
Включение перемещения фокуса нажатием клавиши Tab
Ctrl + T
Показать все символы
Ctrl + Shift + O
Переход к символу
Alt + F1
Справка по специальным возможностям
F12
Перейти к определению
Alt + F12
Раскрыть определение
Ctrl + K F12
Открыть определение сбоку
Ctrl + K Ctrl + M
Расширенная раскладка клавиатуры
Ctrl + K Ctrl + T
Выбрать тему оформления
Ctrl + K Ctrl + I
Выбрать тему значков
Ctrl + K Ctrl + K
Сочетания клавиш
Ctrl + K Ctrl + P
Параметры
Ctrl + K Ctrl + S
Добавить новый сниппет
Ctrl + F5
Запустить отладку
Ctrl + F6
Начать без отладки
Ctrl + F7
Остановить отладку
Ctrl + F8
Перезапустить отладку
Alt + F9
Переключить точку останова
Shift + F9
Новая точка останова столбца
Alt + G H
Git History — Показать историю
Alt + G P
Git Push — Отправить изменения
Alt + G C
Git Commit — Закоммитить
Alt + G B
Git Branch — Создать ветку
Alt + G T
Git Checkout — Переключить ветку
Alt + G I
Git Init — Инициализировать Git
Alt + P R
Запустить во встроенном терминале
Alt + P T
Запустить во встроенном терминале
F9
Запустить во встроенном терминале
F10
Зупуск выделенного в терминале
Ctrl + K V
Превью CSS правил
Alt + Shift + S O
SVG превью
Alt + Shift + S V
SVG превью с выбором настроек для конвертирования
Alt + Shift + S E
Конвертировать SVG в PNG
Alt + Shift + S X
Конвертировать SVG в PNG с указанием размеров
Ctrl + S
Минифицировать файл
Ctrl + Space
Табы в пробелы
Alt + A
Выровнять блок кода
Alt + Shift + U
Выгрузить настройки на Gist
Alt + Shift + D
Загрузить настройки с Gist
Файл
Ctrl + Shift + N
Новое окно редактора
Ctrl + K F
Показать текущий файл в папке
Ctrl + K P
Копировать путь текущего файла
Ctrl + Q
Быстрое открытие
Ctrl + G
Перейти к строке
Редактор
Alt + Z или Ctrl + L
Вкл. / выкл. перенос текста
Ctrl + F2
Выделить все вхождения текущего слова
Ctrl + Shift + L
Выбрать все вхождения
Alt + Shift + Выделение
Выделение по столбцам
Ctrl + Shift + [
Свернуть текущий блок
Ctrl + Shift + ]
Развернуть текущий блок
Ctrl + Shift + A
Свернуть все блоки
Ctrl + Shift + Z
Развернуть все блоки
Левая панель
Ctrl + Shift + E
Проводник
Ctrl + Shift + X
Расширения
Нижняя панель
Ctrl + Shift + M
Проблемы
Ctrl + Shift + Y
Консоль отладки
Управление редактором
Ctrl + Shift + R
Перезагрузить редактор
Ctrl +
Разделить редактор и дублировать файл
Ctrl + Shift + Tab
Перемещение по вкладкам в истории
Ctrl + Shift + PageUp
Переместить вкладку правее
Ctrl + Shift + PageDown
Переместить вкладку левее
Настройки в json файле
Ctrl + K Ctrl + K
Сочетания клавиш
Ctrl + K Ctrl + P
Параметры
Ctrl + K Ctrl + S
Добавить новый сниппет
Запуск кода (расширение Code Run)
Git
Alt + G H
Git History — Показать историю
Alt + G P
Git Push — Отправить изменения
Alt + G C
Git Commit — Закоммитить
Alt + G B
Git Branch — Создать ветку
Alt + G T
Git Checkout — Переключить ветку
Alt + G I
Git Init — Инициализировать Git
Python
Alt + P R
Запустить во встроенном терминале
Alt + P T
Запустить во встроенном терминале
F9
Запустить во встроенном терминале
F10
Зупуск выделенного в терминале
Расширения
Ctrl + K V
Превью CSS правил
Alt + Shift + S V
SVG превью с выбором настроек для конвертирования
Ctrl + Space
Табы в пробелы
Alt + A
Выровнять блок кода
Alt + Shift + U
Выгрузить настройки на Gist
Alt + Shift + D
Загрузить настройки с Gist
Для работы LivePreview должен быть установлен NodeJS.
1. В Visual Studio Code открываем встроенный терминал (Ctrl + ` или Ctrl + J)
2. Ввести: live-server
Страница откроется в браузере по умолчанию. Подробнее тут.
1. Color Picker
Позволяет выбирать цвета с палитры и добавляет отображение цветов в коде
2. Brackets Dark
Тема оформления (выбор темы: Ctrl + K Ctrl + T)
3. Rainbox Brackets
Подсветка парных скобок
4. AutoFileName
Подстановка мен файлов при указании пути
5. CSS Peek
Подстановка мен файлов при указании пути
6. Excel Viewer
Показывает CSV файлы в табличном виде (в панели слева ПКМ —> Open Preview)
7. Image Preview
Показывает иконки вставленных в CS картинок рядом с нумерацией строк
8. Preview
Превью CSS правил (Ctrl + K V)
9. SVG Viewer
Просмотр и конвертирование SVG (в панели слева ПКМ —> SVG Preview)
10. vscode-pdf
vscode-pdf
11. minify
Минифицирует JS и CSS (добавить настройки из описания расширения)
12. TabSpacer
Конвертирует табы в пробелы (Ctrl + Space, ранее Ctrl + Shift + T)
13. Better Align
Выравнивает блок кода (добавить настройки из описания расширения)
14. Settings Sync
Синхронизация настроек с Gist
15. Code Runner
Позволяет запускать код на различных языках
1. Установить расширение: Settings Sync
2. Сгенерировать токен на GitHub по инструкции из расширения
3. В Visual Studio Code нажать Shift + Alt + U
и ввести токен
4. Если был введен неверный токен, то можно сбросить настройки, и повторить ввод: F1 --> Sync --> Sync: Reset Extension Settings
5. После ввода токена будет показан Gist ID, который нужно скопировать и сохранить для настройки загрузки на других машинах
6. Скорректировать настрйки расширения в соответствии с теми, что ниже. Для вызова настроек: Ctrl + K Ctrl + S
7. Для вызова настроек Settings Sync использовать сочетание клавиш: F1 --> Sync
Настройки расширения на основной машине для выгрузки на Gist:
sync.gist»: «9b6cd0c04219e3fac765698f3b95191»,
ID, которых можно использовать на других машинах для загруски настроек с Gist
sync.lastUpload»: «2017-06-01T11:18:29.405Z»,
Время последней выгрузки на Gist
sync.autoDownload»: false,
Автоматическая загрузка настроек с Gist при запуске редактора
sync.autoUpload»: true,
Выгрузка настроек на Gist при запуске редактора
sync.lastDownload»: «»,
Время последней загрузки с Gist
sync.forceDownload»: false,
Не загружает настройки с Gist, если они последней версии
sync.anonymousGist»: false,
Создание и загрузка настроек из анонимного Gist
sync.host»: «»,
sync.pathPrefix»: «»,
sync.quietSync»: true,
Страница с результатом после загрузки / выгрузки (true — не показывать)
sync.showSummary»: true,
Показывать в статусной строке статус загрузки / выгрузки
Настройки расширения на других машинах для загрузки с Gist:
sync.gist»: «9b6cd0c04219e3fac765698f3b95191»,
ID, которых можно использовать на других машинах для загруски настроек с Gist
sync.lastUpload»: «»,
Время последней выгрузки на Gist
sync.autoDownload»: true,
Автоматическая загрузка настроек с Gist при запуске редактора
sync.autoUpload»: false,
Выгрузка настроек на Gist при запуске редактора
sync.lastDownload»: «2017-06-01T11:18:29.405Z»,
Время последней загрузки с Gist
sync.forceDownload»: false,
Не загружает настройки с Gist, если они последней версии
sync.anonymousGist»: false,
Создание и загрузка настроек из анонимного Gist
sync.host»: «»,
sync.pathPrefix»: «»,
sync.quietSync»: true,
Страница с результатом после загрузки / выгрузки (true — не показывать)
sync.showSummary»: true,
Показывать в статусной строке статус загрузки / выгрузки
#База знаний
- 3 фев 2021
-
11
Становимся многорукими волшебниками: ускоряемся с помощью хоткеев и парочки других приёмов.
vlada_maestro / shutterstock
В IT пришёл из наружной рекламы, где проработал с десяток лет. В Skillbox изучает веб-вёрстку. Увлекается археологией, диджеингом и плёночной фотографией.
Здорово экономят время разработчика горячие клавиши. Есть такие и в Visual Studio Code. Здесь даже можно создавать свои сочетания, но большинству пользователей хватает исходных комбинаций (особенно новичкам, у кого и так глаза разбегаются от уймы настроек).
Пройдёмся по самым полезным для начинающего верстальщика. Читайте и сразу же пробуйте.
Типичная задача
Найти все элементы с классом link и стилизовать некоторые, присвоив им дополнительный класс.
Что делать
Нажмите Ctrl + F (Windows) или ⌘Cmd + F (macOS). Введите искомое — высветятся все найденные места. Остаётся перемещаться по ним (стрелочками в форме поиска).
Ситуация
Вы хотите создать комментарий или временно отключить участок кода (например, чтобы проверить работу оставшейся части).
Что делать
Выделите нужный участок и нажмите Ctrl + / (Windows) или ⌘Cmd + / (macOS). Если выделения нет, то закомментируется строка, в которой стоит курсор (раскомментировать её можно так же).
Типичные ситуации
- При проверке вёрстки понадобилось найти и изменить определённое свойство: инспектор кода в браузере показывает путь к нужному файлу (чаще всего со стилями) и номер строки в нём.
- В редакторе кода появляется сообщение об ошибке в определённой строке.
Что делать
Нажмите Ctrl + G (Windows) или ⌃Ctrl + G (macOS), введите номер строки — и вам не придётся листать вручную.
Типичная ситуация
Нужно изменить вложенность элемента, дать ему правильную обёртку. Вообще, перемещать элементы на уровень выше или ниже приходится часто, особенно на первых этапах вёрстки.
Что делать
Поставьте курсор на нужную строку и нажмите Alt + ↑ / ↓ (Windows) или
⌥Option + ↑ / ↓ (macOS).
Следите за сохранением структуры документа — не забывайте переносить и закрывающие теги.
Ситуация
В разметку надо быстро добавить одинаковые элементы. То есть вставить дубликат строки выше или ниже этой же строки.
Что делать
Поставьте курсор на нужную строку и нажмите Shift+Alt + ↓ / ↑ (Windows) или ⇧Shift + ⌥Option + ↓ / ↑ (macOS).
Типичная потребность
Быстро выровнять код, чтобы он стал более читаемым, понятным, красивым и соответствовал вашему код-стайлу (например, о джавишном читайте здесь).
Что делать
Жмите Shift + Alt + F (Windows) или ⇧Shift + ⌥Option + F (macOS).
Чтобы форматирование работало:
- Установите плагин форматирования кода.
- Настройте редактор в соответствии с вашим код-стайлом. И не забудьте выставить верное число отступов (общеприняты 2 или 4).
Мультикурсорность зрелищна сама по себе и здорово ускоряет работу верстальщика.
Ситуация
Вам понадобилось написать одно и то же сразу в нескольких местах.
Чтобы размножить курсор:
- Зажмите Alt (в Windows) или ⌥Option (в macOS) и кликайте левой кнопкой мышки там, куда нужно добавить курсор.
- Выделите несколько строк, зажав среднюю кнопку мыши. В каждой из выделенных строк появится по курсору.
- Если лень кликать мышкой, то дублировать курсор можно так: Ctrl + Alt + ↑ / ↓ (Windows) или ⌥Option + ⌘Cmd + ↑ / ↓ (macOS).
Ситуация
Нужно изменить одинаковый код сразу в нескольких местах.
Что делать
Выделите мышью символы и нажмите Ctrl + D (Windows) или ⌘Cmd + D (macOS). Если нажать больше одного раза, то к выделению добавится ещё одно вхождение того же куска далее по тексту. Затем можно редактировать все выделенные области сразу (подсвечиваются синим).
Как это работает
Вы набираете один-два символа, а автоподстановка предлагает название тега (в паре с закрывающим) для HTML или название свойства для CSS. Дождитесь, пока редактор подсветит предлагаемый вариант (когда их несколько — выберите нужный), и нажмите Tab или Enter.
Все доступные сокращения здесь. По мере запоминания ваши навыки и скорость будут расти, и, поверьте, это немалое удовольствие.
Зачем нужно
Чтобы быстрее создавать структуры из вложенных друг в друга тегов.
Например: нужно создать ненумерованный список, вложить в него четыре элемента, внутри каждого из которых будет по ссылке класса link. И всё это быстро-быстро.
Что делать
Достаточно набрать ul>li*4>a.link, дождаться подсветки этого варианта (он в выпадашке один) и нажать Tab или Enter, а редактор сам вставит развёрнутую конструкцию. Это очень ускоряет работу, хотя поначалу и похоже на волшебство.
Сложно представить реальную работу в VS Code без терминала.
Ситуация
Нужно вызвать терминал, с которым легче искать ошибки в коде (оповещения будут во вкладке Problems), а также работать с Git (распределённая система управления версиями).
Что делать
Нажать Ctrl + ` для Windows или ⌃Ctrl + ` для macOS.
Запоминать горячие клавиши вовсе не сложно, главное — начать их применять. Полные списки сочетаний тут и тут, а сокращений — здесь.
Желаем вам быстрой и приятной работы в VS Code!
Учись бесплатно:
вебинары по программированию, маркетингу и дизайну.
Участвовать
Школа дронов для всех
Учим программировать беспилотники и управлять ими.
Узнать больше
Горячая клавиша — это клавиша клавиатуры, которая при нажатии сама по себе или в сочетании с другими клавишами выполняет определенную функцию. Горячие клавиши обеспечивают удобные сочетания клавиш для выполнения обычных задач, доступ к которым осуществляется через меню. Пользователи также могут назначать сочетания клавиш во многих программах, используя макросы для создания функций горячих клавиш.
Горячие клавиши предоставляют пользователям компьютеров удобные сочетания клавиш.
Большинство операционных систем имеют библиотеку встроенных горячих клавиш, многие из которых стандартизированы, чтобы помочь пользователям, которые могут менять операционные системы или использовать несколько платформ. Программное обеспечение, включая текстовые процессоры, электронные таблицы и веб-браузеры, также включает в себя стандартизированные горячие клавиши в дополнение к специализированным горячим клавишам, специфичным для данной программы.
Ниже представлены горячие клавиши для программы Visual Studio Code (VS Code):
Ctrl+Shift+P/F1 |
Показать палитру команд |
Ctrl+P |
Быстрое открытие |
Ctrl+Shift+N |
Новое окно/объект |
Ctrl+Shift+W |
Закрыть окно/объект |
Ctrl+X |
Вырезать |
Ctrl+C |
Скопировать |
Alt+Up Arrow/Down Arrow |
Поднять/опустить строку |
Shift+Alt+Down Arrow/Up Arrow |
Копирование строки вверх/вниз |
Ctrl+Shift+K |
Удалить строку |
Ctrl+Enter |
Вставить строку ниже |
Ctrl+Shift+Enter |
Вставить строку выше |
Ctrl+Shift+ |
Переход к соответствующей скобке |
Ctrl+]/[ |
Отступ/зачеркнутая строка |
Home |
Перейти к началу строки |
End |
Перейти к концу строки |
Ctrl+Home |
Перейти к началу файла |
Ctrl+End |
Перейти в конец файла |
Ctrl+Up Arrow/Down Arrow |
Прокрутка строки вверх/вниз |
Alt+PgUp/PgDn |
Прокрутка страницы вверх/вниз |
Ctrl+Shift+[ |
Область складывания (схлопывания) |
Ctrl+Shift+] |
Область разворачивания (разворачивания) |
Ctrl+K, |
Сложить (свернуть) все субрегионы |
Ctrl+K, |
Развернуть (распустить) все субрегионы |
Ctrl+K, |
Свернуть (развернуть) все регионы |
Ctrl+K, |
Развернуть (распустить) все регионы |
Ctrl+K, |
Добавить комментарий к строке |
Ctrl+K, |
Удалить комментарий строки |
Ctrl+K, |
Изменить тему |
Ctrl+/ |
Комментарий строки переключения |
Shift+Alt+A |
Переключить комментарий блока |
Alt+Z |
Переключение обводки слов |
Ctrl+T |
Показать все символы |
Ctrl+G |
Перейти на линию… |
Ctrl+P |
Перейти к файлу… |
Ctrl+Shift+O |
Перейти к символу… |
Ctrl+Shift+M |
Показать панель проблем |
F8 |
Переход к следующей ошибке или предупреждению |
Shift+F8 |
Переход к предыдущей ошибке или предупреждению |
Ctrl+Shift+Tab |
Навигация по истории группы редакторов |
Alt+Left Arrow/Right Arrow |
Переход назад/вперед |
Ctrl+M |
Tab перемещает фокус |
Ctrl+F |
Искать |
Ctrl+H |
Заменить |
F3/Shift+F3 |
Найти следующий/предыдущий |
Alt+Enter |
Выберите все вхождения / найти соответствие |
Ctrl+D |
Добавить выделение к следующему совпадению |
Ctrl+K, |
Переместить последний выбор на следующий поиск совпадения |
Alt+C/R/W |
Переключить чувствительность к регистру |
Alt+Click |
Вставить курсор |
Ctrl+Alt+Up Arrow/Down Arrow |
Вставить курсор выше / ниже |
Ctrl+U |
Отмена последней операции с курсором |
Shift+Alt+I |
Вставьте курсор в конец каждой выбранной строки |
Ctrl+I |
Выберите текущую строку |
Ctrl+Shift+L |
Выбрать все вхождения текущего выделения |
Ctrl+F2 |
Выберите все вхождения текущего слова |
Shift+Alt+Right Arrow |
Расширить выбор |
Shift+Alt+Left Arrow |
Выбор сокращений |
Shift+Alt +Drag |
Выбор колонки (ячейки) |
Ctrl+Shift+Alt+Arrow Keys |
Выбор колонки (ячейки) |
Ctrl+Shift+Alt+PgUp /PgDn |
Страница выбора колонки (ячейки) вверх/вниз |
Ctrl+Spacebar |
Триггерное предложение |
Ctrl+Shift+Spacebar |
Подсказки по параметрам триггера |
Tab |
Emmet — расшифровка аббревиатуры |
Shift+Alt+F |
Форматирование документа (выравнивание кода) |
Ctrl+K |
Выбор формата |
F12 |
Перейти к определению |
Alt+F12 |
Определение взгляда |
Ctrl+K, |
Открытое определение в сторону |
Ctrl+. |
Быстрое исправление |
Shift+F12 |
Показать ссылки |
F2 |
Переименовать символ |
Ctrl+Shift+./, |
Заменить на следующее/предыдущее значение |
Ctrl+K, |
Обрезание пробельных символов в конце |
Ctrl+K, |
Изменить язык файла |
Ctrl+F4, |
Закрыть редактор |
Ctrl+K, |
Закрыть папку |
Ctrl+ |
Раздельный редактор |
Ctrl+1/2/3 |
Фокус в 1-й, 2-й или 3-й группе редакторов |
Ctrl+K, |
Фокусировка на предыдущей/следующей группе редакторов |
Ctrl+Shift+PgUp/PgDn |
Перемещение редактора влево/вправо |
Ctrl+K, |
Переместить активную группу редакторов |
Ctrl+N |
Новый файл |
Ctrl+O |
Открыть файл |
Ctrl+S |
Сохранить |
Ctrl+Shift+S |
Сохранить как |
Ctrl+K, |
Сохранить все |
Ctrl+F4 |
Закрыть |
Ctrl+K, |
Закрыть все |
Ctrl+Shift+T |
Повторное открытие закрытого редактора |
Ctrl+K, |
Держать открытым |
Ctrl+Tab |
Открыть следующую |
Ctrl+Shift+Tab |
Открыть предыдущий |
Ctrl+K, |
Копирование путь активного файла |
Ctrl+K, |
Отображение активного файла в Проводнике |
Ctrl+K, |
Показать активный файл в новом окне/инстансе |
F11 |
Переключить полный экран |
Shift+Alt+1 |
Переключение макета редактора |
Ctrl+=/- |
Увеличение/уменьшение |
Ctrl+B |
Переключение видимости боковой панели |
Ctrl+Shift+E |
Показать проводник / переключить фокус |
Ctrl+Shift+F |
Показать поиск |
Ctrl+Shift+G |
Показать Git |
Ctrl+Shift+D |
Показать отладку |
Ctrl+Shift+X |
Показать расширения |
Ctrl+Shift+H |
Замена в файлах |
Ctrl+Shift+J |
Детали поиска |
Ctrl+Shift+C |
Откройте новую командную строку/терминал |
Ctrl+Shift+U |
Показать панель вывода |
Ctrl+Shift+V |
Переключить предварительный просмотр Markdown |
Ctrl+K, |
Открыть предварительный просмотр Markdown сбоку |
F9 |
Переключение точки останова |
F5 |
Начать/продолжить |
Shift+F5 |
Стоп |
F11/Shift+F11 |
Шаг в/из |
F10 |
Шаг за шагом |
Ctrl+KзатемCtrl+I |
Показать наведение |
Ctrl+` |
Показать встроенный терминал |
Ctrl+Shift+` |
Создать новый терминал |
Ctrl+Shift+C |
Выбор копирования |
Ctrl+Shift+V |
Вставить в активный терминал |
Ctrl+Up Arrow/Down Arrow |
Прокрутка вверх/вниз |
Shift+PgUp/PgDn |
Прокрутка страницы вверх/вниз |
Ctrl+Home/End |
Прокрутка вверх/вниз |
Содержание:
- Вертикальная раскладка экрана редактора
- Отображение редактора в виде сетки
- Дублирование строки
- Вкладка команд
- Переход на определенную строку
- Поменять местами находящиеся рядом строки
- Открытие/закрытие боковой панели
- Удаление предыдущего слова
- Добавление курсора сверху или снизу
- Выделяем столбец
- Вопрос – Ответ
- Заключение
Программа дает возможность удобно писать программные коды, но в то же время у программиста уходит много времени на различные редактирования и исправления.
Ниже мы разберем самые известные горячие клавиши, которые сэкономят кучу вашего времени при написании программного кода.
Получи грант, покрывающий 85% стоимости обучения
И обучайся новой профессии онлайн из любой точки мира
Получить грант
Вертикальная раскладка экрана редактора
- Клавиши для Windows: нажать одновременно Shift + Alt + 2 (3, 4).
- Клавиши для Mac: нажать одновременно Command + 2 (3, 4).
Еще один способ для раскладки экрана – это использование команды Split editor.
Функция полезна, когда программисту необходимо заниматься параллельным редактированием файлов. Это помогает сэкономить массу времени и не сбиться при написании кода.
Сочетания горячих клавиш можно отредактировать, для этого нужно зайти в File, оттуда в Preferences и нажать на Keyboard Shortcuts.
Отображение редактора в виде сетки
В штатном режиме группы редактора расположены вертикально. Это помогает редактировать 2 и более файлов.
Можно расположить группы любым образом, будь то вертикальный или горизонтальный способы расположения.
Для поддержки окон можно оформить пустые группы. В штатном режиме закрытие последнего редактора из группы закроет и группу. Это можно поменять, внеся некоторые коррективы в настройках окружения программы. Необходимо вставить следующую строку: workbench.editor.closeEmptyGroups: false (добавляется в настройках).
Зайдя в View > Editor Layout, можно увидеть полный набор вариантов для отображения и разделения окон редактора.
Вставка комментария
- Клавишидля Windows: Ctrl + /.
- Клавиши для Mac OS X: ⌘ /.
В стандартном виде для добавления комментария необходимо поставить курсор в начало строки и написать двойной слеш.
Обычный вариант выполнения комментирования замедляет процесс и забирает много времени.
Удобнее нажать комбинацию клавиш. Такое нажатие можно делать в любом месте строки, комментарий все равно запишется и будет автоматически помещен в начало строки.
Если строка была комментарием, то после ее выбора и нажатия на комбинацию клавиш она снова станет обычной строкой.
87% наших выпускников уже работают в IT
Оставь заявку, и мы поможем с выбором новой профессии
Оставить заявку
Дублирование строки
- Клавиши для Windows: Shift + Alt + ↓ (↑).
- Клавиши для Mac OS X: ⇧ ⌥ ↓ / ⇧ ⌥ ↑.
Отлично подходит для тех, кому надоело постоянно и несколько раз копировать одну и ту же строку кода.
Быстрый переход к парной скобке
- Клавиши для Windows: Ctrl + Shift + .
- Клавиши для Mac OS X: ⇧ ⌘ .
Когда программист пишет объемный код, то в нем очень легко потеряться. Иногда становится непонятно, какая скобка и к какому блоку относится, где начинается и где заканчивается фрагмент кода. Непонятно, что вообще творится на экране.
Сочетание вышеуказанных горячих клавиш помогает решить проблему нахождения парных скобок. Этот способ является отличным дополнением к функции подсветки пар скобок.
Запуск Дзен-режима
- Клавиши для Windows: Ctrl + K Z.
- Клавиши для Mac OS X: ⌘ K Z.
Пригодится тем, кто любит работать без лишних факторов, отвлекающих внимание. После включения этого режима человек будет видеть только развернутый на весь экран редактор кода и ничего лишнего.
Выключается Дзен-режим клавишей Escape.
Выделение целого слова
- Клавиши для Windows: Ctrl + Shift + стрелка вправо/влево.
- Клавиши для Mac OS X: Command + Shift + стрелка вправо/влево.
Помогает осуществить быстрое выделение и редактирование необходимых слов. Особенно поможет, когда в готовом коде нужно срочно сделать правку требуемых слов.
Дубляж строки
- Клавиши для Windows: Ctrl + Shift + d.
- Клавиши для Mac OS X: Command + Shift + d.
Позволяет быстро продублировать нужную строку необходимое количество раз. Это особенно полезно, когда выполняется написание похожих кодов.
Вкладка команд
- Клавиши для Windows: Ctrl + p.
- Клавиши для Mac OS X: Command + p.
Сочетание клавиш дает возможность получить доступ к вкладке со всеми командами. Название команд и комбинации клавиш указаны рядом. Пример использования показан выше на скриншоте.
Выбор команды производится следующим образом:
1 шаг: Открытие файла
Чтобы получить доступ к определенному файлу, нажимаем на сочетание клавиш и вызываем вкладку команд. В открывшейся вкладке вводим в строку поиска название необходимого файла.
После ввода названия система найдет необходимый файл и отобразит его.
2 шаг: Просмотр необходимых сочетаний клавиш
Команды указаны вместе с комбинациями клавиш, которые их активируют.
Вкладка команд выручает программиста, когда он забывает ту или иную команду. Она помогает быстро вспомнить нужную комбинацию клавиш.
Переход на определенную строку
- Клавиши для Windows: Ctrl + G.
- Клавиши для Mac OS X: ⌃ G.
Очень удобно, когда нужно отладить определенную строку. Допустим, проблема находится на 567 строчке. Поиск этой строки вручную займет много времени, вот здесь на помощь как раз и приходит комбинация клавиш для перехода.
Переход на определенную строчку делается так: нажимается комбинация клавиш и вводится номер строки, дальше программа найдет необходимую строку.
Поменять местами находящиеся рядом строки
До нажатия горячих клавиш:
После нажатия горячих клавиш:
Клавиши для Windows: Alt + ↑ / ↓.
Клавиши для Mac OS X: ⌥ ↓ / ⌥ ↑.
У программистов бывают ситуации, когда в одной строчке пишется то, что должно писаться в другой. Элементарно может возникнуть необходимость поменять последовательность команд. Здесь на помощь и приходит перестановка строк.
Стрелка означает, нужно ли поднять или опустить необходимую строку.
Открытие/закрытие боковой панели
- Клавиши для Windows: Ctrl + b.
- Клавиши для Mac OS X: Command + b.
Комбинация подходит в ситуациях, когда открываемый файл широкий и его необходимо видеть на всю ширину.
Используя комбинацию, код можно будет править целиком, не отвлекаясь на поиск необходимого фрагмента.
Удаление предыдущего слова
- Клавиши для Windows: Ctrl + backspace.
- Клавиши для Mac OS X: Command + delete.
Помогает удалять ненужные слова без использования backspace. Это значительно экономит время.
Добавление курсора сверху или снизу
- Клавиши для Windows: Ctrl + Alt + стрелка вверх/вниз.
- Клавиши для Mac OS X: Command + Alt + стрелка вверх/вниз.
Функция позволяет экономить время при написании кода. Вместо того чтобы переставлять его самому, просто добавляется еще один курсор.
Выделяем столбец
Клавиши для Windows: Shift + Alt.
Клавиши для Mac OS X: Shift + Option.
Для выделения определенного столбца зажимаем комбинацию клавиш и выделяем с помощью курсора мыши необходимый столбец.
Вопрос – Ответ
Ответим на популярные вопросы.
Комбинации действительно упрощают работу?
Конечно, использование комбинаций экономит около 50 % времени.
Зачем необходимо выделять столбцы?
Бывают ситуации, что в столбцах необходимо поменять информацию или полностью их удалить.
Комбинации поддерживают все версии VS Code?
Да, комбинации работают на разных версиях редактора.
Заключение
Мы рассмотрели все полезные горячие клавиши в VS Code. Используйте их и сократите время на написание программных кодов.
Если хотите узнавать еще больше полезной информации, заходите к нам в блог.
Он постоянно обновляется и пополняется новыми статьями.
Заходите в блог и становитесь лучше вместе с нами.
Горячие клавиши — добро, польза и экономия времени. Давайте разберёмся, как с их помощью упростить себе жизнь в Visual Studio Code.
Быстро добавить комментарий
Windows — Ctrl + /
macOS — Command + /
Обычно чтобы добавить комментарий, нужно перейти в начало строки и дописать туда два слеша. Это медленно. Быстрее нажать в любом месте строки Ctrl + /, и строка закомментируется, если она ещё не. А если уже да, то комментарий исчезнет.
Больше статей о фронтенде и работе в айти в телеграм-канале.
Перейти к строке под номером
Windows — Ctrl + G
macOS — Control + G
Иногда отладчики внезапно сообщают, что на строке 953 случилась непоправимая инфернальная ошибка вселенной. Чтобы не выискивать вручную, не листать и не тратить на это время, нажмите Ctrl + G введите номер строки и спокойно спасайте вселенную.
Поменять строку местами с соседними
Windows — Alt + ↑ / ↓
macOS Option + ↑ / ↓
Случается такое, что ваш алгоритм — не алгоритм. Всё пошло не так, а вместо числа 42 вывелось сообщение «Данные удалены». Кому-то для этого нужно переписать весь код, но иногда бывает достаточно поменять строки местами и всё заработает.
Alt и стрелки меняют текущую строку местами с соседними.
Дублировать строку
Windows Shift + Alt + ↓ / ↑
macOS Shift + Option + ↓ / ↑
Это для тех, кто не хочет копировать и вставлять несколько раз одно и то же.
Перейти к парной скобке
Windows Ctrl + Shift +
macOS Shift + Command +
Когда кода становится много, очень просто запутаться в закрывающих и открывающих скобках, непонятно, где какой блок, и вообще, что происходит. На помощь приходит Ctrl + Shift + — это хорошее дополнение к стандартной подсветке парных скобок в VS Code.
Переименовать переменную
Windows — F2
macOS — F2
Писали, писали, а старший разработчик пришёл и сказал, что ваши переменные a
, b
и c
— дурной тон. Чтобы не выискивать их по всему документу и не менять руками, есть F2.
Отформатировать документ
Windows — Shift + Alt + F
macOS Shift + Option + F
VS Code предложить установить расширение или выбрать из существующих, а потом красиво отформатирует документ — расставит по местам блоки, скобки, и сделает строки кода читаемыми.
Перейти к переменной
Windows — F12
macOS — F12
Иногда вообще непонятно, откуда взялась переменная, какая у неё область видимости, и где она объявлена. F12 перенесёт нас к объявлению выделенной переменной, функции или метода. Если объявление в другом файле — всё равно перенесёт.
Включить/выключить перенос слов
Windows — Alt + Z
macOS Option + Z
Вкусовщина. Если строки кода или текст не вмещается в редактор по ширине, включите перенос.
Включить дзен-режим
Windows — Ctrl + KZ
macOS — Command + KZ
Лучшее решение для тех, кто входит состояние потока, когда пишет код. Дзен-режим скрывает все панели, разворачивает редактор на весь экран, и вы можете плыть в волнах кода и думать только о нём. Чтобы вернуться обратно в реальный мир, нажмите Escape.
Ещё о VS Code
- 10 лучших тем для VS Code в ноябре 2022
- 8 полезных плагинов VS Code для вёрстки
- 8 расширений VS Code для продуктивной работы
Visual Studio Code – практически лучший редактор кода, если вы работаете под графическим интерфейсом. Во первых, Visual Studio поддерживает множество языков; во вторых, на оформлении кода Visual Studio не останавливается – редактор может работать с Git, предоставлять рефакторинг, у него есть крайне удобный отладчик и так далее. В третьих, для VS есть множество полезных плагинов (как встроенных, так и сторонних), позволяющих манипулировать комбинациями клавиш и настраивать хоткеи под себя. О последнем мы и будем говорить: при каких сочетаниях клавиш VS ведет себя так или иначе, как не запутаться в горячих клавишах и как можно настроить горячие клавиши через собственноручно написанную (кодом!) конфигурацию.
Шпаргалки, документация, плагины
Дефолтные клавиши
Здесь мы предоставим список горячих клавиш, который редакторы кода из семейства VS имеют по дефолту.
Стандартное редактирование
Нужно зажать… |
… и нажать |
Действие |
Ctrl + … |
X |
Вырезать. Если ничего не выделили – вырежет всю линию |
C |
Скопировать. Если ничего не выделили – скопирует всю линию |
|
V |
Вставить |
|
Shift + K |
Стереть линию |
|
Enter / Shift + Enter |
Вставить пустую строку сверху/снизу. Курсор сдвигается только во втором случае |
|
Z |
Отмена какого-либо действия |
|
Y |
Повторить отмененное |
|
U |
Отмена какого-либо действия, сделанного курсором |
|
Shift + L |
Выбрать все совпадения с тем, что выделено курсором |
|
L |
Выбрать ту линию, на которой установлен курсор |
|
Shift + |
Переместиться к открывающим/закрывающим скобкам, которые совпадают с выделенными |
|
] / [ |
Выделить отступом/Убрать выделение |
|
Home |
К началу исходника |
|
End |
К концу исходника |
|
Shift + [ / Shift + ] |
Закрыть/Раскрыть регион. Действие касается функций, циклов и так далее |
|
/ |
Закомментировать линию |
|
K, после чего Ctrl + U |
Раскомментировать линию |
|
F |
Открыть поиск |
|
Alt + … |
Стрелочка вверх/вниз |
Переместиться на строку вверх/вниз |
PgUp/PgDown |
Переместиться на экран вверх/вниз |
|
Enter |
Выбрать все совпадения с тем, что задано в поиске |
|
Shift + … |
Enter |
Перейти к предыдущему совпадению |
Alt + стрелочка вверх/вниз |
Скопировать строчку выше/ниже |
|
Alt + A |
Закомментировать выделенное блочным комментарием |
Богатое редактирование (Rich Languages Editing)
Нужно зажать… |
… и нажать |
Действие |
Ctrl + … |
Пробел |
Вызвать предложение (в VS code настроить предложения можно либо автоматически, либо вручную) |
Shift + Пробел |
Вызывать подсказки по параметрам |
|
K, после чего Ctrl + F |
Форматировать выделенное в соответствии с правилами оформления, стандартными или заданными |
|
. |
Быстрое исправление |
|
Shift + . / , |
Заменить следующим/предыдущим значением |
|
K, после чего Ctrl + X |
Обрезать лишние пробелы у строки |
|
Shift + … |
Alt + F |
Форматировать весь документ в согласно правилам оформления, стандартным или заданным |
F12 |
Перейти к ссылкам |
|
Ничего |
F12 |
Перейти к определению |
Навигация
Нужно зажать… |
… и нажать |
Действие |
Ctrl + … |
T |
Показать все символы |
G, после – указать номер строки |
Перейти к указанной строке |
|
P, после – указать имя файла |
Быстро открыть указанный файл |
|
Shift + O, после – указать символ |
Перейти к символу |
|
Shift + M |
Показать все проблемы |
|
Клавишу TAB |
Перейти к истории |
|
Alt + … |
Стрелочки влево/вправо |
Перемещаться назад-вперед по истории |
Shift + … |
F8 |
Перейти к предыдущей ошибке/предупреждению |
Ничего |
F8 |
Перейти к следующей ошибке/предупреждению |
F1 |
Показать все команды |
Управление окнами
Нужно зажать… |
… и нажать |
Действие |
Ctrl + … |
Shift + N |
Открыть новое окно |
W |
Закрыть редактор |
|
K, после чего F |
Закрыть папку |
|
Разделить редактор на 2 экрана |
||
1/2/3 |
Перейти к 1/2/3 группе редакторов |
|
Shift + PgUp/PgDown |
Переместить редактор влево/вправо |
|
Alt + … |
F4 |
Закрыть текущее окно |
Файлы
Нужно зажать… |
… и нажать |
Действие |
Ctrl + … |
N |
Новый файл |
O |
Открыть файл |
|
S |
Сохранить файл |
|
K, после чего S |
Сохранить все файлы |
|
Shift + S |
Сохранить как |
|
W |
Закрыть файл |
|
K, после чего W |
Закрыть группы файлов |
|
K, после чего Ctrl + W |
Закрыть все файлы |
|
Shift + T |
Открыть последний закрытый редактор |
|
K, после чего Enter |
Оставить открытым |
|
K, после чего P |
Скопировать путь текущего файла |
|
K, после чего R |
Показать текущий файл в проводнике |
|
K, после чего O |
Показать текущий файл в новом окне |
Отображение
Нужно зажать… |
… и нажать |
Действие |
Ctrl + … |
K, после чего Z |
Перейти в Дзен. Дзен – это как фуллскрин, только немного другой |
= / — |
Увеличить/уменьшить масштаб |
|
0 на дополнительной цифровой клавиатуре |
Сбросить масштабирование на 100% |
|
B |
Включить/выключить боковые панели |
|
Q |
Открыть быстрый поиск |
|
` (символ находится там, где в русской раскладке расположена буква ё) |
Открыть встроенный терминал |
|
Ctrl + Shift + … |
E |
Показать внутренний браузер |
F |
Открыть поиск |
|
G |
Вывести дерево источников |
|
D |
Вывести окно «Run» |
|
X |
Вывести окно расширений |
|
U |
Вывести вывод |
|
C |
Открыть cmd |
|
Ничего |
F11 |
Полный экран |
Esc, затем Esc |
Выйти из Дзена |
Поиск
Нужно зажать… |
… и нажать |
Действие |
Ctrl + Shift + … |
F |
Открыть поиск |
H |
Заменить во всех открытых файлах |
|
J |
Открыть детали поиска |
|
Alt + … |
C |
Пометить совпадения |
W |
Пометить совпадения по словам |
|
R |
Пометить совпадения, используя регулярные выражения |
Дебаггинг
Нужно зажать… |
… и нажать |
Действие |
Ctrl + … |
F5 |
Запустить без дебаггинга |
Ничего |
F5 |
Запустить/продолжить дебаггинг |
F9 |
Поставить точку останова в текущей строке |
|
F6 |
Пауза |
|
F11 |
Зайти внутрь |
Настройка клавиш
Со стандартными клавишами все понятно – нажмите комбинацию и получите результат. Иногда нажатия клавиши регистрируются после того, как вы вошли в «командный режим» (эту идею Microsoft подсмотрела у Vim), для этого нажмите Ctrl + K, и затем уже вводите команду. Если вы хотите переназначить клавиши, зайдите в соответствующий раздел в настройках и выставьте все так, как вам удобно.
Но на этом возможности не заканчиваются – как и у других популярных редакторов, у VS Code есть функция установки расширения. Вы можете либо установить расширение, которое было написано кем-то, либо написать свое собственное. В частности, расширения позволяют переназначать клавиши. Сделать это можно через специальный файл – keybindings.json. В нем, как понятно из формата, в формате JSON лежат все горячие клавиши, каждая запись состоит из 3-х частей: клавиша, команда, условие. Условие – необязательная часть, клавиша и команда должны быть обязательно.
Кроме того, вы можете задавать для команд аргументы, после чего триггерить команды по условию. Например, можно сделать так, чтобы по нажатию на Enter вместо выделенного фрагмента вставлялся определенный кусок текста. Еще командами со знаком «-» можно отменять другие команды (это полезно, если задать условия назначения/отмены), и команды можно разбивать на несколько различных сетов, между которыми можно переключаться как между раскладками клавиатуры (по сути это и есть раскладки). VS Code умеет распознавать коды особых клавиш и контекст окружения, сами условия можно писать с помощью логических операторов. В общем, внутри VS Code встроен отдельный скриптовый фреймворк, который позволяет кодом описывать горячие клавиши. Ссылки на документацию будут ниже.
Шпаргалки, документация, плагины
- Базовая документация по горячим клавишам и скриптингу: ссылка. Здесь вы можете взять названия команд для всех операций.
- Документация по встроенным командам: ссылка.
- Шпаргалка для Linux: ссылка.
- Шпаргалка для Windows: ссылка.
- Шпаргалка для Mac: ссылка.
Популярные плагины с раскладками:
- Vim: ссылка.
- Sublime Text: ссылка.
- Atom: ссылка.
- Brackets: ссылка.
Вывод
- VS Code имеет большой набор встроенных горячих клавиш. Клавиши разбиты по группам: стандартное редактирование, богатое редактирование, управление окнами, файлы, дебаггинг и так далее.
- Внутри Visual Studio есть большой функционал для создания собственных раскладок – можно триггерить команды по комбинациям клавиш, при этом можно задавать условия, контекст и другие параметры.
- Самый простой способ получить удобную раскладку – скачать один из популярных плагинов.