Keyboard Shortcuts

Below is a list of supported commands and the corresponding keyboard shortcut (if assigned). Most of those are also available from the Command Palette, the main menu and the mouse context menu.

Refer to the Customization section on how to modify or assign shortcuts to them.


If you using macOS, replace ctrl with command.

Feature Shortcut Command
Auto Complete ctrl space (also on macOS) auto_complete
Expand Selection unbound lsp_expand_selection
Find References shift f12 lsp_symbol_references
Supports optional args: {"include_declaration": true | false, "output_mode": "output_panel" | "quick_panel"}.
Triggering from context menus while holding ctrl opens in "side by side" mode. Holding shift triggers opposite behavior relative to what show_references_in_quick_panel is set to.
Fold unbound lsp_fold
Supports optional args: {"strict": true/false} - to configure whether to fold only when the caret is contained within the folded region (true), or even when it is anywhere on the starting line (false).
Fold All unbound lsp_fold_all
Supports optional args: {"kind": "comment" | "imports" | "region"}.
Follow Link unbound lsp_open_link
Format File unbound lsp_format_document
Format Selection unbound lsp_format_document_range
Goto Declaration unbound lsp_symbol_declaration
Goto Definition unbound
suggested: f12
Goto Diagnostic unbound
suggested: f8
With args: {"uri": "$view_uri"}.
Goto Diagnostic in Project unbound
suggested: shift f8
Goto Implementation unbound lsp_symbol_implementation
Goto Symbol in Project unbound
suggested: ctrl shift r
Goto Symbol unbound
suggested: ctrl r
Goto Type Definition unbound lsp_symbol_type_definition
Hover Popup unbound lsp_hover
Insert/Replace Completions alt enter lsp_commit_completion_with_opposite_insert_mode
Next Diagnostic unbound lsp_next_diagnostic
Previous Diagnostic unbound lsp_prev_diagnostic
Rename unbound lsp_symbol_rename
Restart Server unbound lsp_restart_server
Run Code Action unbound lsp_code_actions
Run Code Lens unbound lsp_code_lens
Run Refactor Action unbound lsp_code_actions
With args: {"only_kinds": ["refactor"]}.
Run Source Action unbound lsp_code_actions
With args: {"only_kinds": ["source"]}.
Save All unbound lsp_save_all
Supports optional args {"only_files": true | false} - whether to ignore buffers which have no associated file on disk.
Show Call Hierarchy unbound lsp_call_hierarchy
Show Type Hierarchy unbound lsp_type_hierarchy
Signature Help ctrl alt space lsp_signature_help_show
Toggle Diagnostics Panel ctrl alt m lsp_show_diagnostics_panel
Toggle Inlay Hints unbound lsp_toggle_inlay_hints
Supports optional args: {"enable": true | false}.
Toggle Log Panel unbound lsp_toggle_server_panel