DEV Community

Cover image for My IntelliJ IDEA setup
Christian Vasquez
Christian Vasquez

Posted on

My IntelliJ IDEA setup

Photo by Dominik Scythe on Unsplash

Making yourself at home is essential for productivity. Whether that's using your favorites extensions in your favorite editor or having the right height for your chair and desk, we all have our personal preferences.

Today, I would like to share some small changes I do every time I have a fresh installation of IntelliJ IDEA.

Note: Any of the following configurations can be used on any IntelliJ based IDEs, like: Riders, Webstorm, Android Studio, PHPStorm, etc.

Changing the default font

Fira Code has quickly become my favorite because not only does it read well, but has support for font ligatures, which makes certain symbols combine or alter their way of being rendered while you are coding.

In order to so:

  1. Open the Settings window in the File menu or by pressing CTRL + ALT + S/Command + , on Windows or MacOS respectively.
  2. On the left panel, select the Editor category and the click on Font.

Now, luckily for us, every JetBrain's IDE comes with Fira Code installed by default, so we don't have to do anything other than selecting it from the Font's dropdown menu.

Note: If you like the way font ligatures look like, make sure to also check the Enable font ligatures on that window.

Here's how my settings look like:

Font settings

To know more about it, checkout their GitHub's repository:

GitHub logo tonsky / FiraCode

Free monospaced font with programming ligatures

Fira Code: free monospaced font with programming ligatures

Fira Code

Problem

Programmers use a lot of symbols, often encoded with several characters. For the human brain, sequences like ->, <= or := are single logical tokens, even if they take two or three characters on the screen. Your eye spends a non-zero amount of energy to scan, parse and join multiple characters into a single logical one. Ideally, all programming languages should be designed with full-fledged Unicode symbols for operators, but that’s not the case yet.

Solution

Fira Code is a free monospaced font containing ligatures for common programming multi-character combinations. This is just a font rendering feature: underlying code remains ASCII-compatible. This helps to read and understand code faster. For some frequent sequences like .. or //, ligatures allow us to correct spacing.

Download & Install

Fira_Code_v5.2.zip - June 12, 2020 - 2.3 MB

Then:

Support

Sponsor

Fira Code is a…

Removing case sensitivity

The default behaviour is that in order for the Editor's auto completion to pop up for classes names, we need to write it's name starting with a capital letter, which to me is a little bit cumbersome, and I find that without this the IDE still does a great job at predicting what I want to type.

To be able to do this, we have to:

  1. Open the Settings window in the File menu or by pressing CTRL + ALT + S/Command + , on Windows or MacOS respectively.
  2. On the left panel, select the Editor category, expand the General menu and choose the Code Completion option.
  3. Select the None option from the Case sensitive completion dropdown.

Example:

I made a Pizza class and as I'm making a new instance of it, the auto completion pops up:

Auto completion without case sensitivity

Now go ahead and try it out for yourself and see if it works for you :)

Helpful plugins

These days, IDEs come with so many helpful features out of the box, but these plugins can be that cherry on top of your delicious ice cream:

.ignore

by Jakub Chrzanowsk

I use this one to automatically find files that are not being tracked by Git and add them to my .gitignore. It can even detect if your project doesn't have a .gitignore file and create it for you.

Markdown support

by Valentin Fondaratov, Anna Kutarba, Dmitry Krasilschikov

This one adds both support for .md files (like README, CONTRIBUTING) that are commonly used in Git repositories with a previewer as a side panel that let's you see how everything looks while you write your Markdown.

Aaand that's pretty much it

I also like to play around with a few keyboard shortcuts here and there, but I try not to customize it too much in order to reduce any frustration from me or others when switching from one computer to the other.

Discussion (7)

Collapse
quii profile image
Chris James • Edited on

I would add to this make sure you have no tabs hadihariri.com/2014/06/24/no-tabs-....

My productivity got at least 0.00001% better after removing the tabs and just using command+e to navigate through recent files

Collapse
maximekjaer profile image
Maxime Kjaer

One of my favorite plugins is Rainbow Brackets. I don't know how I lived before discovering it 😅

Collapse
chrisvasqm profile image
Christian Vasquez Author

This. Is. AWESOME!

Thanks for sharing it <3

Collapse
aldwindelgado profile image
Aldwin Delgado

The option for Code Completion case sensitivity is different now in 2018.2

Code Completion 2018.2 Version

But most of it is an interesting thing! Thanks for sharing this!

Collapse
youmoo profile image
youmoo

For spring mvc users, Request mapper is a must-have.

Collapse
isaacleimgruber profile image
IsaacLeimgruber

Woaw as a future Junior I can only appreciate this kind of article about that good of an IDE

Collapse
rohit profile image
Rohit Awate

I would add Statistic or MetricsReloaded to the list of useful plugins.