IntelliJ IDEA best plugins

Jan 21, 2020
Last Updated: Mar 01, 2020

IDEA best plugins

Key promoter X

Using keyboard shortcuts instead of your mouse can greatly increase your productivity. With so many features IDEA offers, it can be intimidating and difficult to learn all the shortcuts. Fortunately, there is a plugin called Key Promoter X, which can help you.

The idea is simple: whenever you use your mouse to invoke a command in your IDE, a popup is shown, which tells you what the keyboard shortcut for this action is.

Key Promoter X IntelliJ IDEA Plugin

It even offers you to assign a keyboard shortcut to an action just performed if there is none yet. After a while, it gets so annoying, that you rather make sure you remember your keyboard shortcuts.

Snyk

Application security is often unfortunately neglected. These days most of the application code comes from third-party libraries and frameworks. You need to make sure you use new versions without security vulnerabilities. There are tools, which can help you with this. One of them is Snyk.

Snyk – Detecting dependencies with known vulnerabilities

How to detect and fix security vulnerabilities in your dependencies using Snyk?

Snyk offers many features. One of them is IDE plugin, which can scan your dependencies and detect what security vulnerabilities they contain.

Snyk IntelliJ IDEA plugin

Presentation assistant

This is a simple plugin, which shows a pop-up notification every time you perform an action in IDEA. It shows what action was performed and what is the keyboard shortcut associated with it.

Presentation Assistant

This can be very useful when presenting, during screencasts, pair programming and so on. Especially when using keyboard shortcuts, it can be difficult to follow what's happening without this plugin.

Edu Tools

This is a great plugin for coding lessons, workshops, and so on. It allows you to build courses, with a set of tasks, which can be performed directly in your IDE. You can build your own courses or import public courses.

IDEA EduTools: Learning directly in your IDE

Study programming courses directly in your IDE or create your own.

This is available either as a separate plugin or as IntelliJ IDEA Edu Edition, which is basically IDEA Community edition with this plugin already bundled.

Extra icons

This is basically an icon pack, which provides new icons for special files such as Travis configuration, package.json, lint config, and many more.

This can be very useful as you can immediately recognize these special files, and your project is, therefore, much easier to navigate. For example, package.json is a json file, but it is much more useful to have a special icon for it as it is an important file for npm projects.

Extra Icons

Grazie

UPDATE: As of 2020.1, Grazie is bundled by default in IntelliJ IDEA.

IntelliJ IDEA has a basic spelling checker, which allows you to detect some typos, but it is not much useful on top of that. It is definitely not a replacement for dedicated grammar checking services such as Grammarly.

Fortunately, there is a plugin called Grazie, which enhances the basic spell checker with a lot of useful features. It also detects more advanced issues, such as incorrect grammar. It works completely offline, as well.

Grazie IntelliJ IDEA plugin example

It allows you to enable checking of commit messages as well. You can learn more in the blog post Meet Grazie: the ultimate spelling, grammar, and style checker for IntelliJ IDEA.

Maven Helper

IDEA already has powerful tools for analyzing your dependencies and potential problems with them, such as conflicts or cyclic dependencies.

Maven helper offers an alternative UI, which shows your dependencies hierarchically. This can be easier to read and navigate. Also, if you're using the community edition, this is your only option.

Maven Helper IntelliJ IDEA plugin

InnerBuilder

Creating complex objects can be hard. Of course, you can stick with a simple POJO with a whole bunch of setters, but you cannot enforce that created objects have all the required fields and are not used in an incomplete state. To solve this, you need constructors. With more complex objects, this can lead to a whole bunch of telescopic constructors with many parameters. In these cases, using a builder is much more appropriate.

This plugin can automatically generate a builder for you from a POJO.

InnerBuilder plugin for IntelliJ IDEA

Rainbow Brackets

If you are struggling with a lot of nested blocks and a lot of brackets, this plugin is for you. It makes it very easy to locate matching brackets as each pair of brackets is color-coded.

Rainbow Brackets IntelliJ IDEA Plugin

It is quite hard to read with the default color theme, so Darcula is much more suitable for use with this plugin.

Indent Rainbow

This plugin is similar to Rainbow brackets, but it does not color your brackets, but rather your indentation. It can be beneficial if you have a lot of indentation levels, which are harder to navigate. It can even mark lines, which don't mark proper indentation levels with red, so it is immediately obvious when there is a mismatch.

Indent Rainbow IntelliJ IDEA Plugin

Again, this is much less visible in the light theme, so Darcula may be a better choice.

String Manipulation

This is a handy plugin, which allows you to perform various actions with your strings such as:

  • Escaping/un-escaping for various contexts (Java, HTML, XML, SQL, ...)
  • Case switching (lower, upper, kebab, pascal, camel, ...)
  • Sorting
  • Grep
  • Trimming

Git Toolbox

Although git support in IntelliJ is already pretty good, this plugin still offers some useful features on top of that.

You can easily see how many commits is your branch ahead/behind. You can configure automatic fetch with configurable frequency. You can automatically see inline blame information on your current line.

Git Toolbox

Request Mapper

IDEA already offers pretty powerful navigation among files. When working with REST endpoints, you may sometimes prefer to navigate to a specific mapping (such as /persons) instead of class (such as PersonController). This is in cases where you know the URL, but don't remember which class or method it corresponds to. After pressing the associated keyboard shortcut, you can search your URL mappings and navigate to them directly.

Request Mapper

The plugin currently supports Spring, JAX-RS, and Micronaut.

Multirun

IDEA does support running multiple tasks (configurations) at once, however, this feature is currently very limited.

Multirun plugin does support running multiple configurations at once with much more sophisticated options. This can be very useful when running both Backend and Frontend at once, testing multiple modules, and so on.

Multirun

IDEA Mind Map

It can be very useful to have a mind map editor and viewer directly integrated in your IDE. Not only for quick brainstorming, but also for documentation. The plugin works with MMD files, which are text-based, so it is very easy to have your mind maps under version control and manage their changes.

IDEA Mind Map

Codota and TabNine

These two plugins are similar. They enhance your autocomplete based on scanning open-source projects and intelligently predicting what you probably want to type based on the context.

With Codota, you can also look up relevant examples of some class or method in public projects, which can be handy.

Codota relevant examples

Nyan cat progress bar

Want to make waiting when idea is loading or building indices more fun? You can replace IDEA progress bars with a Nyan cat version.

Nyan cat progress bar

If you're a fan of Street Fighter, you can have Hadouken version instead.

Hadouken progress bar

Grep console

This is a powerful plugin with a lot of useful features. It allows you to filter your console output, add custom highlighting or folding of similar line groups. You can even play sound or execute a script when a specific line type occurs in your console output. You can also tail files in your project and much more.

Grep console plugin

Is something missing?

What are your favorite IDEA plugins? Share in the comments below.


Tagged with:
Vojtech Ruzicka

Get notifications about new posts on Twitter, RSS or Email.