Modern IDEs have gone far from the usual notepad and provide so many features that it is impossible to know about everything. However, even with such a bunch of features, developers sometimes lack some functionality, so they have to use different plugins. We asked experts what plugins and extensions they use in their IDEs
Chief Executive Officer
Below are those deserving attention:
- Version Lens. One of the most useful plugins that allows you to control the versions of installed dependencies and quickly learn about the release of new ones to update them.
- Change-case. With this plugin, you can quickly change the case of the current selection or word. All popular “cases” are available: camel, constant, kebab, snake, etc.
- Bracket Pair Colorizer. Highlights paired brackets, which helps a lot with a large nesting of conditions.
Prettier — Code formatter. Cool, very cool plugin. Its peculiarity lies in the content of the code base in the integral style. Code formatting is done automatically without style disputes.
- ESLint. This plugin is used for setting a project’s coding rules. In the vast majority of cases, a whole team is involved in the product development, with everyone having their own code writing, their own “handwriting” and style. Often, as a result, the code turns out to be complex which is not good. Using the ESLint+Prettier bundle allows you to write code in a single style. Separately, I note that ESLint is also suitable for TypeScript projects, becoming a great alternative to using TSLint, which has been discontinued.
An IT company Java developer group leader
We use different IDEs, the most popular Java development in the world at the moment is IntelliJ IDEA. We get most of the features out of the box, but plugins, of course, are also needed. Below is the TOP of those “must have’s” that we use in the daily work of a Java developer:
- CheckStyle-IDEA – it’s convenient to have consistent code formatting rules for the entire team and at any time to be able to check if the comments are placed correctly, if there are any problems with the names of classes and methods, if tab has crept in somewhere to indent at the beginning of the line, etc. This one is especially useful for beginners. And even when you know all these rules by heart, it’s nice to know that someone is watching you and will immediately correct you. Code that is formatted in a consistent way is easier to review and easier to maintain.
- AsciiDoc — we have been writing both documentation and code for quite a long time, so we chose AsciiDoc for this and, of course, we need a plugin to do everything without leaving our favorite IDE. There is also the opportunity to type text and immediately see how it will look after rendering. Recently, work has been done to ensure that the plugin works fine with JCEF, like the rest of IDEA. Now it will be more responsive and will consume less memory.
- String Manipulation — you need to work with lines all the time, and this plugin allows you to do a lot in a couple of clicks, for example: generate a sequence from 1 to 20, decode or put escape characters for JSON.
- Xtend Support Plugin — we made it for ourselves, placed it in our own repository and use it to support DSL to describe the domain model in IDEA. Perhaps someday we will mature to share with everyone, but I mean that the best plugin is the one that effectively solves your own problems and it’s not so difficult to develop one (it’s more difficult to maintain compatibility with new versions of IDEA), luckily, tutorials and reports on the topic are available on the net.
If you reached this, hold one more pretty nice plugin, which will help brighten up the waiting time and draw a nice Progress Bar.
Head of Java Practice Center
In this selection, I will not consider plugins and extensions for working with any specific frameworks and libraries, for example, Spring, but I will try to talk about those that help to work regardless of the technologies used.
Presentation Assistant helps make the demonstration of the development process more transparent. Every time the speaker presses a hot key or does something in the IDE, a small tooltip appears on the screen containing a short name of the action and its corresponding keyboard shortcut for Windows and Mac.
Key Promoter X works in the same vein, but the other way around. It is useful for those who are just getting started with Intellij IDEA or plan to speed up their work in it. Every time an action is performed with a mouse or trackpad, the plugin shows the hotkeys for that action and counts the amount of “sub-optimal work” for each action separately. Unlike Presentation Assistant, it is useful not only during demos, but also in regular work.
The second group is plugins for working with strings and helping at the time of writing the code.
One of my favorites is String Manipulation. It adds a large number of additional actions when working with strings, such as: encoding / decoding, changing the case of the written text (for example, from CamelCase to SCREAMING_SNAKE_CASE), sorting, filtering, and many others.
Dummy Text Generator — a plugin that generates strings to fit every taste. It helps a lot in development when you need to work with test strings. Usually you have to add all sorts of rubbish to the code accidentally knocking on the keyboard. The plugin generates, though random, a text looking like a real one.
Rainbow Brackets colorizes all parentheses in the code in different colors of the rainbow so that the opening and corresponding closing parentheses are of the same color. This makes reading and writing code much more convenient.
And, finally, the third group of plugins that helps the work in general.
Grep Console — a powerful tool for processing text that is output to the console. It can be colored depending on the established rules or even hide unnecessary information. No more walla of monotonous text, only a visualized and useful log.
Another simple but very useful SideNotes plugin allows you to add a note-taking window to the IDE. This is useful not only while writing code, but also at meetings or during code reviews.
For those who like to control their working hours and adherents of the Pomodoro practice, I recommend the Pomodoro-tm plugin. With it, you can divide time between work and rest, set up intervals for yourself, and even block the development environment during rest.
As a bonus, I’ll tell you about the Power Mode II plugin. Install it and the coding process will get +87 epic and +46 spectacular. I will not disclose what exactly it does, so as not to spoil the impression – just try it yourself.
Lead Frontend Developer
Plugins are a handy solution that helps you flexibly customize the IDE to fit your needs. If the editor does not support any framework or language, then this can be fixed by installing the necessary snippets and plugins to support the syntax. If you don’t like how your code is automatically formatted and you have already exhausted the options for customizing your IDE, then you can use dozens of different plugins that implement an alternative to inline formatting.
When I worked on Visual Studio Code, I often needed plugins to work with less common formats / frameworks that do not have support by default. But with the transition to WebStorm, I forgot about it, since its basic functionality is quite enough.
Here are a few plugins that I personally use and recommend to other developers:
- Json Parser — a plugin that makes it easier to work with a large amount of JSON inside the IDE;
- Database Navigator — a plugin that allows you to work with various databases – Oracle, MySQL, SQLite, PostgreSQL, as well as in experimental mode with any JDBC-compatible database. The plugin allows you to view, edit and partially administer databases without leaving the IDE;
- Codota — a plugin that sorts the output of methods and variables in code autocomplete tooltips based on the popularity of their use. Can also show code usage examples;
- Extra Icons — a plugin that provides an extended set of icons for various types of files. For example, if the standard icons do not indicate whether this file is an Angular component / pipe / service, then with the plugin connected, everything becomes clearer.
At our company, the main development tool is the Visual Studio program from Microsoft, where it is convenient to write code for .NET / .NET Core. Despite the fact that it has a lot of useful features out of the box recently, even in the free Community edition, some of us use certain plugins for ease of development, refactoring, quality control, and so on.
ReSharper by JetBrains – adds a lot of features to the IDE. For example, naming convention control often helps to avoid mistakes, and it can automatically adjust to the conventions adopted in the project. Correction of typos in keywords: even if you write any of them in transliteration, it will be replaced with English. In addition, the plugin saves time because it can quickly wrap a whole piece of code in curly brackets, try, foreach, and the like, just highlight the code, start typing the name of the desired operator and press Enter. When refactoring using this tool, it is convenient to change the method signature: you can change not only the parameters, but also the return type.
CodeMaid – is intended for “beautifying” the code: cleaning up extra spaces, formatting, and my favorite – calculating the cyclomatic complexity of methods. This is the function I use most often to try to keep the code readable and understandable.
WakaTime is needed to control the time of work: while I am writing the code, it sends information to the service of the same name about how long I have been working, under what project, in which file, and even in which branch. Thanks to this, you can see how many hours a day are spent directly on the code, which will help to calculate the real amount of labor spent on a particular task.
Productivity Power Tools – plugin that some of my colleagues use. Its features are a warning about mixing “tabs” and “spaces”; “highlighting” the selected variable throughout the file with the addition of markers on the scrollbar to navigate to the places where it is also used in the code; displaying errors in files directly in Solution Explorer; “coloring” open tabs depending on the project, and many more useful features.
With time, many of us abandon certain IDE extensions, as each one adds a load to the development environment, which causes delays in the processing of projects, especially large ones. As a result, their goal of increasing developer productivity is lost. In addition, as the IDE is updated, new features often appear that can be used without plugins. These two factors should be kept in mind before expanding your development environment and not throwing everything into it.
I myself work on IntelliJ IDEA with Java. In fact, at the moment, any IDE or editor requires about 10-20 plugins for convenient work. I will not explain why, for example, a plugin for Git is needed. I will also try not to touch IdeaVim, which is specific to a narrow circle of specialists, or Lombok Plugin, which is only necessary for a Java developer. But the following plugins will be useful to any developer.
String Manipulation. A real must-have for a programmer. Initially, I ran into it when I was looking for a tool for automatically changing the case of words (the so-called case-switch), for example, from camelCase to kebab-case and vice versa. The plugin performed the task perfectly, providing about 14 different spelling formats for words, which helped a lot with the routine work of styling the code. But in addition to this already quite useful feature, the plugin can also perform string sorting, filtering, cleaning duplicates, as well as a number of operations with numbers, such as increment or automatic creation of sequences (which is very convenient when compiling numbered lists). It also works almost without errors with a multicursor that allows you to process hundreds of lines of code or any other text within a couple of minutes.
Every developer should have such a tool in a sleeve. I noticed that now I can concentrate on solving problems, and not on how this variable is written. Well, for those who do not work with IDEA, I can say that there are analogues of this plugin for other IDEs, for example, in a couple of minutes of searching, I found the
AnyEdit plugin for Eclipse.
Markdown. Of course, every developer at least once wrote README.md in his GitHub repository. Yes, the editor there is very convenient, but I always liked to do absolutely everything in the IDE that is related to development.
This plugin allows you to see changes in the edited Markdown document in real time. In addition, when writing blocks of code, all IDE functions begin to work as if the code was written in a separate file (you can even run it!). If you add the charms of the previous plugin to this, you get an excellent editor for program documentation or just a convenient text editor.
And yes, there are language packs with spelling and grammar checking, this will turn the IDE into a full-fledged competitor to MS Word.
Are there any useful plugins that you use that have not been mentioned in the article? Share them in the comments!