Android Studio is Android's official IDE, purpose-built for android development. It helps you build high-quality apps quickly with its easy-to-use interface.
This flexible tool has a feature called Apply Changes that lets you push code changes without restarting your app or activity - It increases productivity and speeds up workflows while saving time.
Android Studio helps you work faster and more efficiently by offering code completion, analysis, and refactoring.
You can test different Android devices with an emulator on various hardware configurations - you don’t have to use real mobile devices. You can also simulate hardware features like network latency and motion sensors.
The IDE also ensures that you create the best code possible by giving you code templates and sample apps.
EduTools
If you're learning to code, one of the main challenges you'll have is finding the right educational materials. This is simply because there’s so much information out there.
The EduTools plugin aims to solve this problem and it lets you learn programming languages like Kotlin, Java, Python, JavaScript, Go and C++. It does this by giving you coding tasks and verification tests in your IntelliJ IDE. In this way, you’ll get to build your knowledge and get instant feedback on the code you've written.
It goes further than this, though. It's also the perfect tool for educators who want to teach students to code. Here, they'll be able to create their own interactive courses with integrated tests.
Vector Drawable Thumbnails
When developing mobile apps for Android, you’ll typically end up using a lot of vector images across your entire project. The problem is, to preview these vector drawable files, you’ll typically need to build your app. So, every time you make changes, add or remove any vector drawable files, you’ll need to do this. This takes time, makes you less efficient, and impacts your productivity.
The Vector Drawable Thumbnails plugin solves this problem. By just selecting the option from your main menu, you’ll be able to view all the vector drawables in your entire project. This makes them easier to manage and allows you to up your productivity.
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.
Android Input
When developing Android apps, you often need to enter text into your Android device or emulator to test certain functionalities or capabilities of your application.
The Android Input plugin allows you to do this by giving you the ability to input text into an Android device or emulator quickly and easily. It remembers the last used device, so you don't need to select it every time you use the plugin. Also, it remembers the last entered and sent a text which makes it easier to use this text again.
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.
QAPlug
One of the most important aspects that increase the readability of code which, in turn, makes it easier to understand and maintain, is code quality. In Java, there are several tools that allow you to improve your code’s quality. These include everything from Checkstyle that ensures you write code which complies with coding standards to Findbugs which helps you find bugs in Java code.
The QAPlug plugin adds extensive code quality functionality to IntelliJ. It does this by integrating tools like PMD, Checkstyle, Findbugs, and others into the IDE. In this way, it makes it easier for you to manage and maintain code quality when writing code.
Rainbow Brackets
Let's face it, when coding, you'll deal with brackets upon brackets and even more brackets from round ones, to square ones and squiggly ones. Obviously, this can become complicated when trying to figure out which bracket closes which block of code.
Luckily, the Rainbow Brackets plugin solves this problem. By showing bracket pairs in specific colors, it makes it easier for you to see where a code block starts and where it ends. This eliminates confusion and allows you to save time when writing code.
Android Drawable Importer
If you want to speed up your Android development, the Android Drawable Importer plugin is definitely worth a look. It consists of three features that make it easier to import, for example, vector images and icons.
First up is the AndroidIcons and Material Icons drawable import functionality. With this feature, you're able to select an asset, choose a color, select a resource name and the resolutions you want to import. You can then import these assets and all the missing folders will be connected for you.
With the batch drawable import feature you'll be able to do the same as with the AndroidIcons and Material Icons drawable import mentioned above, but you'll be able to do so in batches. Finally, the Multisource-Drawable import feature allows you to import assets from zip files.
Android Drawable Preview
As mentioned earlier, when developing an Android app, you’ll use a lot of drawable components. This makes it difficult to know what drawables you used and where you used them, especially if you’re working on a large project. With this in mind, it takes a lot of time and effort to figure this out and, without being sure, you could end up duplicating drawables.
The Android Drawable Preview plugin eliminates this problem. It does this by replacing the default file icons in your project view with previews of the drawables you’ve used. When using the plugin, it’s as simple as navigating through the folders in your project view to see exactly which drawables you’ve used.
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.
ADB Idea
Android Debug Bridge is an excellent tool included with the Android SDK that allows you to communicate with and debug Android devices. The utility provides you with access to a Unix shell that you can use to run a variety of commands on the device.
The ADB Idea plugin adds some of these commands to IntelliJ and Android Studio. Some of the commands added to the IDE include ADB Uninstall App, ADB Start App, ADB Kill App, ADB Start App With Debugger, and ADB Enable/Disable Wi-Fi. Keep in mind, though, that these are just some of the commands and that there are many more.
The key, however, is that this plugin can end up saving you a lot of time and speed up your development and debugging processes.
ADB Wifi
As mentioned earlier, ADB is an excellent tool you can use to communicate with an Android device to perform several different actions like installing and debugging apps or running a variety of commands.
The ADB WIFI plugin allows you to connect your Android device and development workstation through Wi-Fi. This means you'll be able to perform all the actions ADB offers and debug an Android device wirelessly. To do this you only need to ensure that both the Android device and the ADB host computer are connected to the same Wi-Fi network.
This makes this plugin a useful tool that could end up saving you a lot of time.
Android Butterknife Zelezny
Butterknife is a lightweight library that allows you to inject views into your Android components. It does this by using notation processing to generate modified Java classes based on your annotations. This process can become somewhat complicated and time-consuming, especially when you need to perform several injections.
The Android Butterknife Zelezny plugin solves this problem. It allows you to generate butterknife injections from selected layout XMLs in activities, fragments, or adapters. Simply put, it’s one of the best tools you can use to improve your productivity and efficiency when working with butterknife.
Name That Color
When you use a new color in an Android app, you often don't know what it's called. The problem is, to identify the color you’ll typically need to use an external tool like one of the many available websites that can identify a color for you.
But let's face it, when you're writing code you don't want to switch to your browser to find out what color you're adding to your application.
The Name That Color plugin makes it possible for you to have this functionality inside Android Studio. It allows you to name the color you have in your clipboard directly inside your color resource file in Android Studio.
VisualVM Launcher
VisualVM is an invaluable tool for monitoring and troubleshooting applications as it allows you to monitor process performance and memory, visualize process threads, display both local and remote Java processes, and more. In simple terms, it offers you a visual interface for viewing detailed information about your Java applications.
The VisualVM plugin provides VisualVM integration for IntelliJ and enables you to launch VisualVM alongside an executed application or from the console window of an application that is already running. This allows you to get insights into your Java applications quickly and easily.
Code Iris
As your application grows, you’ll need to deal with more modules, classes, packages, and dependencies. Understandably, this could become challenging with complex applications.
Code Iris solves this problem. It's a code analysis tool that allows you to visualize modules, classes, and packages of your projects and their dependencies. It also gives you the ability to filter and highlight classes and packages and easily navigate to these.
You can almost think of it as Google Maps for your source code which will allow you to manage your code and dependencies easier and make you more efficient.
Lombok
The Lombok plugin adds first-class support for Project Lombok into IntelliJ. Project Lombok is a Java library that automatically plugs into your IDE and builds tools that make it easier to write Java code. It does this by minimizing the amount of boilerplate code and allowing you to write code faster by using annotations. It also enables you to improve the readability of your code.
As such, the plugin has features like @Getter and @Setter which let you generate getters and setters automatically, @Data that generates boilerplate code that is normally associated with Java objects, a configuration system that lets you configure Lombok features according to your specific needs, and much more.
Add to gitignore
Typically, for any project, there are files you don’t want to track, commit, or push changes to GitHub for since pushing and pulling unnecessary changes to your repository could slow down development time and take too much space. For these files, you’ll then need to create a .gitignore file and add the files you don’t want to track to it.
This usually involves manually creating the file and editing it as needed. The Add to gitignore plugin makes this process a lot easier. You’ll be able to right-click on any file or directory and add it to your .gitignore file. Also, if no .gitignore file exists, one will be created for you.
Mario Progress Bar
Based on the Nyan Progress Bar plugin we mentioned earlier, the Mario progress bar injects some Nintendo nostalgia into your development environment. It allows you to make your IDE’s interface a little more exciting by adding a progress bar that shows Mario followed by some bricks for the basic bar or a Koopa shell for the indeterminate one.
Apart from making your development environment look nicer, it has a functional purpose too. This is because you'll know exactly how long before your project has finished compiling.
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.
Shifter
When working with data, you’ll often encounter it in the form of strings. Here, string manipulation gives you a variety of ways to manipulate, sort, and work with the data. When using string manipulation, you’ll, for instance, use them in conditional statements, change their case, and more.
The Shifter plugin makes string manipulation easier and allows you to perform string and code manipulations through various keyboard shortcuts. It, for instance, allows you to sort lines alphabetically, flip the order of words in camelCase strings, swap the operands in conditional statements, increment and decrement numbers, and more.
Ultimately, when you’re able to work with strings this effortlessly, you’ll be more productive.