Short and fast keystrokes that the power user lies within.
Editing
Action | Keystroke |
Basic code completion (the name of an class, method or variable) | ⌃ + ␣ |
Smart code completion (filters the list of methods and variables by expected type) | ⌃ + ⇧ + ␣ |
Class name completion (the name of any project class independently of current imports) | ⌃ + ⌥ + ␣ |
Parameter info (within method call arguments) | ⌘ + P |
Quick documentation lookup | ⌃ + J or mid button click |
External Doc | ⇧ + F1 |
Brief Info | ⌘ + mouse over code |
Show descriptions of error or warning at caret | ⌘ + F1 |
Generate code ... (Getters, Setters, Constructors, hashCode / equals, toString) | ⌘ + N | ⌃ + ↩ | ⌃ + N |
Override methods | ⌃ + O |
Implement methods | ⌃ + I |
Surround with ... (if .. else, try .. catch, for, synchronized, etc.) | ⌘ + ⌥ + T |
Comment/uncomment with line comment | ⌘ + / |
Comment/uncomment with block comment | ⌘ + ⌥ + / |
Select successively increasing code word, blocks, whole sentence | ⌥ + ↑ |
Decrease current selection to previous state | ⌥ + ↓ |
Context info | ⌃ + ⇧ + Q |
Show intention actions and quick-fixes | ⌥ + ↩ |
Reformat code | ⌘ + ⌥ + L |
Optimise imports | ⌃ + ⌥ + O |
Auto-indent line(s) | ⌃ + ⌥ + I |
Indent selected lines | ⇥ |
Unindent selected lines | ⇧ + ⇤ |
Cut current line or selected block to clipboard | ⌘ + X |
Copy current line or selected block to clipboard | ⌘ + C |
Paste from clipboard | ⌘ + V |
Paste from recent buffers ... | ⌘ + ⇧ + V |
Duplicate current line or selected block | ⌘ + D |
Delete line at caret | ⌘ + ⌫ |
Smart line join | ⌃ + ⇧ + J |
Smart line split | ⌘ + ↩ |
Start new line | ⇧ + ↩ |
Toggle case for word at caret or selected block | ⌘ + ⇧ + U |
Select till code block end | ⌘ + ⇧ + ] |
Select till code block start | ⌘ + ⇧ + [ |
Delete to word end | ⌥ + ⌦ |
Delete to word start | ⌥ + ⌫ |
Expand code block | ⌘ + + |
Collapse code block | ⌘ + - |
Expand all | ⌘ + ⇧ + + |
Collapse all | ⌘ + ⇧ + - |
Close active editor tab | ⌘ + W |
Move caret line up | ⌘ + ⇧ + ↑ | ⌥ + ⇧ + ↑ |
Move caret line down | ⌘ + ⇧ + ↓ | ⌥ + ⇧ + ↓ |
Search / Replace
Action | Keystroke |
Search everywhere | double ⇧ |
Find | ⌘ + F |
Find next | ⌘ + G |
Find previous | ⌘ + ⇧ + G |
Replace | ⌘ + R |
Find in path | ⌘ + ⇧ + F |
Replace in path | ⌘ + ⇧ + R |
Search structurally (Ultimate Edition only) | ⌘ + ⇧ + S |
Replace structurally (Ultimate Edition only) | ⌘ + ⇧ + M |
Usage Search
Action | Keystroke |
Find usages | ⌥ + F7 |
Find usages in file | ⌘ + F7 |
Highlight usages in file | ⌘ + ⇧ + F7 |
Show usages | ⌘ + ⌥ + F7 |
Compile and Run
Action | Keystroke |
Make project (compile modifed and dependent) | ⌘ + F9 |
Compile selected file, package or module | ⌘ + ⇧ + F9 |
Select configuration and run | ⌃ + ⌥ + R |
Select configuration and debug | ⌃ + ⌥ + D |
Run | ⌃ + R |
Debug | ⌃ + D |
Run context configuration from editor | ⌃ + ⇧ + R |
Debug context configuration from editor | ⌃ + ⇧ + D |
Debugging
Action | Keystroke |
Step over | F8 |
Step into | F7 |
Smart step into | ⇧ + F7 |
Step out | ⇧ + F8 |
Run to cursor | ⌥ + F9 |
Evaluate expression | ⌥ + F8 |
Resume program | ⌘ + ⌥ + R |
Toggle breakpoint | ⌘ + F8 |
View breakpoints | ⌘ + ⇧ + F8 |
Navigation
Action | Keystroke |
Go to class | ⌘ + O |
Go to file | ⌘ + ⇧ + O |
Go to symbol | ⌘ + ⌥ + O |
Go to head of the line | ⌘ + → |
Go to end of the line | ⌘ + ← |
Go to next editor tab | ⌃ + → |
Go to previous editor tab | ⌃ + ← |
Go to next editor word | ⌥ + → |
Go to previous editor word | ⌥ + ← |
Go back to previous tool window | F12 |
Go to editor (from tool window) | ⎋ |
Hide active or last active window | ⇧ + ⎋ |
Close active run / messages / find / ... tab | ⌘ + ⇧ + F4 |
Go to line | ⌘ + L |
Recent files popup | ⌘ + E |
Recent edited files popup | ⌘ + ⇧ + E |
Navigate forward | ⌘ + ⌥ + → |
Navigate back | ⌘ + ⌥ + ← |
Navigate to last edit location | ⌘ + ⇧ + ⌫ |
Select current file or symbol in any view | ⌥ + F1 |
Go to declaration | ⌘ + B | ⌘ + click |
Go to implementation(s) | ⌘ + ⌥ + B |
Open quick definition lookup | ⌥ + ␣ | ⌘ + Y |
Go to type declaration | ⌃ + ⇧ + B |
Go to super method / super class | ⌘ + U |
Go to previous method | ⌃ + ↑ |
Go to next method | ⌃ + ↓ |
Move to code block end | ⌘ + ] |
Move to code block start | ⌘ + [ |
File structure popup | ⌘ + F12 |
Type hierarchy | ⌃ + H |
Method hierarchy | ⌘ + ⇧ + H |
Call hierarchy | ⌃ + ⌥ + H |
Next highlighted error | F2 |
Previous highlighted error | ⇧ + F2 |
Edit source | F4 |
View source | ⌘ + ↓ |
Show navigation bar | ⌥ + Home ( Fn + ← for Home key) |
Toggle bookmark | F3 |
Toggle bookmark with mnemonic | ⌥ + F3 |
Go to numbered bookmark | ⌃ + 0 ... ⌃ + 9 |
Show bookmarks | ⌘ + F3 |
Refactoring
Action | Keystroke |
Copy | F5 |
Move | F6 |
Safe delete | ⌘ + ⌫ |
Rename | ⇧ + F6 |
Change signature | ⌘ + F6 |
Inline | ⌘ + ⌥ + N |
Extract Method | ⌘ + ⌥ + M |
Extract Variable | ⌘ + ⌥ + V |
Extract Field | ⌘ + ⌥ + F |
Extract Constant | ⌘ + ⌥ + C |
Extract Parameter | ⌘ + ⌥ + P |
VCS / Local History
Action | Keystroke |
Commit project to VCS | ⌘ + K |
Update project from VCS | ⌘ + T |
View recent changes | ⌥ + ⇧ + C |
'VCS' quick popup | ⌃ + V |
Live Templates
Action | Keystroke |
Surround with Live Template | ⌘ + ⌥ + J |
Insert Live Template | ⌘ + J |
General
Action | Keystroke |
Open corresponding tool window | ⌘ + 0 ... ⌘ + 9 |
Save all | ⌘ + S |
Synchronise | ⌘ + ⌥ + Y |
Toggle full screen mode | ⌃ + ⌘ + F |
Toggle maximizing editor | ⌘ + ⇧ + F12 |
Add to favourites | ⌥ + ⇧ + F |
Inspect current file with current profile | ⌥ + ⇧ + I |
Quick switch current scheme | ⌃ + ` |
Open Settings dialog | ⌘ + , |
Open Project Structure dialog | ⌘ + ; |
Find Action | ⇧ + ⌘ + A |
Quick switch current scheme | ⌃ + ` |
Switch between tabs and tool window | ⌃ + ⇥ |
Select Text
Action | Keystroke |
Select a retangular block of text | ⌥ + hold and drag mouse |
Add carets at multiple location | ⌥ + ⇧ + mouse click |
Switch between column and row selection | ⌘ + ⇧ + 8 |
Select the next occurrence | ⌃ + G |
Unselect the next occurrence | ⌃ + ⇧ + G |
Select all occurrences | ⌃ + ⌘ + G |
Select one letter | ⇧ + → |
Unselect one letter | ⇧ + ← |