Keyboard shortcuts
On macOS, use Cmd for the Ctrl shortcuts of the editor.
Files and navigation
| Shortcut | Action |
|---|---|
| Ctrl+O | Open a file |
| Alt+Insert | New document |
| Ctrl+S | Save |
| Ctrl+Shift+S | Save as |
| Ctrl+F4 | Close the tab |
| Double Shift | Search Everywhere |
| Ctrl+Shift+A | Find Action (the actions and commands only) |
| Ctrl+E / Ctrl+Shift+E | Recent files / recent locations |
| Ctrl+Tab | Switch file (hold Ctrl, Tab goes on, release opens) |
| F11 / Shift+F11 | Set or remove a bookmark / list the bookmarks |
| Ctrl+Shift+1…9 / Ctrl+1…9 | Give the bookmark of the line a number / go to the bookmark with that number |
| Ctrl+Shift+N | Go to file |
| Ctrl+N | Go to symbol (classes, functions and types of the project) |
| Ctrl+Alt+S | Settings |
| Alt+1 | Project window |
| Alt+6 | Problems window |
| Alt+7 | AI Sessions window |
| Alt+F12 / Ctrl+` | Show or hide the terminal |
Editing
| Shortcut | Action |
|---|---|
| Ctrl+W / Ctrl+Shift+W | Extend / shrink the selection (word, string, inside the brackets, brackets, line, file) |
| Ctrl+Shift+J | Join lines |
| Ctrl+Shift+U | Toggle case |
| Alt+Shift+Up / Down | Move the line or the selected lines |
| Ctrl+Shift+Up / Down | Move the statement (a line, or a block with its lines) |
| Alt+J / Alt+Shift+J | Add the next occurrence to the selection / remove the last one |
| Ctrl+Alt+Shift+J | Select all the occurrences |
| Alt+Shift+click | Add or remove a caret |
| Alt+drag / Alt+Shift+Insert | Column selection (drag with Alt, or switch the mode) |
| Ctrl+Alt+T | Surround with (braces, if, try, quotes… and your templates) |
| value.if, value.var, value.for… | Postfix templates: type a dot and the name after an expression (Settings › Editor › Live Templates) |
| Ctrl+Alt+V / C / N / M | Extract variable / constant, inline variable, extract method (JavaScript, TypeScript) |
| Ctrl+D / Ctrl+Y | Duplicate / delete the line (Ctrl+Y redoes right after an undo) |
| Ctrl+F / Ctrl+R | Find / replace in the file |
| Ctrl+Shift+F | Find in the project |
| F2 / Shift+F2 | Next / previous problem of the file (errors first) |
| Ctrl+- / Ctrl+= | Fold / unfold |
Code intelligence
| Shortcut | Action |
|---|---|
| Ctrl+Space | Code completion |
| Ctrl+P | Parameter info (also after ( and ,) |
| Ctrl+Q | Quick documentation |
| Ctrl+Shift+I | Quick definition |
| Ctrl+H / Ctrl+Alt+H | Type hierarchy / call hierarchy (→ opens, ← closes, Tab turns parents into children) |
| Ctrl+Alt+Shift+T | Refactor this (extract, inline… as the language server offers them) |
| Alt+Enter | Quick actions (import…) |
| Ctrl+B / Ctrl+click | Go to declaration, or list the usages of a declaration |
| Ctrl+Shift+B / Ctrl+Alt+B | Go to the type declaration / implementations |
| Alt+F7 | Find usages |
| Ctrl+F12 | File structure |
| Ctrl+Alt+Left / Right | Back / forward |
| Ctrl+Shift+M | Matching bracket |
| Shift+F6 | Rename |
| Ctrl+Alt+L | Reformat code |
| Ctrl+Alt+Shift+L | Reformat file… |
| Ctrl+Alt+O | Optimize imports |
Running
| Shortcut | Action |
|---|---|
| Shift+F10 / F5 | Run |
| Ctrl+F2 | Stop (Ctrl+C in the active terminal) |
Git
| Shortcut | Action |
|---|---|
| Ctrl+K | Commit |
| Ctrl+Shift+K | Push |
| Ctrl+T | Update project (pull) |
| Alt+0 / Alt+9 | Commit / Git windows |
| F7 / Shift+F7 | Next / previous difference in the diff |