IntelliJ IDEA, the flagship IDE by JetBrains, is designed to help you stay productive during development. It provides coding assistance through features like pair programming, smart code completion, and reliable refactorings with code analysis via built-in developer tools for Java, Kotlin, Groovy, or Scala languages.

Intellij IDEA supports web and enterprise mode as well as mobile backend platforms.

During the design of IntelliJ IDEA, its developers kept in mind all kinds of users who use JVM-based programming languages such as Java, and Kotlin.

Mission-critical tools such as integrated version control systems are all included in the IDE, which means you won’t have issues with plugins.

To maximize development productivity, IntelliJ IDEA encourages collaboration and offers an ergonomic design and intelligent coding assistance for various languages, e.g., SQL and JavaScript.

CSV

CSV

Let's face it, if you're dealing with data in your application, you’ll often use CSV files. The problem is that these files are a hassle to work with and edit. So, you'll often need to use a spreadsheet application like excel to open, view, edit, and export these files.

The CSV plugin makes it easier to work with CSV files because it implements CSV as a language in IntelliJ. As a result, it associates CSV and other associated file types with IntelliJ and gives you syntax definition, syntax highlighting, inspections, and other capabilities when working with CSV files.

This means no more switching between applications to view and edit files, which, in turn, means more efficiency.

Multirun

Multirun

When developing an application, you’ll often need to test different configurations. This will, generally, require you to run the application in a specific configuration, change the configuration, and then run the application again. This, in turn, takes a lot of time and effort.

To save time, the Multirun plugin allows you to run multiple configurations at once. With it, you’re able to group multiple run configurations and run them with the click of a button. This makes it easier to run batches of tests and configurations or to start multiple servers and web applications.

Duckly

Duckly

We couldn't create a list of plugins without mentioning ours. Duckly is here to make pair programming a breeze.

Duckly is a video chat tool built for developers with direct integration to the IDE so you can talk, share your code in real-time, and easily collaborate with your team. It enables remote developers to work as if they were side by side.

This plugin proves itself necessary by the day. With remote work becoming the norm throughout companies due to COVID-19, the ability to pair-program is interrupted by bad WiFi signals or background noise. Duckly provides the solution to that by allowing you and your team to share the same view while coding. Duckly is great for pair programming, code reviews, debugging sessions, and much more.

JRebel and XRebel for IntelliJ

JRebel and XRebel for IntelliJ

When you build Java applications, the build process can, depending on your codebase, take a lot of time. This means that every time you make changes to your code, you have to rebuild the project to see if your changes worked. Ultimately, you get caught up in a cycle of making changes and rebuilding your project.

The JRebel plugin solves this problem because it allows you to reload code changes instantly. You're then able to skip the rebuild, restart, and redeploy cycle. This, in turn, allows you to save a lot of time and makes you more productive.

The XRebel plugin takes productivity a step further by giving you real-time performance insights into your applications. This allows you to get a better understanding of potential issues in your application and helps you resolve them faster.

GitToolBox

GitToolBox

By now you know that, as a developer, you'll not only spend a lot of time in your IDE but you’ll also spend a lot of time using git. As a result, it's vital that you have an IDE with excellent git integration get allows you to perform your git actions from within your development environment.

Fortunately, JetBrains’s range of IDEs features some of the best git integrations on the market. With the GitToolBox plugin, you’ll be able to extend the features these IDEs already offer. Its features include enhanced status display, auto fetch at fixed intervals, inline blame annotation, commit dialog completion, behind notifications, and more.

ESLint

ESLint

Let's face it, bugs can be frustrating to find and solve. It's even more difficult for new developers working on a codebase for the first time. So, you’ll want to eliminate and avoid programming errors as far as possible.

The ESLint plugin helps you do this. It quickly analyzes your code to find programming errors, stylistic errors, and bugs. And when you find these errors and bugs easier, you'll be able to rectify them quickly and easily. Another bonus is that the plugin can fix many errors it finds automatically.

Also, you’re able to write your own rules that will work alongside the plugin’s built-in rules. Ultimately, you can customize the plugin based on your team's needs and you'll ensure that your code is always free of error.

String Manipulation

String Manipulation

Whether you need to sort, increment, or decrement strings for purposes of your application or just based on your preferences, a string manipulation tool can be extremely helpful. And that’s where the String Manipulation plugin comes in.

It gives you a full suite of string manipulation tools that allow you to switch case, toggle between different cases, increment or decrement numbers, create sequences, sort lines, shuffle characters, do conversions, and more. Moreover, although these actions are available in your IntelliJ-based IDE’s Edit menu, the plugin allows you to set up your own keyboard shortcuts.

