1回でいいからIntelliJ IDEAを使ってみてくれ

おじさんが大好きな**IntelliJ IDEA**について語らせてよっていうエントリ。

*gif入れるの初めてで、いろいろ残念な感じになってます。いつか直します。*

# IntelliJ IDEAって？
チェコに本社を置く**JetBrains社製のJava系向けIDE**（統合開発環境）。
強力な入力補完やリファクタ機能が特徴で、2016年の調査では1番人気なJavaの開発環境なのだとか。
※ソース : [IntelliJ IDEA - Wikipedia](https://ja.wikipedia.org/wiki/IntelliJ_IDEA)

有料版のIntelliJ IDEA Ultimateと、無料かつオープンソースのIntelliJ IDEA Communityがある。
オープンソースな事もあってAndroidの公式IDEであるAndroid StudioもIntelliJ IDEAがベースになっていて、使用感とかその他諸々一緒。
最近ではJetBrainsのIDEを一元管理できるJetBrains ToolboxにAndroid Studioも仲間入りを果たしたし。

IntelliJ IDEAはJava向けだけど、C#など.NET系言語向けのRider、PHP向けのPhpStormなどもある。いずれも有料（それなりに高い）。
Python向けのPyCharmなら無料版があるよ。使お？

学生ならすべてを無料で使うことができる魔法の**学生ライセンスが結構簡単に取得できる**のでぜひ使ってみてほしい。

# IntelliJ IDEAのここがすこだ...
個人的に好きなポイントは以下の4つ

- Win/Mac/Linuxで使える
- 環境構築が楽
- GitなどをIDEでサポートしてる
- コンストラクタなどを生成してくれる機能が最高

VisualStudio Codeみたいにプラグイン入れなきゃ...とか、そんなことが一切なくインストールさえすれば割とすぐ使える。
ソースファイルに変更を加えた時点で自動的に保存されるのでVisualStudioなんかでよくある（と思う）保存し忘れ→ビルドなんてことも起きない。

IntelliJ IDEAに慣れるとこれじゃなきゃいやになっちゃうので、みんなもそうなってほしい。

# 非の打ち所を無理やり言うと...

- 起動が遅い
- ちょいちょい重たい
- 日本語がサポートされていない

マシンパワーと気合で乗り越えていけ。

# さぁ、インストールしよう
IntelliJ IDEAを動かす前提としてJavaの実行環境と、JDKが必要なのでそれらのインストールを済ませておいてほしい。

IntelliJ IDEAのみをインストールする方法と、JetBrainsのIDEを一元管理できるJetBrains ToolBoxからインストールする方法がある。

## IntelliJ IDEAだけインストール
ここからダウンロードすればIntelliJ  IDEA単体をインストールできる。
インストーラを起動すればポチポチ適当にインストールできるはず。

[Download IntelliJ IDEA: The Java IDE for Professional Developers by JetBrains](https://www.jetbrains.com/idea/download)

## JetBrains Toolboxからインストール
### JetBrains Toolboxって？
![image.png](https://qiita-image-store.s3.amazonaws.com/0/273517/b6db4290-ccbb-d65c-db63-7235150f3beb.png)

JetBrains ToolBoxを導入すると、IDEのインストール・起動・アップデートを簡単に行なうことができる。
JetBrains製のIDEで開いたプロジェクトファイルもリストアップされるので、エクスプローラで探してきて、ダブルクリックする手間が省ける。
また、IDEを起動する前にアップデートが来ていることに気づけるので、**「せっかく起動したのにアプデして再起動させなきゃなんねーのかよ、萎えたわ」現象**も起きにくい。最高。

### インストール
こちらからダウンロードできる。
インストーラを起動すればポチポチ適当にインストールできるはず。

[Toolbox App: Easily Manage JetBrains Product Updates](https://www.jetbrains.com/toolbox/app/)

Toolboxのインストールが済んだら`AVAILABLE TOOLS`のところからIntelliJ IDEA Communityをインストールしよう。

有料版もリストアップされているが、1か月使うと購入を迫られると思うのでおとなしく無料版をインストールしよう。
CommunityもUltimateも使ったことあるけど、基本的なことは無料版でも不自由なくできる。やったね！

# Hello, IntelliJ IDEA.
IntelliJ IDEAを起動すると、**「俺...白いほうがいい？黒いほうがいい？」**みたいなことを聞かれたりするので、お好みの方を選んでどんどん進めてほしい。
追加のアドオンなんか入れる？みたいにもなるけど、後から追加できるし、普通に動くので特に何も入れず次へ。

そうすると、トップページっぽい感じになるので、**Create New Project**をクリックしよう。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/273517/5cf31770-20dc-5764-ecfe-1522122a6357.png)

## プロジェクトの新規作成
とりあえずJavaを選んでNext。
その次の画面も特にいじらずNext。
その次の画面でお好みのプロジェクト名とディレクトリを選択してFinish。

## 画面の見方

![image.png](https://qiita-image-store.s3.amazonaws.com/0/273517/f60133ab-7705-6471-69f4-d963de7881b7.png)

左上の方にある`Project`タブでファイルツリーを見ることができる。
ここでクラスファイルやディレクトリの作成などを行なう。

試しにJavaクラスファイルを作ってみよう。
プロジェクトのディレクトリ配下にある`src`ディレクトリを右クリックして`New > Java Class`を選ぶことでクラスファイルを作成できる。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/273517/32d1887c-e94c-31c1-bfc6-9b3e98a8a37a.png)


クラスファイルを作成すると、右にエディタが出てくる。ここにガリガリとプログラムを書くことになる。

# 便利な機能を使おう

## コードの生成
コードをIntelliJ IDEAに書いてもらおう。ストライプメニューの`Code > Generate`を選ぶか、キーボードショートカットを使う。
Windows/Linuxなら`Ctrl + Alt + Insert`、Macなら`⌘ + N`だ。

![ダウンロード.gif](https://qiita-image-store.s3.amazonaws.com/0/273517/22ccd92d-c99d-0646-f1b3-4e41eb04290d.gif)

ね？便利でしょう？
コンストラクタの他にオーバーライドメソッドや、ゲッタ/セッタなども生成できる。

## ジャンプ

カーソルで指してるメソッド等にジャンプすることができる。
Windows/LinuxはCtrlキーを、Macは⌘キーを押しながら飛びたいメソッド名やクラス名をクリックだ。

![ダウンロード (1).gif](https://qiita-image-store.s3.amazonaws.com/0/273517/e6eb0e3d-1768-059b-d706-4c4a8d786d79.gif)

「こいつ何やってんだ...？」って気になったときはこれを使えばピョンっと気軽に見に行くことができる。

## リファクタ
`Shift + F6`で変数名とかメソッド名、クラス名などを依存関係も全部含めて変更することができる。

![hoge.gif](https://qiita-image-store.s3.amazonaws.com/0/273517/48ce904a-5913-2c94-9bbc-d937d03f3ad3.gif)

恥ずかしいTypoなんかもすぐ修正できる。

## ステップ実行
行番号のちょっと横をクリックするとブレークポイントをつけることができる。これをつけてDebugをするとその行で動作を停止して、その状態のときの変数の値などを見ることができる。

右クリックして、`Debug`を選ぶとデバッグしてくれる。

![step.gif](https://qiita-image-store.s3.amazonaws.com/0/273517/e2177f03-a9ed-e528-bf05-e963b75f0f50.gif)

意味不明なエラーに苛まれているときなんかに役に立つかと。
ステップ実行とかはNetBeansとかでもできる。

## その他いろいろ
Gitなどをつかうときはストライプメニューの`VCS`からできる。

実行するときは`main()`メソッドのあるファイルをエディタで開いている状態で右クリックして`Run`を選べばビルドして実行してくれる。

# 最後に
IntelliJ IDEAを使いこなすことでより早く、正確に、快適にプログラミングをすることができる。
ぜひぜひ使ってみてほしい。