We decided to compile a list of the best IntelliJ Plugins, which we think will boost any developer in 2023. This article explores some of our favorite, most innovative plugins and how they can enhance productivity and the developer experience.
I still remember that moment, many years ago, when I finally made the switch from my old Eclipse setup (with its many customizations, ‘perspective’ settings, and tweaks) to using IntelliJ IDEA. It was a one-way journey, the platform’s rich intellisense and rich usability features simplified my workflow so much that I stopped noticing the IDE at all. Suddenly I realized how much cognitive effort I was spending previously wrestling with the UI and trying to get refactoring done effectively. Apparently, it isn’t just me, according to the recent JVM Developer Ecosystem survey by Synk; IntelliJ leads the market with a 62% adoption among JVM developers.
Today, however, the IDE landscape has changed dramatically. Thankfully, the bar is much higher, and IDEs compete to provide the best developer experience. In addition to the core features of the IDE itself, all major vendors are investing in a plugin eco-system that can provide support for specific technologies or workflows and better integrate with the specific technologies and tools used by the developer.
Similar to other IDEs, IntelliJ plugins extend the functionality of the software and have a meaningful impact on your productivity and happiness. You can install IntelliJ IDEA plugins directly into your IntelliJ IDE from the JetBrains marketplace.
We decided to compile a list of the best IntelliJ Plugins, which we think will provide a boost for any developer in 2023. This article will explore some of our favorite, most innovative plugins and how they can enhance productivity and the developer experience.
TOC:
● WakaTime
Continuous Feedback – IDEs Plugin
● Kotlin
● Scala
● Dart
● Flutter
● Node js
● ES Lint
● Docker
● Prettier
Database Tools and SQL Support
Productivity and Automation
As developers, we often get engrossed in working on a particular project and end up delegating time to a single task while the rest suffer. This is why I recommend Waka Time, an incredible plugin that’ll help you regain control of your time and how you delegate it across different projects.
With Waka Time, you can easily keep track of how much time you spend coding on your IntelliJ IDEA and exactly on which projects. But it doesn’t stop here; Waka Time also generates detailed productivity analytics to help you identify your coding patterns. Other useful analytics include those on the operating systems you use, features you’re working on, programming languages, and how much time you spend on particular pull requests.
Using WakaTime, you can identify your peak productivity time, be more mindful about your time, and help you maintain a healthy work-life balance. You can also opt to share your activity with other developers to keep you more accountable and productive.
Trust me, I know how frustrating it can be when you have to write that repetitive boilerplate code all over again before you can get to writing the important business logic for your software. Tabnine is an AI-powered assistant that can help you do away with the hassle of writing repetitive code so that you can focus on more important tasks.
Don’t get me wrong, Tabnine IntelliSense is not your normal basic code completion plugin. Powered by advanced AI models, Tabnine can understand the context of your code and generate whole lines of code and even whole functions with unprecedented accuracy. Better still, Tabnine can learn and adapt to your unique code patterns and style, guaranteeing consistency during coding.
You’re probably asking if this is possible with your primary coding language. Tabnine has extensive language support, so whether you’re working with Java, Typescript, Python, Rust, or JavaScript, Tabnine has you covered. Tabnine’s seamless integration with IntelliJ IDEA and other popular IDEAs allows you to focus on writing code rather than setting up your development environment.
If you’re yet to master the art of typing faster, you can attest that it can be frustrating when you want to get things done faster, but for some reason, the keyboard and mouse work is holding you back and killing your productivity. Key Promoter X is a true lifesaver IntelliJ plugin if you’re struggling with remembering all the menu options and keyboard shortcuts you read earlier.
Key Promoter X is like a personal tutor When it comes to keyboard shortcuts. Without causing any obstruction, Key Promoter X shows you tooltips of keyboard shortcuts that you can use whenever you hover your mouse over different menus. This way, you don’t have to recall all the shortcuts right away. However, if you use Key Promoter X as your IntelliJ plugin, you’ll gradually develop muscle memory for these shortcuts.
Another standout feature of Key Promoter X is its ability to gradually learn about your interactions with IntelliJ and workflow. Based on your mouse and keyboard actions, Key Promoter X recommends shortcuts that suit your frequent actions. Adopting this IntelliJ plugin can help you navigate your IDEA faster, boosting your overall productivity.
Continuous Feedback – IDEs Plugin
Digma is a runtime linter that lets developers quickly identify risky code, potential errors, and bottlenecks in complex codebases. Digma Feedback is an IDE plugin for analyzing code runtime data. It enables rapid development in complex projects by linting and detecting issues as they appear, highlighting possible risks in code, and providing code change analysis and context. It essentially enables you to develop with way shorter feedback loops.
Digma lints common code smells and issues, as you code:
- Error hotspots
- Bottlenecks and concurrency
- Query anti-patterns
- Identify risks and affected code for code changes
- Performance trends
Unlike traditional observability tools that focus on troubleshooting and debugging after an issue is identified, Digma focuses on a continuous feedback pipeline, ensuring that developers can access up-to-date insights without needing manual aggregation and analysis.
By eliminating the time-consuming process of interpreting raw data, Digma saves you valuable time and enables you to focus on solving problems. With Digma, you can proactively optimize and improve your code by leveraging practical insights delivered in real-time.
Digma integrates with existing frameworks, particularly OpenTelemetry, by serving as another target for observability data. By adding a single line of code, developers can leverage Digma’s capabilities and benefit from its insights.
Currently, Digma supports coding languages such as Java, Kotlin, and .NET with Python and GoLang support planned for the future. Similarly, IDEs like IntelliJ IDEA are supported, with plans to add compatibility with VS Code and PyCharm.
Language Support and Tools
If you’re an Android developer, or at least an enthusiast who closely follows the developments in this field, then you must have heard how Kotlin is transforming Android development. First introduced in 2016 by JetBrains, Kotlin has quickly risen to fame in recent years and has even become equal with the likes of Java in Android development. Adoption by tech giants like Google has also propelled Kotlin to its fame.
If you’re already excited about Kotlin, IntelliJ IDEA already has a Kotlin plugin to make your development experience with Kotlin better. Using the Kotlin plugin, you can access exciting features such as code completion, error highlighting, and intelligent suggestions to help you write clean and concise Kotlin code.
If your codebase is Java, it will delight you to know that the Kotlin plugin guarantees 100 percent interoperable with Java. This allows you to gradually migrate your codebase into Kotlin, which is more expressive and concise. You can also access Kotlin-specific features, such as data classes and extension functions, alongside powerful refactoring and navigation capabilities.
You may have noted that Scala has been in the limelight in recent years, and its popularity has risen steadily despite the fact that it is not a new programming language. So after some time, I also caved into the pressure and decided to learn a bit more about Scala and why programmers are embracing it.
It turns out Scala is a type-safe JVM and multi-paradigm language that supports both functional and object-oriented programming. Scala is popular due to its unique features like immutability, case classes, type inferencing, and more.
With the Scala IntelliJ plugin, it means that you don’t have to configure a new environment to learn or develop software in Scala. The Scala plugin gives you access to coding assistance features such as code completion, syntax highlighting, refactoring, and more. Other Scala-specific features you can access with the Scala IntelliJ plugin include integration with sbt, testing frameworks support (ScalaTest, Specs2, uTest), Scala debugger, worksheets, and Ammonite scripts.
Dart by Google is an open-source and object-oriented programming language for creating appealing UIs for web and mobile applications. If you’re familiar with the C syntax, then you’d find Dart very easy to learn. Dart is mostly popular with Flutter, a cross-platform development framework that enables developers to deploy desktop, web, and mobile applications from a single codebase.
With the IntelliJ Dart plugin, you can develop and debug Dart web and command line applications right inside your IntelliJ IDEA. Once installed, you can now access coding assistance features such as formatting, code completion, refactoring, intentions, and more.
The Dart IntelliJ plugin also includes Dart-specific features such as integration with the Dart analysis server and a built-in Dart debugger that enables you to run and debug your Dart applications.
Framework Support
Flutter is an open-source UI framework by Google. When it comes to cross-platform development, Flutter is king. Flutter uses Dart programming language; with Flutter as a framework, you can develop high-performing applications that work seamlessly on both Android and IOS devices.
IntelliJ IDEA has support for developing Flutter applications using the IntelliJ Flutter plugin. Since Flutter is based on Dart installing, the IntelliJ Flutter plugin also installs the Dart programming language plugin.
One of the benefits of using IntelliJ IDEA for Flutter development is its intuitive user interface and the standard features such as code completion, syntax highlighting, navigation to type declarations, and the Dart analysis window.
Other useful features include built-in debugging and profiling tools that can run in the browser and capabilities such as setting breakpoints and accessing the Flutter Inspector within the IntelliJ IDEA.
Let’s face it; most developers tend to associate IntelliJ with Android development, particularly with Java and Kotlin. While IntelliJ offers excellent support for Android development through Android Studio, the truth is that IntelliJ is a generalist IDEA that supports many other programming languages and frameworks.
Node js is one of the popular frameworks supported by IntelliJ through the Node-js IntelliJ plugin. With this plugin, you can use IntelliJ IDEA to develop server-side applications using Node and the Express js Framework.
Some of the notable features you can access through the Node js plugin include a profiler and an attached debugger that lets you run Mocha tests right inside your IntelliJ IDEA and start new Express projects from the home screen.
Code Analysis and Refactoring
As developers, we get to make silly mistakes while writing code. In some cases, these mistakes can be as silly as missing the closing curly brace for a function or a colon. If you’re working on a huge codebase, sometimes such errors can take you hours of code inspection before you can find and fix them. This is where Linting plugins come in.
ES Lint is an IntelliJ plugin that can help you and your team identify errors that could potentially result in bugs while writing your code. Some errors that ES Lint can identify and warn about include undefined functions, unused variables, and other syntactical errors.
ES Lint plugin for IntelliJ can also help enforce coding standards if you’re working in a team of developers. Other key features of ES Lint include support for custom IntelliJ rules, support for ES Lint config annotation and completion, quick fixes for several rules, and Support displaying ES Lint warnings as IntelliJ inspections.
SonarLint is an IntelliJ plugin enabling developers to find and fix issues such as spelling and other syntax errors in their code in real-time. However, SonaLint is more than just a linting tool it can flag flaws in your code and assess their risk and provide contextual information about issues in your code and how you can fix them through quick fixes that automatically repair your code.
If you have a CI/CD pipeline in place, then you can also pair SonarLint with SonarQube and SonarCloud to create an end-to-end code analysis and quality evaluation platform. And if you’re working with a team, you can also set up a uniform standard of clean code for your team.
As developers, we often spend a lot of time making changes to our code before we test and make further changes if need be. In web development, making changes back and forth often entails refreshing your browser before you can see the changes you made to your code live in the browser.
You can agree with me that switching between your browser and code editor disrupts your code workflow. This is where Live Edit comes in. Live Edit is an IntelliJ plugin that automatically displays any changes you make to your code in the browser without manual refreshes. Live Edit works for HTML and CSS by default. However, you need to enable it for other JavaScript, Node js, and other files.
Live Edit can save you a lot of time when working on web applications that need constant tuning by allowing you to see the impact of the changes you make to your code in real-time. This way, you can iterate faster and make your development more interactive.
Cloud, Build, and Deployment
Git is the most popular version control tool that certainly every developer should learn at some point in their career. With Git, you can track changes in your code and revert back if necessary, collaborate with other developers, synchronize development, and keep your code secure.
However, since Git is an independent tool, you often have to switch back and forth between your IDEA and terminal when doing tasks such s pushing, committing, or pulling. This is why you need GitTool Box, an IntelliJ plugin that allows you to commit changes, resolve conflicts, switch branches, and push changes without leaving your IntelliJ IDEA.
One feature that stands out for me is its support for Git hooks, allowing you to automate certain actions through an intuitive interface. If you’re using hosting solutions such as GitLab, Bitbucket, or Github, GitToolBox integrates with all of them seamlessly.
Cloud technologies have become very popular, revolutionizing how we build, deploy and manage applications. As you know, AWS is one of the leading cloud solutions providers offering a range of resources and infrastructure for building applications at scale.
If you’re already familiar with AWS services, you can use the AWS Tool Kit plugin on IntelliJ IDEA to develop, debug, and deploy serverless applications using Amazon Web Services (AWS).
Here are some features of the AWS toolkit, including the ability to manage AWS Lambda functions, view event logs, work with Amazon EventBridge, switch AWS credentials, manage S3 buckets, upload to/download from S3 buckets, and many more. You can refer to their guide for the full list of services supported by AWS ToolKit.
If you have had a chance to see an application through development, deployment, and production, then you must be aware of the challenges you can face when trying to get your application to run seamlessly in different environments. The problem “works on my machine” is also well known by developers if you have worked with a team where at some point, you’d have to share your code with other developers. This is why Docker is needed.
Docker has become incredibly popular, revolutionizing how we manage, deploy and monitor applications. IntelliJ IDEA integrates with Docker saving you the trouble of switching between an external terminal and your IDEA when using Docker.
Through the IntelliJ Docker plugin, you can now create Docker images, run Docker containers, and manage your Docker compose applications through private and public registries without leaving your IntelliJ IDEA.
Another notable feature is that IntelliJ IDEA integrates with Docker compose, allowing you to define and run multi-container applications from your IntelliJ IDEA.
When you build Java applications or any other large application keeping track of all your project dependencies and their corresponding versions and guaranteeing that your application works well and that your project can run across different environments can be a real pain. Maven is a great tool for managing dependencies and handling project builds.
The Maven Helper IntelliJ plugin makes the experience of managing project dependencies even better. Using this plugin, you can visually search, add and manage the scope of your dependencies. You can also conveniently run or debug Maven goals for a module that contains the current file or on the root module and even search through remote Maven repositories.
Through the dependency analyzer, you can also get comprehensive dependency analytics about your Maven dependencies, including conflicts, duplicates, and missing dependencies.
UI and Visual Enhancement
As developers, we often find ourselves squinting at our monitors, trying to determine which opening bracket matches with which closing bracket. This is an experience I’ve had far too often when dealing with complex code involving multiple nested blocks of code.
However, you can avoid this time-wasting exercise with an IntelliJ plugin such as Rainbow Brackets. Rainbow Brackets is an IntelliJ plugin that provides visual aid by colorizing brackets in your code and giving opening and closing brackets distinct colors depending on the nesting level.
Using the RainBow Bracket plugin makes your code more readable, especially when working with loops and nested functions. Adopting this IntelliJ plugin also increases your coding speed and enhances your productivity as a developer.
This IntelliJ plugin is a perfect fit if you’re a fan of modern, aesthetic, and sleek interfaces by Material UI. With this plugin, you can do away with the default interface of IntelliJ IDEA and replace it with a more modern and vibrant look. You can choose from different color schemes and themes provided by Material UI, ranging from light to dark and more unique ones depending on your preferences and mood.
Material UI features also go beyond basic appearance settings, allowing you to customize tab fonts, Project View, and other trees’ fonts. Besides making your IntelliJ IDEA more visually appealing, it can bring clarity and consistency to your IntelliJ IDEA by enabling you to highlight the most important elements, improving your productivity and focus as a developer.
If you’re not satisfied with the default appearance of the IntelliJ IDEA icons, then this plugin will be a great addition to your collection. You can add more style to your development environment using this plugin by bringing the Atom Material set of icons to your IntelliJ IDEA.
Atom Material Icons are beautifully designed and more recognizable, improving the appearance of your IntelliJ IDEA. Unlike the default IntelliJ icons, Atom Material Icons are designed to correspond to different file types, actions, and tools within IntelliJ IDEA. This makes it easier for you to navigate across different files and folders in your project structure. You can also easily identify more important files in your project with ease.
Additionally, with the Atom Material IntelliJ plugin, you can now assign files and folders to different states, such as modified, deleted, and added. With these states, you can now easily track changes across your project. Generally, the Atom Material Icons IntelliJ plugin improves cognition of files, in turn making you more productive.
If you cherish consistent and clean code, especially when working in a team, you’ll love Prettier. As the name suggests, Prettier is an IntelliJ plugin that handles your code’s formatting, fixing issues such as indentation, spacing, and line breaks.
Prettier supports several popular languages, including JavaSvript, TypeScript, CSS, and JSON. One good thing about Prettier is that it understands formatting rules across all programming languages without any setup.
However, Prettier allows you to set different configurations according to your preference, including indentation size, line wrapping, trailing commas, and more. Prettier can format your code on the fly, saving you time and making you more productive.
Another standout feature of Prettier is that it can work with other code quality tools to ensure that your code conforms to the standards you want.
Database Tools and SQL Support
Databases play a crucial role in the development of software, and as a professional software developer, you’ll be working with databases as part of your regular routine. Some of the tasks you’ll need to perform with databases include querying data, optimizing performance, and managing schemas. You can interact with the database in several ways, but the most common one is using database management systems (DBMS).
The Database Navigator IntelliJ plugin makes it easier for you to interact with your database without leaving your IntelliJ IDEA or dealing with setting up a DBMS.
This IntelliJ plugin includes robust features such as an SQL and PL/SQL editor, advanced functionality for managing database connections, executing scripts, browsing database objects, editing data and code, supporting database compiler operations, executing and debugging methods, and facilitating the creation of database objects.
The Database Navigator IntelliJ plugin supports the following databases, Oracle, MySQL, Postgre SQL, SQLite, and any other JDBC-compliant database.
The Java Persistence API is the standard specification for Object Relationship Mapping in Java Applications. JPA eliminates the need for you to write complex SQL queries for the application to interact with databases. Instead, it allows you to use annotations and interfaces to map Java objects to a relational database.
While JPA is great and abstracts away, most of the code is required to establish relationships between entities, so guaranteeing proper transaction management can be challenging. JPA Buddy makes this process much easier for new Java developers and faster for experienced developers.
Some of the features of JPA Buddy include visual designers and rich code generation capabilities to make it easier to work with Hibernate, EclipseLink, Spring Data JPA, Lombok, Liquibase, and Flyway. Other features include code assistance, an intuitive wizard, and ensuring your models follow best practices.
Mongo DB is a widely used open-source no-SQL database where data is stored in JSON-like documents. The Mongo DB IntelliJ plugin is a handy tool for interacting with your Mongo DB database without leaving your IntelliJ IDEA.
One of the things I love about the Mongo DB IntelliJ plugin is the ability to write and execute MongoDB queries right from my IntelliJIDE. With syntax highlighting and code completion, I can write queries more efficiently and avoid typos. This plugin also saves me the trouble of switching back and forth between my IntelliJ IDEA and a separate MongoDB client.
Other features I find convenient include the ability to explore the data interactively, modify documents, insert new data, and even delete or update records. These features are helpful, especially when debugging or testing my application.
Other Plugins
You’ll often work with CSV data when working with data-intensive applications. Often this requires that you run an external application like Excel where you can open, view, edit, and export your data. With the CSV Editor
Using the CSV Editor plugin, you do not have to switch between your IntelliJ IDEA and another application, such as Excel, when working on your data. With this IntelliJ plugin, you get features such as support for CSV/TSV/PSV file extensions, a customizable table editor, a customizable text editor, customizable column coloring, customizable line comments, syntax validation, syntax highlighting, and more.
When working with string data as a developer, you may need to do case switching, sorting, filtering, incrementing, aligning to columns, grepping, escaping, and encoding, among other actions. If you’re working within the IntelliJ IDEA, it would be inconvenient when you had to download an external tool before you could manipulate your data.
However, with the String Manipulation IntelliJ plugin, you can access a full suite of string manipulation tools. Some of the actions with this IntelliJ plugin include the ability to Swap Characters, Wrap or shift double quotes to single, Swap between double quotes and single quotes, toggle different cases, capitalize, encode the selected text, and more.
Conclusion
IntelliJ has a vast collection of Plugins that can help you significantly improve your development experience. From productivity plugins like WakaTime to language-specific ones like Kotlin, there are options for almost every developer’s need. Regardless of whether you’re an amateur or an experienced developer, these plugins can increase your efficiency and boost your productivity.
FAQ
What are IntelliJ plugins?
IntelliJ plugins are software add-ons installed on top of IntelliJ and are meant to enhance the functionality of the IntelliJ IDEA. IntelliJ plugins introduce new features and tools meant to improve productivity and streamline workflows.
How do I install plugins in IntelliJ IDEA?
You can install an IntelliJ plugin by going to File, clicking IntelliJ IDEA settings, and clicking on the “Plugins” tab. From there, you can search for specific plugins, select the ones you want to install, and click the “Install” button. After installation, you may need to restart IntelliJ IDEA to activate the plugins.
Can I develop my own IntelliJ plugins?
Yes, IntelliJ IDEA provides an extensive Software Development Kit (SDK) that allows developers to create their own custom plugins. The SDK provides tools, APIs, and documentation to support plugin development, enabling you to extend IntelliJ IDEA’s functionality based on your specific needs.
Are IntelliJ plugins free?
IntelliJ IDEA offers a vast selection of both free and paid plugins. Many essential plugins are available for free through the IntelliJ IDEA Plugin Repository. However, some plugins may have premium versions with additional features.
Can I use multiple plugins simultaneously in IntelliJ IDEA?
Definitely! IntelliJ IDEA allows you to use multiple plugins simultaneously. You can install and activate as many plugins as you need to enhance your development experience. However, keep in mind that using too many plugins may slow down your IDE.
Any questions or thoughts about Digma? Want to get involved? Connect with us: Here.