Ultimately, this plugin saves you time and will make you more efficient when writing code.

Tabnine AI Code Completion

Tabnine AI Code Completion

Still on the topic of saving time, one of the pain points of a developer is usually writing every single simple function or line every time. This issue is solved with Tabnine AI Code Completion!

Tabnine is an AI-powered code completion extension to help you code. It is powered by machine learning models trained on lines from trusted Open Source code on GitHub. This plugin works in various IDEs and different languages, including JavaScript, Python, Java, TypeScript, Rust, Swift, and more.

You can see two gifs of code with and without Tabnine to see the difference this plugin brings. It predicts what you will potentially create according to your object or function. Now, instead of having to type console.log("hello world"), you can just start typing, and Tabnine will finish the job for you.

Zero Width Characters Locator

Zero Width Characters Locator

The problem with zero width characters is that they can cause havoc with your code. The bigger problem with them is that they’re invisible. So, two pieces of code might look identical, but one could contain zero width characters. This makes them extremely hard to find and debug.

Instead of spending hours to find zero width characters, rather use the Zero Width Characters Locator plugin. It adds an inspection tool to IntelliJ that makes it easier to find zero width characters. Ultimately, this plugin could end up saving you a lot of time and headaches.

Database Navigator

Database Navigator

As a software developer, you’ll work with databases often. You’ll typically do this by using the specific database’s console or shell through the terminal or desktop application.

The Database Navigator plugin aims to make this easier. It adds extensive database management, development, and maintenance capabilities to IntelliJ and other IntelliJ-based IDEs.

As such, it provides both SQL and PL/SQL editors, advanced database connection management capabilities, script execution support, database objects browsing, advanced navigation functionality, and more. Moreover, it supports most of the databases you’ll often work with including, MySQL, SQLite, PostgreSQL, and others.

MetricsReloaded

MetricsReloaded

As mentioned, when we looked at the Statistic plugin, you can’t improve something when you don’t measure it. So, analyzing your code is a good idea because it gives insights into your project’s structure.

Here, the MetricsReloaded plugin gives you a wealth of information and metrics about your project. These include everything from class counts, dependencies, lines of code, unit testing, and more.

Moreover, you can get metrics for your entire project or even specific modules and files. Also, apart from the built-in metrics, you’re also able to define your own metrics. Ultimately, the plugin allows you to identify issues in your code and gives you the insights necessary to improve it.

Grep Console

Grep Console

As you know, grep is a powerful that allows you to search for strings in a file or groups of files. In fact, it’s considered one of the most useful commands in any Unix system. Typically, you’ll need to use the terminal to execute grep commands.

The Grep Console plugin brings this functionality to your IntelliJ-based IDE. It allows you to open a grep console directly from your workspace. From there, you’ll be able to execute grep commands, filter out unwanted text, highlight matches, change the colors of matching text and lines, output the results into a new console, and more.

CodeGlance

CodeGlance

By this time, you've probably heard of the minimap feature in the Sublime text editor. What makes it so great is that it shows you exactly where you are in a file which, in turn, makes it easier to find sections of code that you're looking for. And, by clicking on the specific piece of code, your editor will go to it.

To have this functionality you don't need to switch to Sublime, though. The CodeGlance plugin brings this functionality to IntelliJ. It embeds a minimap like the one found in Sublime into your IntelliJ IDE’s editor pane. It also works with both light and dark themes and uses your customized colors for syntax highlighting.

CamelCase

CamelCase

This is often one of the biggest disagreements between developers - what case should code be written in. Well, it depends on the specific language’s specifications and its naming conventions. Sometimes languages even require the use of different cases, so you’ll need to understand the difference and how to use them.

No matter the language or your preference, another important thing is that you apply your naming conventions consistently in your codebase. The CamelCase plugin ensures consistency by allowing you to switch easily between kebab-case, snake_case, PascalCase, camelCase, and more.

IdeaVim

IdeaVim

Many developers prefer using Vim because it's a lightweight, fast, and powerful text editor which is also highly configurable. This means that they can set it up exactly how they want it. It also means that, once they're used to it, they won't likely switch to another IDE.

If you're facing this problem, then IdeaVim is a plugin you should definitely consider. It's an emulation plugin that gives IntelliJ Vim functionality. As such, it includes features like normal/insert/visual modes, motion keys, registers, marks, macros, access to Vim plugins, and more.

Maven Helper

