JetBrains IDEのオススメPlugin

# バージョン管理など

## .ignore
[\.ignore \- Plugins \| JetBrains](https://plugins.jetbrains.com/plugin/7495--ignore)

- ファイル／ディレクトリを右クリックしたときのメニューに`Add to .gitignore file`, `Add to .gitignore file(unignore)`が追加される。
- `.gitignore`を開いているときにCtrl+クリックで飛べる
- `.gitignore`を開いているときに`.gitignoreglobal`の内容も表示してくれる
- gitignoreされてるファイルはProject Viewでグレーの表示になる。ファイルを開いたらignoreされてますよと教えてくれる。

## GitToolBox
[GitToolBox \- Plugins \| JetBrains](https://plugins.jetbrains.com/plugin/7499-gittoolbox)
Project Viewに今のブランチ名とか、リモートブランチとの先行/後コミットの数を表示してくれる。

## GitAlso
[GitAlso \- Plugins \| JetBrains](https://plugins.jetbrains.com/plugin/11155-gitalso)
JetBrains付属のGitクライアントでコミットする際に、「このファイルも修正またはgit addしないといけないのでは？」と教えてくれる。

## Open in GitHub
[Open in GitHub \- Plugins \| JetBrains](https://plugins.jetbrains.com/plugin/7190-open-in-github)
ファイルを右クリックしたときに`Open in GitHub`というメニューが出る。

## Find Pull Request
[Find Pull Request \- plugin for IntelliJ IDEs \| JetBrains](https://plugins.jetbrains.com/plugin/8262-find-pull-request)

右クリックして、そのコードが書かれたPRを探して、そのPRを開いたり、クリップボードにコピーしたりできる。
行番号のところを右クリックして、`Lists Pull Requests`を押すと、行番号のところに、プルリクエストの番号が出て、その番号をクリックすると、PRへ飛べる。

## Upsource Integration
[Upsource Integration \- Plugins \| JetBrains](https://plugins.jetbrains.com/plugin/7431-upsource-integration)
Upsourceと連携して、IDEで上でコードレビューできます。

# JVM系言語

## FindBugs-IDEA
[FindBugs\-IDEA \- Plugins \| JetBrains](https://plugins.jetbrains.com/plugin/3847-findbugs-idea)

静的コード解析ツールです。
↓使い方
[FindBugsを試してみた \| レコチョクのエンジニアブログ](https://techblog.recochoku.jp/3135)

## Advanced Java Folding
[Advanced Java Folding \- Plugins \| JetBrains](https://plugins.jetbrains.com/plugin/9320-advanced-java-folding)
Javaを開いたときにKotlin, Groovy, Scalaっぽく省略して表示してくれるものっぽい。
普段、Javaじゃなくて、Kotlin, Groovy, Scalaとか書いてるけど、Javaを触ることになった人向けかなあ。

## GenerateAllSetter
[GenerateAllSetter \- Plugins \| JetBrains](https://plugins.jetbrains.com/plugin/9360-generateallsetter)
これ無いと効率落ちる。
変数にカーソル => alt+enter => `generate all setter`で全部のセッターにてきとーな値をセットするコードが生成される

## InnerBuilder
[InnerBuilder \- Plugins \| JetBrains](https://plugins.jetbrains.com/plugin/7354-innerbuilder)
Alt+InsertでインナークラスでBuilderを自動生成してくれる。

## Lombok Plugin
[Lombok Plugin \- Plugins \| JetBrains](https://plugins.jetbrains.com/plugin/6317-lombok-plugin)
Javaな人には説明不要ですね。
Build, Execution, Deployment => Compiler => Annotation Processors はONにして使いましょう。

## Java Visualizer
[Java Visualizer \- Plugins \| JetBrains](https://plugins.jetbrains.com/plugin/11512-java-visualizer)
デバッグ時にJava Visualizerというタブが出てきて、コールスタックとヒープを図にしてくれる。

## Java8 Postfix
[Java8 Postfix \- Plugins \| JetBrains](https://plugins.jetbrains.com/plugin/7950-java8-postfix)
Java8でよく使うAPIを補完してくれる。

## JOL Java Object Layout
[JOL Java Object Layout \- for IntelliJ IDEA, Android Studio \| JetBrains](https://plugins.jetbrains.com/plugin/10953-jol-java-object-layout)
クラスを選択するとオブジェクトがメモリ上にどう配置されるかが確認できる。
仕様頻度は高く無さそうだが、シビアな並列処理を書くときに使いそう。
参考サイト：[JOL \- Javaオブジェクトのメモリサイズを取得する \- 覚えたら書く](https://blog.y-yuki.net/entry/2016/10/27/000000)

## Kotlin Sequence Debugger
[Kotlin Sequence Debugger \- Plugins \| JetBrains](https://plugins.jetbrains.com/plugin/10301-kotlin-sequence-debugger)
Javaのデバッガーにもあった、デバッグ時の`Trace Current Stream Chain`ボタンのKotlin版

# フロントエンド

## Prettier

[Prettier \- plugin for IntelliJ IDEs \| JetBrains](https://plugins.jetbrains.com/plugin/10456-prettier)
Prettierで保存時にフォーマットとかできます。

## React Buddy
[React Buddy \- IntelliJ IDEs Plugin \| Marketplace](https://plugins.jetbrains.com/plugin/17467-react-buddy)
useCallbackでラップされたイベントハンドラやuseRefなど自動生成してくれたりします。

# CSV

## CSV Plugin
[CSV Plugin - Plugins | JetBrains](https://plugins.jetbrains.com/plugin/10037-csv-plugin)
カラム毎に色をつけてくれたり、列を揃えたりしてくれる。
Table Editorタグを開くと、表計算ソフトのようなセルのUIになったり、いろいろできるっぽい。
最近CSV使う案件少ないんで、あんまり使わないかも？


# UI

## Rainbow Brackets
[Rainbow Brackets \- Plugins \| JetBrains](https://plugins.jetbrains.com/plugin/10080-rainbow-brackets)
ネストしたそれぞれのカッコ毎に違う色を付けてくれます。

## Indent Rainbow

[Indent Rainbow \- plugin for IntelliJ IDEs \| JetBrains](https://plugins.jetbrains.com/plugin/13308-indent-rainbow)
インデントの空白部分を、段ごとに違う色にしてくれて視認性アップ。

## Presentation Assistant
[Presentation Assistant \- Plugins \| JetBrains](https://plugins.jetbrains.com/plugin/7345-presentation-assistant)
なんか操作した際に、ツールチップのようなもので、その操作のショートカットキーを教えてくれる。

## Key Promoter X
[Key Promoter X \- Plugins \| JetBrains](https://plugins.jetbrains.com/plugin/9792-key-promoter-x)
Presentation Assistantに似てはいるんだけど、右下のツールチップでショートカットキーを教えてくれる。
サイドバーも出現して、サイドバーにはツールチップの内容が溜まっていく。
Presentation Assistantと違って、Macなマシンは、MacのKeymapに設定していなくてもMacのKeymapしか出ないのが欠点。

## TabNumberIndicator
[TabNumberIndicator \- plugin for IntelliJ IDEs \| JetBrains](https://plugins.jetbrains.com/plugin/9962-tabnumberindicator)
タブに番号がついて、Alt + 数字でタブ切り替えできるようになる。
Macだと、↓の設定が必要かも
[MacのUSキーボードでOptionキーによる特殊文字入力の無効化 \- 津駄の日々](https://teuder.hatenadiary.org/entry/20131026/1382752283)

## CPU Usage Indicator
[CPU Usage Indicator \- Plugins \| JetBrains](https://plugins.jetbrains.com/plugin/8580-cpu-usage-indicator)
右下にCPU使用率が出るようになる


# Appearance

## Atom Material Icons
[Atom Material Icons \- Plugins \| JetBrains](https://plugins.jetbrains.com/plugin/10044-atom-material-icons)
アイコンがマテリアルデザインになる

## Material Theme UI
[Material Theme UI \- Plugins \| JetBrains](https://plugins.jetbrains.com/plugin/8006-material-theme-ui)
テーマがマテリアルデザインになる

## Nyan Progress Bar
[Nyan Progress Bar \- Plugins \| JetBrains](https://plugins.jetbrains.com/plugin/8575-nyan-progress-bar)
プログレスバーで猫が走るかわいいプラグイン

## Nyan Tray
[Nyan Tray \- Plugins \| JetBrains](https://plugins.jetbrains.com/plugin/11286-nyan-tray)
処理中？だとmacOSのメニューバー上でNyan Catが走るかわいいプラグイン


## The Doki Theme
[The Doki Theme \- theme for IntelliJ IDEs \| JetBrains](https://plugins.jetbrains.com/plugin/10804-the-doki-theme)

ドキドキ文芸部!(英: Doki Doki Literature Club!, 通称: DDLC）のテーマになるらしい。
（このプラグインで、ドキドキ文芸部!を知った）

# デバッグ

## Jump to Line
[Jump to Line \- IntelliJ IDEs Plugin \| Marketplace](https://plugins.jetbrains.com/plugin/14877-jump-to-line)
デバッグ中に任意の行へジャンプできる。
これを使えば、カーソルドラッグだけの簡単操作になるのと、ブレイクポイントをたくさん貼って、その後にブレイクポイントの剥がし忘れで、ブレイクポイントだらけになるのを防げる。

# その他

## Custom Postfix Templates
[Custom Postfix Templates \- Plugins \| JetBrains](https://plugins.jetbrains.com/plugin/9862-custom-postfix-templates)
[こちら](https://github.com/xylo/intellij-postfix-templates#screencast)のスクリーンショットを見てもらえれば分かるのですが、デフォルトで入っている補完機能が優秀。
そして、Settings => Editor => Custom Postfix Templatesで補完機能をカスタムできる。
IntelliJのデフォルトの補完機能(Editor => General => Postfix Completion)もあるのですが、
配列とjava.util.Listで補完機能の動きを変えたりなど、色々と高機能らしいです。
Javaだけでなく、色々な言語の保管がデフォルトで入っているようです。

## File Watcher
[File Watchers \- Plugins \| JetBrains](https://plugins.jetbrains.com/plugin/7177-file-watchers)
条件にマッチするファイルに変更があったら、コマンドを実行させるということができる。
ファイル監視して、フォーマットとかコンパイルとかなんかの実行をしたいときに使う。

## Shifter
[Shifter \- Plugins \| JetBrains](https://plugins.jetbrains.com/plugin/6149-shifter)
リテラルをインクリメントできたり、並び替えできたりできる。
↓詳しい使い方
[IntelliJ IDEAプラグイン \-Shifter\- 解説 \- Qiita](https://qiita.com/Getaji/items/cbca5f0ee640bcb7b1e3)

## Grep Console
[Grep Console \- Plugins \| JetBrains](https://plugins.jetbrains.com/plugin/7125-grep-console)
大量のログにログレベル毎に色を付けてくれたりする。ログを絞り込んで表示させることもできる。

## Save Actions
[Save Actions \- Plugins \| JetBrains](https://plugins.jetbrains.com/plugin/7642-save-actions)
保存したときにフォーマットかけるとかができる。
⚠️2023-09-25 現在、2023versionのIDEに対応したものがリリースされていない。[Actions on save](https://www.jetbrains.com/idea/whatsnew/2021-2/)という公式での機能が提供されているので、そちらを使うほうが良い。ちなみに、Actions on saveは、File Watchersとも連携できる。

## String Manipulation
[String Manipulation \- Plugins \| JetBrains](https://plugins.jetbrains.com/plugin/2162-string-manipulation)
キャメルケース <=> スネークケースへの変換、エスケープ文字の処理、URLエンコードなど変換ができる。
右クリックのメニューや、メニューバーのEditから色々できます。

## Test Data
[Test Data \- IntelliJ IDEs Plugin \| Marketplace](https://plugins.jetbrains.com/plugin/16873-test-data)
Generate... `Alt + Insert` (右クリックのメニューからでも出る)で、テストデータを生成できる。
カスタムでテストデータ生成もできる。その場合は、以下設定で設定する。
[File \| Settings \| Tools \| Test Data Generation](jetbrains://idea/settings?name=Tools--Test+Data+Generation)


## Translation
[Translation \- Plugins \| JetBrains](https://plugins.jetbrains.com/plugin/8579-translation)
選択文字列を`Ctrl + Shift + Y`で翻訳できます。
さらに、`Ctrl + Shift + X`で翻訳した文字列へ書き換えます。

## Archive browser
[Archive browser \- Plugins \| JetBrains](https://plugins.jetbrains.com/plugin/9491-archive-browser)

圧縮ファイルのなかもProject Viewからディレクトリを開くのと同じようにして見れるようになる

## Diff / Patch File Support
[Diff / Patch File Support \- IntelliJ IDEs \| JetBrains](https://plugins.jetbrains.com/plugin/11957-diff--patch-file-support)

*.diff, *.patchファイルがシンタックスハイライトされるようになる。

## Yet another emoji support
[Yet another emoji support \- IntelliJ IDEs \| JetBrains](https://plugins.jetbrains.com/plugin/12512-yet-another-emoji-support)

Slackみたいに、`:`を入力すると、絵文字が入力できるプラグイン。


## Awesome Console

[Awesome Console \- plugin for IntelliJ IDEs \| JetBrains](https://plugins.jetbrains.com/plugin/7677-awesome-console)
コンソールに出力されたファイル名がリンクになってくれて、ソースコードへ飛べたりする。
<font color="red"><b>⚠️現在（2021年01月19日）の時点では、これを使うとコンソールがもっさりするようなので、コンソールにログが大量に吐かれる状況では、これを使うのを諦めて、プラグインをオフにしたほうが良さそうです。</b></font>