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
Thank you, if you like my rambling check out my personal blogging site at https://codeheir.com/
This blog is sponsored by Code Canvases
Make your room come alive with the coolest programming/coding canvases on the market. codecanvases.com is the number 1 seller for programming prints with 100% exclusively designed canvases. Get them now whilst they're 20% off!!
Top comments (6)
Handy list! Surprised though that Ctrl + F6 wasn't on it. Opens up a dialog to change the signature of a method, enabling you to easily add/remove/change parameters, or even change their order + refactor all their call sites.
Ooh lovely I’m gonna have to add that to my arsenal, thank you!
Hah, that’s funny 😁
I’d love to use more shortcuts but using Mac at home and Linux+Windows at work messes it all up, and made even worse by using Rider and IntelliJ. I could really use some sort of cross-product, cross-platform shortcut manager!
I completely agree with this, I work on Windows and whenever I do some dev on my old Mac it completely throws me off, I just end up ignoring keybinds on my Mac as I’m too worried about pressing the wrong thing 😂
Thanks, added some bindings to my toolbox :)
My personal favourites that aren't on the list:
Alt+F12 - Open terminal
Ctrl+F12 - View members
Alt+9 - List of VCS changes
Ctrl+Shift+K - View pending commits (and push'em)
And of course the godlike Ctrl+W! It saved me a ton of neural activity. It's like a homing aid system for us developers.
Remapping “Rename” to
Command + Option + R
was probably one of the first things I did after being used to Eclipse. I think it has changed in Eclipse in the meantime.