IntelliJ IDEA 初期設定・プラグイン・ショートカットコマンド

#IntelliJ IDEAの設定の紹介

IntelliJ IDEAの設定の紹介です。
IntelliJを使い始めて2年が経ちました。
テキストエディタ、統合開発環境(IDE)として大変重宝しています。
初期設定はもちろんや2年たってみてよく使うコマンドなどを改めてまとめてみました。

ここで紹介する内容は下記のとおりです。

- 初期設定
- プラグイン
- ショートカットコマンド
- その他オススメの設定等


IntelliJだけでなくphpstormやwebstormでも共通のものがほとんどだと思うのでいずれを使っている方にとっても参考になれば幸いです。

##バージョン

IntelliJ IDEA 2018.1.4 (Ultimate Edition)
Mac OS X 10.10.5

#初期設定

インストールした後にすぐ行った設定をまとめています。

まずは画面最上部から**IntelliJ IDEA → Preferences**をクリックします。

![set.png](https://qiita-image-store.s3.amazonaws.com/0/117024/e3904349-e832-d529-7e66-e785898bcc36.png)


##自動保存設定

**Preferences → Editor → General → Editor Tabs**
**Tab Appearance → Mark modified tabs with asterisk**

![modified_tab.png](https://qiita-image-store.s3.amazonaws.com/0/117024/1e4e69e6-e36e-76f8-9441-03ca9acf0769.png)


チェックをオンにすると、未保存のファイルのタブにアスタリスクが表示されるようになります。
IntelliJはファイルに変更を加えた際に最初から何秒後かに自動保存されるようになっていますが、ここの設定で一目できるようになります。

##空白スペースの表示

**Preferences → Editor → General → Appearance**
**show whitespaces** にチェックを入れる

![whitespaces.png](https://qiita-image-store.s3.amazonaws.com/0/117024/4061d70d-c3d7-7fb4-8ffd-0d5b09469b6d.png)

タブや全角スペースを検出してくれます。

##空白スペースの色も変更する

**Preferences → Editor → Color Scheme → General**
**Text → Whitespaces → Foreground**

![color_scheme.png](https://qiita-image-store.s3.amazonaws.com/0/117024/71d8887b-9939-9f0d-a3fa-336886dd858f.png)


デフォルトの`灰色(505050)`から、`F960C4`に変更しました。
色はお好みで。

##EditorConfigの有効化

**Preferences → Editor → Code Style**
**EditorConfig → Enable EditorConfig support**

![editorconfig.png](https://qiita-image-store.s3.amazonaws.com/0/117024/ea614628-b83f-6e5f-bbdb-63f3bec8975c.png)


チェックを入れるとEditorConfigの設定が有効化されます。
**Editor CodeStyle**では、各言語ごとにtabSizeやindentを設定できますが、**EditorConfig**の設定がそれを上書きするようになります。

html、css、phpはタブとインデントともに2に設定しています。

##Hard-Wrap 1行の最大文字数

**Preferences → Editor → Code Style**
**Default Options → Hard wrap at**

![hard_wrap.png](https://qiita-image-store.s3.amazonaws.com/0/117024/2c2c2c2b-5cbf-277c-5dad-f83307c847e8.png)

1行の最大文字数を変更できます。
デフォルトは120です。80などにしてみても良いと思います。
(書籍『リーダブルコード』では80を推奨していますね。)

##Soft-Wrap 画面幅で自動で行を折り返し

**Preferences → Editor -> General -> SoftWraps**
**Use original line’s indent for wrapped parts**

![soft_wrap.png](https://qiita-image-store.s3.amazonaws.com/0/117024/82072af7-c9ba-aeda-4031-bee1a476e1c9.png)

チェックを入れると、画面幅で自動で行を折り返してくれます。

### (余談)SoftとHardの違い

ハードラップ：実際に改行文字を挿入して折り返す。
ソフトラップ：実際には改行文字は挿入されておらず、画面上だけで折り返しているように見せる。

##array() → []

**Preferences → Editor → Code Style → PHP**
**Code Conversion → Array Declaration Style**

![array_fix.png](https://qiita-image-store.s3.amazonaws.com/0/117024/fb396350-e4c3-3762-52a6-3d0096e493dd.png)


**Force short declaration style**にチェックを入れる
これで配列を強制的にshort array syntaxに変更します。
つまり`array()`が`[]`になります。

すぐ下にある**Add a comma after last element in multiline array**にチェックを入れると配列の一番最後の要素にカンマを追加します。
2番目の設定は好みによると思いますが、要素を追加したときに変更を加えていない行もカンマを入れることでgithubに差分が出てしまうことがよくあるので、私はチェックを入れています。

##フォントの変更

分かりづらいのですが、フォントの変更は設定箇所が2箇所あります。

優先の設定がここです。
**Preferences → Editor → Color Scheme → Color Sheme Font**
![color_scheme_font.png](https://qiita-image-store.s3.amazonaws.com/0/117024/99f2d407-78d9-6952-5f6a-f3ed20437d07.png)

ここで、
**Use color sheme font instead of the default**のチェックを外すと、
上記の画面の設定ではなく、下記の場所の設定が使えるようになります。

**Preferences → Editor → Font**
![font.png](https://qiita-image-store.s3.amazonaws.com/0/117024/4b11df0d-9cdd-e5b6-b258-130d247acf3d.png)


あとはここでお好みに変更できます。

**Preferences → Editor → General の Mouse**にある
**Change font size (Zoom) with Ctrl + Mouse Wheel**
![font_mouse.png](https://qiita-image-store.s3.amazonaws.com/0/117024/b64fb6b4-f6f7-f789-222c-914ee5d2a72e.png)


チェックを入れておくと、コントロールとマウスを使いフォントサイズ変更が楽にできます。
マックの場合はドラックパッドを使って変更できます。

コマンドを押しながら誤操作などで思わぬうちにサイズが変わってしまうことを避けたい方はチェックを外しておくといいと思います。


#オススメのプラグイン

プラグインは**Preferences → Plugins**からインストールします。
![plug-in.png](https://qiita-image-store.s3.amazonaws.com/0/117024/e5f2d9fa-f488-4eb8-2be5-75e2b6b5463e.png)


プラグインはあまり使わないタイプですが、最初にインストールしたプラグインだけ紹介します。

##PHP

`phpstorm`だとデフォでインストールされていますが、`IntelliJ`だと最初はありません。
ちなみにUltimateじゃない完全無料のバージョンでは、phpのプラグインが取得できないので注意して下さい。

##LiveEdit

LiveEditは「ブラウザをリロードせずにファイルを動的に書き換えて表示する」という機能です。
ファイルを更新しながらリアルタイムでブラウザの表示も更新されます。
HTML・CSS・JSが対象なのでフロントエンドエンジニア向けの機能ですが最初に使ったときは感動しました。

##EditorConfig

`intelliJ`だとおそらく初めから入っています。
`webstorm`や`phpstorm`は未確認なので、なければインストールして見て下さい。

これにより、`.editorconfig`をgit管理で、プロジェクトごとに、
メンバーが共通のタブとか規約で作業することが可能です。

##Scrath

メモが簡単にできるようになります。
macだと`Alt + C`を押すとメモファイルが開きます。
githubにコミットなどされることはないので心配なくメモが書けます。

#ショートカットコマンド

最初は全部使える必要は全くないですが、
私が2年たって今でもよく使うショートカットコマンドをまとめました。

##コード整形

`Command + Alt + L`

##文字検索

`Command + Shift + F`
指定の文字列を検索してくれます。

##文字列置換

`Command + Shift + R`
指定の文字列を置換してくれます。

##ファイル名検索

`Shift × 2`

結構よく使います。

#その他オススメの設定等

ショートカットコマンドと同様で最初は使わなくて全然いいと思いますが、
ゆくゆく使えるようになると便利そうなものをまとめました。

##ファイルの変更履歴をみる

ファイルの行番号の箇所でダブルクリックをし
**Annotate**を押すと、その行の変更履歴がみれます。
githubを使っているととても便利です。

##現在開いてるファイルを、ファイルツリー(サイドバー)で自動に表示する

プロジェクトツールウィンドウにある**歯車のアイコン**をクリック。
**Autoscroll from Source**にチェックを入れる。

これによりエディタでファイルを切り替えると、自動的にファイルツリーが現在開いているファイルのところまで展開されファイルが選択状態になります。


##functionのdocを自動で作る

functionをハイライト(選択状態)にして、
`alt + Enter`を押し**Generate PHPDOC for function**をクリックします。

paramやreturn値などphpdocをfunctionの上部に自動で定義してくれます。

use文が必要なメソッドなどは、同じくハイライト(選択状態)にして、
`alt + Enter`を押し**import Class**から必要なuseの宣言をファイル上部に追加できます。

##画面分割

**(メニューバー)Window → Editor Tabs**内にある**Split Vertically**と**Split Horizontally**で縦横に画面を分割してくれます。

##扱えるファイルの容量制限をふやす

コード支援を提供するファイルの最大サイズ(キロバイト)を変更したいときに設定します。

**(メニューバー)HELP → Edit Custom Properties**を選択すると
エディタに新規ファイルの編集モードになるので、下記をファイルに記載します。

`idea.max.intellisense.filesize=100000`

※デフォルトは2500です。

最初はデフォルトのままで全く問題ないと思います。
大きいファイルを編集できない時になったり、他にもコンソールサイクリックバッファなども変更できるので使い慣れてきた時にでもカスタマイズするのもいいと思います。参考までに
https://www.jetbrains.com/help/idea/tuning-the-ide.html