Experiment! ⚗
I conducted a little experiment where I logged the keyboard shortcuts I used in Intellij from roughly a days dev. The list below contains the top 50 keybinds I used in order of count.
Note: I removed a few keybinds that are not strictly Intellij e.g. ctrl + shift + arrow keys
for highlighting text, ctrl + c
, ctrl + v
, among many others.
No. | Keybind (Mac) | What it does | Count |
---|---|---|---|
1 | Alt+Up/Down (^Up/Down) | Jump to next method | 137 |
2 | Ctrl+Alt+Left/Right (⌥[/]) | Go back/forward location | 101 |
3 | Alt+Left/Right | Switch to next file | 65 |
4 | Alt+Enter (⌥Enter) | Show action intentions | 56 |
5 | Ctrl+B (⌘B) | Go to declaration | 51 |
6 | Ctrl+Shift+F (⇧⌘F) | Find in path | 47 |
7 | Ctrl+Alt+L (⌥⌘L) | Reformat code | 44 |
8 | Ctrl+Alt+O (^⌥O) | Organise Imports | 44 |
9 | F8 | (In debug) Step over | 43 |
10 | Ctrl+F (⌘F) | Search current file | 32 |
11 | Alt+Insert (⌘N) | Generate code (can be done in multiple views) | 31 |
12 | Ctrl+Alt+M (⌥⌘M) | (With code highlighted) Extract method | 28 |
13 | Alt+F8 (⌥F8) | (In debug) Open evaluation window | 26 |
14 | Ctrl+/ (⌘/) | Comment code | 26 |
15 | F7 | (In debug) Step into | 22 |
16 | Ctrl+Shift+N (⇧⌘O) | Search classes/files/symbols/actions | 22 |
17 | Ctrl+F4 | Close current tab | 21 |
18 | Alt+F7 (⌥F7) | Find all usages | 17 |
19 | Ctrl+F8 (⌘F8) | Add breakpoint | 17 |
20 | Ctrl+Up/Down | Move view | 16 |
21 | Alt+1 (⌘1) | Opens up file explorer | 15 |
22 | Ctrl+D (⌘D) | Duplicates line | 14 |
23 | Ctrl+Space (^Space) | Basic code completion | 14 |
24 | Shift+F9 (^D) | Begin debugger | 11 |
25 | F9 (⌥⌘F9) | (In debug) Resume Program | 11 |
26 | Ctrl+Shift+Space (^⇧Space) | Complete current statement | 9 |
27 | Alt+1, Alt+Insert (⌘1, ⌘N) | Create new file | 7 |
28 | shift + alt + up/down (⌥⇧Up/Down) | Move code | 6 |
29 | Alt+F9 (⌥F9) | (In debug) Continue execution and stop at cursor | 5 |
30 | Ctrl+E (⌘E) | Recent files | 5 |
31 | Alt+F10 (⌥F10) | (In debug) Go to where execution stopped | 4 |
32 | Ctrl+Shift+V (⇧⌘V) | Paste from recent clipboards | 4 |
33 | Double Shift | Search anywhere | 4 |
34 | Ctrl+P (⌘P) | Parameter info | 4 |
35 | Ctrl+Shift+/ (⌥⌘/) | Comment block code | 3 |
36 | Ctrl+X (⌘X) | Cut (line or highlighted) | 3 |
37 | Shift+F6 (⇧F6) | Rename | 3 |
38 | Ctrl+Alt+S (⌘,) | Settings | 3 |
39 | Ctrl+K (⌘K) | Commit changes window | 2 |
40 | Ctrl+Shift+R (⇧⌘R) | Replace in path | 2 |
41 | Ctrl+O (^O) | Override methods | 2 |
42 | Ctrl+Shift+E (⇧⌘E) | Recent locations | 2 |
43 | Ctrl+R (⌘R) | Replace | 1 |
44 | Alt+J (^G) | Select next occurence | 1 |
45 | Ctrl+Alt+V (⌥⌘V) | Extract variable | 1 |
46 | Shift+F10 (^R) | Run | 1 |
47 | Ctrl+Alt+F7 (⌥⌘F7) | Show usages | 1 |
48 | Ctrl+Alt+T | Surround with | 1 |
49 | Ctrl+Shift+Alt+T (⌥⌘T) | Refactor this | 1 |
50 | Double Ctrl | Run anything | 1 |
Conclusion 🔎
It’s quite funny looking at these results, I feel as though I could have a good guess at what sort of code I was writing just from the keybinds I use. Also, it highlights potential ways I could increase my productivity by focusing more on some keybinds that could do with more usage such as the Surround with
shortcut, I’m sure I could have used it > 30 times.
Of course, your mileage will vary depending upon your preferences, the task you’re working on or even just the way you code.
These are also by no means all the keyboard shortcuts in IntelliJ (There are bloody hundreds) they are just the useful ones I’ve picked up from my years of hacking away in it.
I hope this is of use to some of you, I know it will be for me if I ever go long periods of time without using the IDE (Probably not 😆).
VSCode – Intellij IDEA Extension
If you’re coming from an Intellij background and you use VSCode, install the IntelliJ IDEA Keybindings Extension, it is bloody marvelous.
Follow me on twitter if you don’t want to miss out on absolutely brilliant programming insight: 🤣 @luke_garrigan