IntelliJ IDEA Shortcuts Quick Reference
Everything you need to speed up your workflow – from basic editing to advanced refactoring.
General
| Action | macOS | Windows / Linux |
|---|---|---|
| Search Everywhere | ⌘ + Shift + A (or double Shift) | Shift + Shift (or double Shift) |
| Find Action | ⌘ + Shift + A | Ctrl + Shift + A |
| Open Settings | ⌘ + , | Ctrl + Alt + S |
| Open Project Structure | ⌘ + ; | Ctrl + Shift + Alt + S |
| Open File | ⌘ + Shift + O | Ctrl + Shift + N |
| Open Class | ⌘ + O | Ctrl + N |
| Open Symbol | ⌘ + ⌥ + O | Ctrl + Alt + Shift + N |
| Recent Files | ⌘ + E | Ctrl + E |
| Recent Locations | ⌘ + Shift + E | Ctrl + Shift + E |
| Toggle Full Screen | ⌘ + Ctrl + F | F11 |
| Toggle Toolbar | ⌘ + Shift + F12 | Ctrl + Shift + F12 |
Editing
| Action | macOS | Windows / Linux |
|---|---|---|
| Basic Code Completion | ⌘ + Space | Ctrl + Space |
| Smart Code Completion | ⌘ + Shift + Space | Ctrl + Shift + Space |
| Parameter Info | ⌘ + P | Ctrl + P |
| Quick Documentation | ⌘ + J | Ctrl + Q |
| Show Context Actions | ⌘ + Enter | Alt + Enter |
| Generate Code | ⌘ + N | Alt + Insert |
| Override Methods | ⌘ + O | Ctrl + O |
| Implement Methods | ⌘ + I | Ctrl + I |
| Surround With | ⌘ + ⌥ + T | Ctrl + Alt + T |
| Unwrap / Remove | ⌘ + Shift + Delete | Ctrl + Shift + Delete |
| Comment with Line Comment | ⌘ + / | Ctrl + / |
| Comment with Block Comment | ⌘ + Shift + / | Ctrl + Shift + / |
| Reformat Code | ⌘ + ⌥ + L | Ctrl + Alt + L |
| Optimize Imports | ⌘ + ⌥ + O | Ctrl + Alt + O |
| Move Line Up/Down | ⌘ + Shift + ↑ / ↓ | Ctrl + Shift + ↑ / ↓ |
| Duplicate Line | ⌘ + D | Ctrl + D |
| Delete Line | ⌘ + Delete | Ctrl + Y |
Navigation
| Action | macOS | Windows / Linux |
|---|---|---|
| Go to Class | ⌘ + O | Ctrl + N |
| Go to File | ⌘ + Shift + O | Ctrl + Shift + N |
| Go to Symbol | ⌘ + ⌥ + O | Ctrl + Alt + Shift + N |
| Go to Declaration | ⌘ + B | Ctrl + B |
| Go to Implementation | ⌘ + ⌥ + B | Ctrl + Alt + B |
| Go to Super Class | ⌘ + U | Ctrl + U |
| Go to Test | ⌘ + Shift + T | Ctrl + Shift + T |
| Go to Line | ⌘ + L | Ctrl + G |
| Go to Previous/Next Editor | ⌘ + ← / → | Ctrl + ← / → |
| Back / Forward | ⌘ + [ / ⌘ + ] | Ctrl + Alt + ← / → |
| Go to Last Edit Location | ⌘ + Shift + Backspace | Ctrl + Shift + Backspace |
| File Structure | ⌘ + F12 | Ctrl + F12 |
| Type Hierarchy | ⌘ + H | Ctrl + H |
| Call Hierarchy | ⌘ + ⌥ + H | Ctrl + Alt + H |
Search & Replace
| Action | macOS | Windows / Linux |
|---|---|---|
| Find | ⌘ + F | Ctrl + F |
| Find Next / Previous | ⌘ + G / ⌘ + Shift + G | F3 / Shift + F3 |
| Replace | ⌘ + R | Ctrl + R |
| Find in Path | ⌘ + Shift + F | Ctrl + Shift + F |
| Replace in Path | ⌘ + Shift + R | Ctrl + Shift + R |
| Find Usages | ⌘ + F7 | Alt + F7 |
| Show Usages | ⌘ + ⌥ + F7 | Ctrl + Alt + F7 |
| Highlight Usages in File | ⌘ + Shift + F7 | Ctrl + Shift + F7 |
Refactoring
| Action | macOS | Windows / Linux |
|---|---|---|
| Rename | ⌘ + F6 (or Shift + F6) | Shift + F6 |
| Change Signature | ⌘ + F6 | Ctrl + F6 |
| Extract Method | ⌘ + ⌥ + M | Ctrl + Alt + M |
| Extract Variable | ⌘ + ⌥ + V | Ctrl + Alt + V |
| Extract Field | ⌘ + ⌥ + F | Ctrl + Alt + F |
| Extract Constant | ⌘ + ⌥ + C | Ctrl + Alt + C |
| Extract Parameter | ⌘ + ⌥ + P | Ctrl + Alt + P |
| Introduce Parameter | ⌘ + ⌥ + P | Ctrl + Alt + P |
| Introduce Local Variable | ⌘ + ⌥ + V | Ctrl + Alt + V |
| Inline | ⌘ + ⌥ + N | Ctrl + Alt + N |
| Move | ⌘ + Shift + M | F6 |
| Copy Class | ⌘ + Shift + M | F5 |
| Pull Members Up | ⌘ + Shift + U | Ctrl + Alt + U |
| Push Members Down | ⌘ + Shift + D | Ctrl + Alt + D |
| Encapsulate Fields | ⌘ + Shift + E | Ctrl + Alt + E |
Debugging
| Action | macOS | Windows / Linux |
|---|---|---|
| Start Debugging | ⌘ + D | Shift + F9 |
| Run | ⌘ + R | Shift + F10 |
| Step Over | F8 | F8 |
| Step Into | F7 | F7 |
| Step Out | Shift + F8 | Shift + F8 |
| Smart Step Into | Shift + F7 | Shift + F7 |
| Resume Program | ⌘ + ⌥ + R | F9 |
| Toggle Breakpoint | ⌘ + F8 | Ctrl + F8 |
| Toggle Breakpoint (with condition) | ⌘ + Shift + F8 | Ctrl + Shift + F8 |
| Evaluate Expression | ⌘ + F8 (in debugger) | Alt + F8 |
Version Control (Git)
| Action | macOS | Windows / Linux |
|---|---|---|
| VCS Operations Popup | ⌘ + V | Alt + ` |
| Commit Changes | ⌘ + K | Ctrl + K |
| Push Changes | ⌘ + Shift + K | Ctrl + Shift + K |
| Pull Changes | ⌘ + T | Ctrl + T |
| View Diff | ⌘ + D | Ctrl + D |
| Show History | ⌘ + Shift + H | Ctrl + Shift + H |
| Git Log | ⌘ + 9 | Alt + 9 |
Build & Run
| Action | macOS | Windows / Linux |
|---|---|---|
| Build Project | ⌘ + F9 | Ctrl + F9 |
| Build Module | ⌘ + Shift + F9 | Ctrl + Shift + F9 |
| Run | ⌘ + R | Shift + F10 |
| Run Current File | ⌘ + Shift + R | Ctrl + Shift + F10 |
| Stop | ⌘ + F2 | Ctrl + F2 |
| Run Anything | ⌘ + Ctrl + R | Ctrl + Ctrl |
| Run All Tests | ⌘ + Shift + T | Ctrl + Shift + T |
Window Management
| Action | macOS | Windows / Linux |
|---|---|---|
| Hide All Tool Windows | ⌘ + Shift + F12 | Ctrl + Shift + F12 |
| Jump to Tool Window | ⌘ + 1-9 | Alt + 1-9 |
| Split Right | ⌘ + Shift + ] | Ctrl + Shift + ] |
| Split Down | ⌘ + Shift + [ | Ctrl + Shift + [ |
| Next Editor Tab | ⌘ + Shift + → | Ctrl + Shift + → |
| Previous Editor Tab | ⌘ + Shift + ← | Ctrl + Shift + ← |
| Close Active Editor Tab | ⌘ + W | Ctrl + F4 |
| Close All Editor Tabs | ⌘ + Shift + W | Ctrl + Shift + F4 |
Productivity Tips
- Live Templates: ⌘/Ctrl + J – insert predefined code snippets
- Postfix Completion: Type
var.if→if (var) - Intentions: ⌘/Ctrl + Enter / Alt + Enter – quick fixes
- Multiple Carets: ⌘/Ctrl + G / Shift + G – add selection
- Column Selection: ⌘/Ctrl + Shift + 8 – rectangular selection
- Type / Select: ⌘/Ctrl + Shift + ↑ / ↓ – move statements
📌 Quick Reference
Search: ⌘/Ctrl + Shift + N (file), ⌘/Ctrl + N (class)
Generate: ⌘/Ctrl + N (or Alt + Insert)
Refactor: Shift + F6 (rename), ⌘/Ctrl + Alt + M (extract method)
Debug: F8 (step over), F7 (step into), F9 (resume)
Run: ⌘/Ctrl + R (run), ⌘/Ctrl + D (debug)
VCS: ⌘/Ctrl + K (commit), ⌘/Ctrl + Shift + K (push)
Tool windows: ⌘/Alt + 1-9
Generate: ⌘/Ctrl + N (or Alt + Insert)
Refactor: Shift + F6 (rename), ⌘/Ctrl + Alt + M (extract method)
Debug: F8 (step over), F7 (step into), F9 (resume)
Run: ⌘/Ctrl + R (run), ⌘/Ctrl + D (debug)
VCS: ⌘/Ctrl + K (commit), ⌘/Ctrl + Shift + K (push)
Tool windows: ⌘/Alt + 1-9