Learning your IDE's shortcuts is one of the highest-return investments a developer makes, because the saving is small and repeated thousands of times. This is the Eclipse set worth memorising, with the IntelliJ equivalent alongside — most teams have both.
Windows and Linux bindings are given first; on macOS, substitute Cmd for Ctrl in nearly every case.
The five that matter most
| Do this | Eclipse | IntelliJ |
|---|---|---|
| Open any type | Ctrl+Shift+T | Ctrl+N |
| Quick fix / show intentions | Ctrl+1 | Alt+Enter |
| Go to declaration | F3 | Ctrl+B |
| Find usages | Ctrl+Shift+G | Alt+F7 |
| Search all commands | Ctrl+3 | Ctrl+Shift+A |
If you learn only one, learn the last. Searching commands by name means you never have to memorise the rest — type what you want to do and the IDE offers it, along with its shortcut, which is how you learn the others painlessly.
The second is nearly as valuable. Ctrl+1 on anything underlined in red offers the fix: add the import, create the missing method, surround with try-catch, add the unhandled exception to the signature. A large share of routine typing disappears into it.
Navigation
| Do this | Eclipse | IntelliJ |
|---|---|---|
| Outline of this file | Ctrl+O | Ctrl+F12 |
| Back / forward | Alt+← / → | same |
| Last edit location | Ctrl+Q | Ctrl+Shift+Backspace |
| Go to line | Ctrl+L | Ctrl+G |
| Type hierarchy | F4 | Ctrl+H |
| Search text everywhere | Ctrl+H | Ctrl+Shift+F |
Note that Ctrl+H means opposite things in the two IDEs — file search in Eclipse, type hierarchy in IntelliJ. It is the shortcut most likely to catch you out when switching.
Editing
| Do this | Eclipse | IntelliJ |
|---|---|---|
| Move line up/down | Alt+↑/↓ | Shift+Alt+↑/↓ |
| Duplicate line | Ctrl+Alt+↓ | Ctrl+D |
| Delete line | Ctrl+D | Ctrl+Y |
| Comment / uncomment | Ctrl+/ | same |
| Format | Ctrl+Shift+F | Ctrl+Alt+L |
| Organise imports | Ctrl+Shift+O | Ctrl+Alt+O |
| Content assist | Ctrl+Space | same |
Ctrl+D is the other dangerous overlap: duplicate in IntelliJ, delete in Eclipse.
Refactoring
| Do this | Eclipse | IntelliJ |
|---|---|---|
| Rename | Alt+Shift+R | Shift+F6 |
| Extract method | Alt+Shift+M | Ctrl+Alt+M |
| Extract variable | Alt+Shift+L | Ctrl+Alt+V |
| Inline | Alt+Shift+I | Ctrl+Alt+N |
| Refactor menu | Alt+Shift+T | Ctrl+Alt+Shift+T |
Rename is the one to use religiously. Renaming through the IDE updates every reference, including in other files; renaming by find-and-replace does not, and quietly catches strings and comments it should have left alone. Given how much of good practice is naming things accurately, a rename you can perform in two seconds is a rename you will actually do.
Debugging
| Do this | Eclipse | IntelliJ |
|---|---|---|
| Toggle breakpoint | Ctrl+Shift+B | Ctrl+F8 |
| Step over | F6 | F8 |
| Step into | F5 | F7 |
| Resume | F8 | F9 |
| Evaluate expression | Ctrl+Shift+I | Alt+F8 |
Note that F5–F8 mean different things in each, which makes switching IDEs mid-debug genuinely disorienting. Evaluate expression is the one people never discover and is the most useful — see Debugging.
Generating code you should not type
Both IDEs will write the mechanical parts of a class for you, and the generated versions are more reliable than hand-written ones because they cannot forget a field.
| Generate | Eclipse | IntelliJ |
|---|---|---|
Getters and setters, constructors,
equals/hashCode, toString | Alt+Shift+S | Alt+Insert |
| Override / implement methods | Alt+Shift+S, then V | Ctrl+O / Ctrl+I |
| Surround with try-catch, if, loop | Alt+Shift+Z | Ctrl+Alt+T |
Generating equals and hashCode together is the important one — the
Collections post explains what happens when they disagree, and
the IDE will not let them. Better still, if the class is a pure data carrier, a
record removes the need to generate anything.
Templates
Both IDEs expand short abbreviations into code. Typing sysout in Eclipse or
sout in IntelliJ and pressing Tab produces a print statement; fore
or iter produces a for-each loop over a variable in scope.
The ones that pay off most are your own. If your team writes the same logging line, the same test setup or the same null-check at the top of every method, make it a template — it is a few minutes of configuration for a habit you repeat daily.
How to actually learn them
Do not try to memorise a table. Pick two shortcuts a week, put them on a sticky note, and refuse to use the mouse for those two actions. They become automatic in a few days, and then you pick two more.
Start with quick fix and search-commands. Between them they reach everything else, which means you can learn the rest as you meet them rather than in advance.
Both IDEs also ship a printable keymap reference — Help → Key Assist in Eclipse (Ctrl+Shift+L) and Help → Keyboard Shortcuts PDF in IntelliJ. Worth opening once to see what exists, and then closing.
Next
That completes the advanced section. Debugging is next, opening the last part of the track — working like a professional.