IntelliJ IDEA is a very good Java IDE, most of its commands have shortcuts to keep your hands from leaving the keyboard
| shortcut | description | 
|---|---|
| CtrlSpace | Basic code completion | 
| CtrlShiftSpace | Smart code completion | 
| CtrlShiftEnter | Complete statement | 
| CtrlP | Parameter info | 
| CtrlQ | Quick documentation lookup | 
| ShiftF1 | External Doc | 
| Ctrlhover | Brief Info | 
| CtrlF1 | Error or warning at caret | 
| AltInsert | Generate code | 
| CtrlO | Override methods | 
| CtrlI | Implement methods | 
| CtrlAltT | Surround with | 
| Ctrl/ | Comment or uncomment line | 
| CtrlShift/ | Comment or uncomment block | 
| CtrlW | Select successively increasing code blocks | 
| CtrlShiftW | Decrease current selection to previous state | 
| AltQ | Context info | 
| AltEnter | Show intention actions and quick-fixes | 
| CtrlAltL | Reformat code | 
| CtrlAltO | Optimize imports | 
| CtrlAltI | Auto-indent line(s) | 
| Tab | Indent selected lines | 
| ShiftTab | Unindent selected lines | 
| CtrlX | Cut current line or selected block to clipboard | 
| CtrlC | Copy current line or selected block to clipboard | 
| CtrlV | Paste from clipboard | 
| CtrlShiftV | Paste from recent buffers | 
| CtrlD | Duplicate current line or selected block | 
| CtrlY | Delete line at caret | 
| CtrlShiftJ | Smart line join | 
| CtrlEnter | Smart line split | 
| ShiftEnter | Start new line | 
| CtrlShiftU | Toggle case for word at caret or selected block | 
| CtrlShift]/[ | Select till code block end/start | 
| CtrlBackspace | Delete to word end/start | 
| Ctrl+/- | Expand/collapse code block | 
| CtrlShift+ | Expand all | 
| CtrlShift- | Collapse all | 
| CtrlF4 | Close active editor tab | 
| shortcut | description | 
|---|---|
| AltF7/CtrlF7 | Find usages/Find usages in file | 
| CtrlShiftF7 | Highlight usages in file | 
| CtrlAltF7 | Show usages | 
| shortcut | description | 
|---|---|
| CtrlN | Go to class | 
| CtrlShiftN | Go to file | 
| CtrlAltShiftN | Go to symbol | 
| AltRight/Left | Go to next / previous editor tab | 
| F12 | Go back to previous tool window | 
| Esc | Go to editor | 
| ShiftEsc | Hide active or last active window | 
| CtrlShiftF4 | Close active run, messages... | 
| CtrlG | Go to line | 
| CtrlE | Recent files popup | 
| CtrlAltLeft/Right | Navigate back / forward | 
| CtrlShiftBackspace | Navigate to last edit location | 
| AltF1 | Select current file or symbol in any view | 
| CtrlB/CtrlClick | Go to declaration | 
| CtrlAltB | Go to implementation(s) | 
| CtrlShiftI | Open quick definition lookup | 
| CtrlShiftB | Go to type declaration | 
| CtrlU | Go to super-method / super-class | 
| AltUp/Down | Go to previous / next method | 
| Ctrl]/[ | Move to code block end/start | 
| CtrlF12 | File structure popup | 
| CtrlH | Type hierarchy | 
| CtrlShiftH | Method hierarchy | 
| CtrlAltH | Call hierarchy | 
| F2/ShiftF2 | Next/previous highlighted error | 
| F4/CtrlEnter | Edit source / View source | 
| AltHome | Show navigation bar | 
| F11 | Toggle bookmark | 
| CtrlF11 | Toggle bookmark with mnemonic | 
| Ctrl0...9 | Go to numbered bookmark | 
| ShiftF11 | Show bookmarks | 
| shortcut | description | 
|---|---|
| Double Shift | Search everywhere | 
| CtrlF | Find | 
| F3ShiftF3 | Find next / Find previous | 
| CtrlR | Replace | 
| CtrlShiftF | Find in path | 
| CtrlShiftR | Replace in path | 
| shortcut | description | 
|---|---|
| CtrlAltJ | Surround with Live Template | 
| CtrlJ | Insert Live Template | 
| iter | Iteration according to Java SDK 1.5 style | 
| inst | Check object type with instanceof and downcast it | 
| itco | Iterate elements of java.util.Collection | 
| itit | Iterate elements of java.util.Iterator | 
| itli | Iterate elements of java.util.List | 
| psf | public static final | 
| thr | throw new | 
| shortcut | description | 
|---|---|
| F5 | Copy | 
| F6 | Move | 
| AltDelete | Safe Delete | 
| ShiftF6 | Rename | 
| CtrlF6 | Change Signature | 
| CtrlAltN | Inline | 
| CtrlAltM | Extract Method | 
| CtrlAltV | Extract Variable | 
| CtrlAltF | Extract Field | 
| CtrlAltC | Extract Constant | 
| CtrlAltP | Extract Parameter | 
| shortcut | description | 
|---|---|
| F8/F7 | Step over/Step into | 
| ShiftF7/ShiftF8 | Smart step into/Step out | 
| AltF9 | Run to cursor | 
| AltF8 | Evaluate expression | 
| F9 | Resume program | 
| CtrlF8 | Toggle breakpoint | 
| CtrlShiftF8 | View breakpoints | 
| shortcut | description | 
|---|---|
| CtrlF9 | Make project | 
| CtrlShiftF9 | Compile selected file, package or module | 
| AltShiftF10/F9 | Select configuration and run/and debug | 
| ShiftF10/F9 | Run/Debug | 
| CtrlShiftF10 | Run context configuration from editor | 
| shortcut | description | 
|---|---|
| CtrlK | Commit project to VCS | 
| CtrlT | Update from VCS | 
| AltShiftC | View recent changes | 
| Alt` | VCS Operations Popup | 
| shortcut | description | 
|---|---|
| Alt0...9 | Open corresponding tool window | 
| CtrlS | Save all | 
| CtrlAltY | Synchronize | 
| CtrlShiftF12 | Toggle maximizing editor | 
| AltShiftF | Add to Favorites | 
| AltShiftI | Inspect current file | 
| Ctrl` | Quick switch current scheme | 
| CtrlAltS | Open Settings dialog | 
| CtrlAltShiftS | Open Project Structure dialog | 
| CtrlShiftA | Find Action | 
| CtrlTab | Switch between tool and tabs |