Maven Helper

Maven is a widely used tool among Java developers. And it’s easy to see why considering that it’s a powerful tool that simplifies the build process. It doesn’t come without certain challenges, though. These challenges often relate to dependency management.

If you struggle with this, Maven Helper is the must-have plugin when you’re working with Maven. It gives you an easy way to analyze and exclude dependencies and the actions to run Maven goals for the module your current file is in or on the root module. It also allows you to open the terminal at the current Maven module path and to run test files.

Docker

Docker

Nowadays, Docker is becoming increasingly popular because it allows developers to develop once and deploy everywhere. An added benefit of Docker is that it's light on resources compared to traditional virtual machines.

The Docker plugin provides IntelliJ with full integration with Docker. This means you can run containerized applications with Docker Compose and you’ll be downloading and building Docker images right from your IDE. It also enables you to create and run Docker containers from downloaded images or directly from a Dockerfile and you're able to use dedicated docker run configurations.

Simply put, this plugin gives you all the tools you need to deploy applications inside containers and test code in an environment similar to the one you'll use in production.

Rust

Rust

Did you know that, according to the Stack Overflow Developer Survey 2020, Rust is the most loved programming language? In fact, it’s held this position for five years. And it’s easy to see why as it’s fast, memory-efficient, and reliable. Ultimately, it lets developers build high-performance applications while eliminating many of the challenges they face with statically typed programming languages.

Fortunately, if you’re interested in developing with Rust or are busy with it already, the Rust plugin is definitely a tool to consider. It implements full Rust language support into IntelliJ which includes a built-in package manager, auto-completion, type inspections, auto-formatting, and more.

AWS Toolkit

AWS Toolkit

It’s no secret that cloud computing, and especially Amazon Web Services (AWS), is very popular, so you’ll often have to write applications built on AWS.

To make this easier, the AWS Toolkit contains all the tools you need for AWS application development. As such, it gives you the ability to create and deploy AWS serverless applications. You can also create, debug, change, or delete AWS Lambda functions and debug code in Amazon ECS clusters.

Keep in mind, though, these are just some of the functionalities it offers and there are many others available from its resource explorer to authentication, and the S3 explorer. Ultimately, if you’re developing serverless applications on AWS, the AWS Toolkit is certainly worth a look.

CPU Usage Indicator

CPU Usage Indicator

When developing software, it's vital that you check your CPU usage because it shows you how well your applications are processed. In simple terms, it shows you how hard the CPU must work to run your applications. In turn, this allows you to identify performance issues with your applications and eliminate processing bottlenecks.

The CPU Usage Indicator plugin places a usage indicator in IntelliJ’s status bar which makes it easier for you to get performance insights at a glance by making CPU usage statistics easily visible. It also contains actions that you can use to help identify performance issues.

Mongo Plugin

Mongo Plugin

MongoDB is an open-source, non-relational database and probably one of the most popular databases for modern applications, so you’ll get to deal with it at some stage. When you do, you’ll generally have to access Mongo databases and perform CRUD operations on your data.

The Mongo plugin makes this process easier as it integrates MongoDB servers with the database or collections tree, Query Runner, and the shell console. This means you’ll be able to perform all your database related actions directly from your IDE.

So, you’ll be able to access MondoDB databases, connect to servers, query and perform CRUD operations on your database. This saves you a lot of time and lets you work more efficiently.

Statistic

Statistic

It's simple if you don't measure something you won't be able to improve it. So, when measuring your project's lines of code, it can give you a great idea of how productive you are.

It goes further than this. Every line of code is functionality that you build into your application. This means the more lines of code, the higher the chance of something going wrong.

Luckily, the Statistic plugin gives you extensive statistics into your project’s modules, packages or files quickly and easily. By using it, you’ll keep your file sizes and line counts in check.

And using it is really simple too. It's as simple as installing the plugin and selecting the Statistic tab at the bottom of your screen to get statistics about your application.

Eclipse Code Formatter

When it comes to writing Java code, the two most popular IDE's are probably Eclipse and IntelliJ. The problem is that some developers prefer Eclipse while others prefer IntelliJ. And once they prefer an IDE, they're used to developing in it. This makes it challenging to pick the right one because, ultimately, it could have an effect on developers’ productivity and efficiency.

With the Eclipse Code Formatter plugin, this doesn't need to be a problem. This is because it allows you to use Eclipse’s Java Code Formatter directly in IntelliJ. In this way, developers can use the tools they’re used to, and it makes it easier to manage code style when both IDEs are used.