10 Intellij Idea's plugins I'm using
Tags: productivity, java, intellij, tools
Published: 2020-06-09 16:03:35

<sub><sup>Cover image: https://pl.m.wikipedia.org/wiki/Plik:IntelliJIDEA_2016.3_Community.png</sup></sub>

Intellij Idea has [a lot of plugins](https://plugins.jetbrains.com/search?orderBy=downloads&products=idea), both paid and free (I'm using only free). Here is a list of my favorite, that I'm using daily.

<sub><sup>All images are from the official plugin's web page</sup></sub>
## SonarLint
![SonarLint](https://dev-to-uploads.s3.amazonaws.com/i/1v98i4d3inpg8r4zn9cs.png)
[SonarLint](https://plugins.jetbrains.com/plugin/7973-sonarlint) is a [static code analyzer](https://en.wikipedia.org/wiki/Static_program_analysis). Idea has build-in code analyzer, but SonarLint is able to find more issues in your Java code, so they work perfectly together. SonarLint can be connected to SonarQube server, but even in standalone is an interesting plugin.

[SonarLint plugin page](https://plugins.jetbrains.com/plugin/7973-sonarlint)

## Rainbow Brackets
![Rainbow Brackets](https://dev-to-uploads.s3.amazonaws.com/i/eu26vouys0g07qnpe90i.png)
[Rainbow Brackets](https://plugins.jetbrains.com/plugin/10080-rainbow-brackets) is just an eye candy tool that makes brackets colorful. There is also [Indent Rainbow](https://plugins.jetbrains.com/plugin/13308-indent-rainbow) but I'm not using it.

[Rainbow Brackets plugin page](https://plugins.jetbrains.com/plugin/10080-rainbow-brackets)

## Code review tool
![Merge Request Integration CE - Code Review for GitLab](https://dev-to-uploads.s3.amazonaws.com/i/bqp8x01vpfg2wetqhv7n.png)
That's what I'm most happy about. Making code review in web browser is a pain, you can't see the full code, you can't go to method implementation in simply way, etc. Moving this process to the IDE was fantastic decision.

In my company we're using the GitLab, so I'm using [Merge Request Integration CE - Code Review for GitLab](https://plugins.jetbrains.com/plugin/13607-merge-request-integration-ce--code-review-for-gitlab). But if you are using GitHub or BitBucket or other tool for code review - I'm sure that there is a good plugin for you, just search and test.

## Extra Icons
![Extra Icons](https://dev-to-uploads.s3.amazonaws.com/i/q58vfr4ajzofurhly5w6.png)
[Extra Icons](https://plugins.jetbrains.com/plugin/11058-extra-icons) adds icons for popular tools that are not available in Idea by default.

[Extra Icons plugin page](https://plugins.jetbrains.com/plugin/11058-extra-icons)

## CSV Plugin
![CSV Plugin](https://dev-to-uploads.s3.amazonaws.com/i/pgxef6qsjcfvvs09a4ki.png)
[CSV Plugin](https://plugins.jetbrains.com/plugin/10037-csv-plugin) allows to open the `.csv` files in tabular, excel-like view. Useful from time to time.

[CSV Plugin plugin page](https://plugins.jetbrains.com/plugin/10037-csv-plugin)

## CodeGlance
![CodeGlance](https://dev-to-uploads.s3.amazonaws.com/i/3wmwi476dqu96q5lrns1.png)
[CodeGlance](https://plugins.jetbrains.com/plugin/7275-codeglance) adds a code mini map into the editor pane. Not very useful, just show yours code structure.

[CodeGlance plugin page](https://plugins.jetbrains.com/plugin/7275-codeglance)

## CamelCase
[no picture]
[CodeGlance](https://plugins.jetbrains.com/plugin/7160-camelcase) allows switching easily between `kebab-case`, `SNAKE_CASE`, `PascalCase`, `camelCase`, `snake_case` or `space case`. I'm using it when renaming the variable after changing the scope.

[CodeGlance plugin page](https://plugins.jetbrains.com/plugin/7160-camelcase)

## AsciiDoc
![AsciiDoc](https://dev-to-uploads.s3.amazonaws.com/i/bdo1oikgv2v5v7wz5ijx.png)
In my company we are using [Spring REST Docs](https://spring.io/projects/spring-restdocs) to create technical documentation.  [AsciiDoc plugin](https://plugins.jetbrains.com/plugin/7160-camelcase) just shows rendered preview of `.adoc` files.

[AsciiDoc plugin page](https://plugins.jetbrains.com/plugin/7160-camelcase)

## Request mapper
![Request mapper](https://dev-to-uploads.s3.amazonaws.com/i/m0gyrowibc5ovy7g5f6l.png)
[Request mapper](https://plugins.jetbrains.com/plugin/9567-request-mapper) is a tool that allows you to find a URL mapping declaration in your Spring/JAX-RS/Micronaut project. You can add `@RequestMapping` annotation on both, class and method and the plugin still works fine and quick.

[Request mapper plugin page](https://plugins.jetbrains.com/plugin/9567-request-mapper)

## IDE Features Trainer
I've used this plugin in the past. As the home page says:
> Learn basic shortcuts and essential features interactively — right inside the IDE.

You can learn the IDE in an easy, interactive way.

[IDE Features Trainer plugin page](https://plugins.jetbrains.com/plugin/8554-ide-features-trainer)

## Bonus 1 - the font
![Monaco font](https://dev-to-uploads.s3.amazonaws.com/i/unsmdlckv7as7u4qlwyj.png)
I'm using the [Monaco font](https://www.cufonfonts.com/font/monaco). In my opinion it's really readable and clean. I love that font.

## Bonus 2 - Live templates
![test's live template](https://dev-to-uploads.s3.amazonaws.com/i/9ebapzg1ubv8g220u697.png)
I'm using only one live template in my daily job - to create new JUnit test.
To create that one, open `Preferences` ⇾ `Editor` ⇾ `Live Templates`, then add new template and paste:
```
@org.junit.jupiter.api.Test
public void $END$() throws Exception {
    
}
```

## Bonus 3 - skip Spring's classes when debugging
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/383z3ku30788gs5gjgkg.png)
I was really annoyed when I was debugging my application and saw infinite numbers of Spring's classes. So I've opened `Preferences` ⇾ `Build, Execution, Deployment` ⇾ `Debugger` ⇾ `Stepping` and added `org.springframework.*` into the `Do not step into the clasess` list. Really helpful trick ;)


Share in comments yours favorite plugins and tricks.