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.
Rainbow brackets
The idea of colorizing brackets is simple yet ingenious. I think such a feature shall become a default in all IDEs.
CodeMetrics

Shows the complexity of i.e. methods displaying a banner on the right side of the signature. A great way to keep the code clean.
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.
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!
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.
QuickNotes
Yet another plugin that allows you to stay in the IDE almost the entire time. A simple notepad embedded in the IDE can help to dump all thoughts pretty quickly.
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.
Rainbow CSV

Highlights CSV rows in different colors. They are much more understandable afterward.
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).
Json Viewer

Need to format JSONs often? Use this plugin. No need to open a scratch for the purpose of the JSON reformatting.
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.
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.
AceJump

AceJump allows you 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.
Proxy Toggle
This simple plugin allows enabling/disabling proxy by Alt+P
shortcut. Pretty useful when you need to switch corporate proxy on and off.
Plugins for external tools
Plant UML Integration
Plant UML allows to draw fantastic diagrams (i.e. sequence, use case, class, deployment, and far more) from a piece of code. The plugin does the job in terms of the syntax highlighting and displaying the diagram. A few examples:



If you prefer coding over drawing (like me), Plant UML is a great tool at your disposal. By the way, there is yet another tool useful for such drawings: Python Diagrams. I described it briefly here: Draw architecture diagrams like a boss!
Checkstyle IDEA
A 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 out all found issues just in your IDE. Much faster feedback and less to remember.
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!
Lombok
A must-have for Lombok users. I think it does not need any introduction:)
Last but not least – the appearance
If you like dark themes, One Dark theme together with Atom Material Icons makes IDEA even prettier.
One Dark theme and Atom Material Icons

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!
2 Comments
Gary · 06/04/2023 at 17:33
If you’re searching for a plugin to manage your CI directly from IntelliJ. It works with many CI providers like Gitlab, Github, Travis or CircleCI, check this out https://plugins.jetbrains.com/plugin/15457-gitlab-ci-dashboard
Dawid Kotarba · 06/04/2023 at 19:14
Thanks! I will try that!