Reasons why IntelliJ IDEA is the best Java IDE

Reasons why IntelliJ IDEA is the best Java IDE

What is your favorite and the best Java IDE in your experiences? For me, I personally prefer IntelliJ IDEA by JetBrains, the best Java IDE I have ever used for several years now.

Today, I’m really excited to share with you reasons why I love this tool.

What is IntelliJ IDEA?

IntelliJ IDEA is a professional Java IDE created by JetBrains team with the aim to provide best user experiences along with maximizing developers’ productivity while creating softwares.

IntelliJ IDEA by JetBrains
IntelliJ IDEA by JetBrains

What are its features?

This IDE tries to provide everything for Java developers inside a box without having to install or use any additional tools to develop Java code.

Doesn’t it sound great?

Here some basic features it supports for Java developers:

  • Smart code-completion. While typing one or several starting letters of words, it will popup some suggestion that might be what you’re trying to type right at the caret position.
  • Language references. Instead of opening another Javadoc screen, you can view Java definition right inside the editor with just one click. It depends on JDK version you config for project, it will look up the appropriate Javadoc version.
  • Complete Java development environment, that includes static code analysis, compiling analysis, project build settings, execute package in different environments, config and execute unit tests and integration tests with coverage reports, ability to debug with deep analysis on stack trace…
  • Error detection and quick fixes. Developers often make mistakes on typing code, IntelliJ IDEA is really good at spotting them and suggest a list on how to fix.
  • Control everything with shortcuts. Shortcuts are the heart of modern of IDE, and IntelliJ IDEA does this very well. Developers can config everything with shortcuts, so we don’t have to manually find command and click to execute. With shortcuts, we can maximize our productivity to the best.
  • Integrate with many common development tools, such as, Git to control source code, Maven, Gradle to manage project lifecycle and commands…
  • Built-in decompiler. This is pretty handy when we want to analyze any Java package without installing another Java decompiler software.
  • and many more…

You can take at look at all features of IntelliJ IDEA at official page.

Selling points

All those mentioned features are the benefits when you use IntelliJ IDEA. But that is not enough to convince others to give it a try.

Okay, I will say it has following selling points:

  • It works on all common operating systems including Windows, MacOS and Linux. This is good if you have to work on different machines. In my case, I have a personal MacBook Pro and a Windows PC, so it is very convenient when switch code between my devices. For example, At office, I code using the Windows PC; and while on business trip, I can work using IntelliJ IDEA for Mac version.
  • It has omni-search feature and search really quick. I so do love this feature. It can search for almost everything, like search for text, search for source code, search in many different file types, search across various projects, it can even search for the IDE commands in case we forget the shortcuts. Wow, I love this!
  • It does not only support Java but also support for various languages like Groovy, Scala, Kotlin (new kid on the realm)… and popular frameworks like Android, Spring Boot… It even does have supports for Javascript, NodeJS, React, Angular… isn’t it cool?
  • Having problem when migrating an Ant project to Maven or Gradle? No problem with IntelliJ IDEA, the import feature does all the necessary work for you.
  • Every settings and config on the IDE can be saved to be used on different machines, such as: hotkey config, key-type engine (Vim, nano, …). Save your development environment template, then working across machine without worrying about re-configure development environment again. As a vim user, I have no issue with using IntelliJ IDEA with vim keyboard. So convenient to work!
  • Developers can extend IntelliJ IDEA functions via plugins. You can find almost any plugins on JetBrains repositories. At the time of this post, it has around 2751 plugins. Also, these plugins can be used across all JetBrains products like RubyMine, PyCharm, WebStorm…
  • Last but not at least, IntelliJ IDEA is COMPLETELY FREE on Community Edition. It has two editions, Ultimate and Community. Ultimate edition is a super-set of Community with types of project configuration. Well, in my opinion, Ultimate edition is kinda overkill for newbie and junior developers.


Even having all those good things, it still have some minor drawbacks.

  • It is built on Java, hence, it consumes pretty much of device memory. However, RAM is not much a problem these days. That’s quite enough. But don’t run too much applications while opening IntelliJ IDEA. It might crash unexpectedly.
  • Documentation is only for Ultimate users. New users will surely have a hard time to get started with the tool. I sometimes need to find.

There might have more issues when you start to use IntelliJ IDEA.

Best Java IDE

So far in my experiences, I was an Eclipse user; but three years ago, I started to give IntelliJ IDEA a try and was very satisfied with it.

Until now, I still like it with all those features it provides.

The team at JetBrains are really good and support team is very responsive to all questions I have.

They are working hard to make this IntelliJ IDEA to be the best Java IDE for all developers around the world.

And even at Google, developers use IntelliJ IDEA and its platform to create Android Studio, a great IDE for Android development. Google loves it as well as Kotlin, the language created at JetBrains team.

Kotlin will soon become a main language for Android development, and it is natively supported by IntelliJ IDEA.

So if you’re working with Java, Kotlin or Android, you should give it a try on this IDE.

Finally, if you like this tutorial, please subscribe or follow us on FacebookTwitterGoogle+ and Youtube to get updates on latest programming tutorials.