50 Keybinds ⌨ EVERY Intellij user MUST know! ✔
Tags: java, intellij, scala, javascript
Published: 2019-09-13 20:09:16


# 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](https://github.com/kasecato/vscode-intellij-idea-keybindings), it is bloody marvelous.

Follow me on twitter if you don't want to miss out on absolutely brilliant programming insight: 🤣 [@luke_garrigan](https://twitter.com/luke_garrigan)

Thank you, if you like my rambling check out my personal blogging site at https://codeheir.com/


## This blog is sponsored by <a href="https://www.codecanvases.com">Code Canvases</a>

Make your room come alive  with the coolest programming/coding canvases on the market.<a href="https://www.w3schools.com"> codecanvases.com</a> is the number 1 seller for programming prints with 100% exclusively designed canvases. Get them now whilst they're **20% off!!**
![[https://codecanvases.com/](https://codecanvases.com/)](https://cdn.shopify.com/s/files/1/0311/0151/7955/products/jqbr8djyof6ktl8qopmkpvy4_480x480.png?v=1585483987)