IntelliJ IDEA has tons of awesome plugins which make this fantastic IDE even better. Here is my battle-tested list of plugins I use for a long time.

General usage plugins

Save Actions

Save Actions plugin does the necessary code cleanup in the background, therefore you can forget once and for all about reformatting code, optimizing imports, putting finals, and so on. Just configure it and things will be done automatically for you. Save Actions example


Rainbow brackets

The idea of colorizing brackets is simple yet ingenious. I think such a feature shall become a default in all IDEs. Rainbow brackets example


String Manipulation

This awesome plugin helps to switch case of our strings, encode/decode them, reverse letters, swap, etc. Really saves time and nerves when we need to switch case of multiple strings while refactoring the codebase. String Manipulation example


Key Promoter X

This plugin will torture you by displaying little popups when you could use a keyboard shortcut instead of clicking a mouse. Very good to quickly learn IDE shortcuts, until you start to ignore these popups - exactly like I did:)


GitToolBox

While Git support is already great in IntelliJ, this plugin makes it even better. Among lots of useful features, I like it shows the number of ahead / behind commits for the current branch and especially appreciate the additional contextual information that inline git blame gives. It has also a cool feature to delete old branches. No need to run bash scripts again to do it automatically. Great job, Lukasz!


Grep console

Wanna additional search capability for the output console? Or maybe have the log lines colored? Grep console will do the work.


Presentation Assistant

I guess we have all seen this plugin in action many times while watching live coding presentations. It is cool to know what keys are pressed by the presenter, we can learn some shortcuts too! Presentation Assistant example


Shifter

Another great idea. Depending on the file (i.e. Java, HTML, CSS, etc.) we can manipulate particular strings and change them to a different, defined ones. For example, just use the key shortcut to switch between private, protected and public or extends and implements keywords in Java.
Shifter example


Randomness

Need some random strings, integers, decimals, words, or UUIDs? This plugin will generate them for you. Pretty helpful while writing unit tests, especially to put arrays of random data. Randomness example


Rainbow CSV

Highlights CSV rows in a different colors. They are much more understandable afterwards. Rainbow CSV example


Indent Rainbow

If we are talking about rainbows, here comes another useful plugin which colorizes the indentation. While we do not need that for i.e. Java, certain other types of syntax - like YAML - will become much more readable (and less error-prone to edit). Indent Rainbow example


Json Viewer

Need to format JSONs often? Use this plugin. No need to open a scratch for the purpose of the JSON reformatting. Json Viewer CSV example


Regex Rename Files

I love the Find and Replace function, however, I miss the same functionality for files. Need to rename multiple files at once? This plugin will do the job. Regex Rename Files example


Return highlighter

This plugin will mark return statements in functions. I think it helps to reason about the code, especially if you encounter these infamous legacy “Mount Everest” functions. Unfortunately, it does not support i.e. Kotlin. Return highlighter


AceJump

AceJump allows to search a text and move there quickly by pressing the shown key(s). It takes a bit of practice but then the plugin significantly decreases the need to use the mouse. Another must-have plugin, I think. AceJump example


Proxy Toggle

This simple plugin allows to enable/disable proxy by Alt+P shortcut. Pretty useful when you need to switch corporate proxy on and off.


Plugins for external tools

Checkstyle IDEA

Checkstyle plugin allows integrating the IDEA formatter with the Checkstyle configuration file. I have a written little more about the Checkstyle in this post: Automate your code quality in a few minutes


SonarLint

Forgot to check Sonar recently?:) This plugin allows connecting the SonarQube and points all found issues just in your IDE. Much faster feedback and less to remember. SonarLint example


Jenkins Control

This is yet another plugin that shows we can do almost everything without leaving the IDE. We can connect this plugin to Jenkins and trigger all jobs from there. It is possible to track the job result, add them to favorites, etc. Definitely another great plugin! Jenkins Control example


Lombok

A must-have for Lombok users. I think it does not need any introduction:)


Last but not least - appearance

If you like dark themes, One Dark theme together with Atom Material Icons make IDEA even prettier.

One Dark theme and Atom Material Icons

One Dark theme example


Summary

I check similar blog posts every year to get an understanding of new jewels in the IDEA plugin family. This is my list for 2021 and hopefully, it will get bigger over time. I am sure I am missing here other great plugins I have no idea of their existence. If you know other plugins that speed you up - please let me know. Thanks!