RubyMineの設定・使い方


環境は次の通り。

```
RubyMine 7.0.4
OS X 10.10.2
```

# 設定
## メモリの割り当てを増やす
[Tuning RubyMine](https://www.jetbrains.com/ruby/help/tuning-rubymine.html)に従って、RubyMineの起動前に設定する。
デフォルトだとメモリの割り当てが少なめなため。

まず、`/Applications/RubyMine.app/Contents/bin/rubymine.vmoptions`を`~/Library/Preferences/RubyMineXX/rubymine.vmoptions`にコピーする。

```
$ cp /Applications/RubyMine.app/Contents/bin/rubymine.vmoptions ~/Library/Preferences/RubyMine2016.3/rubymine.vmoptions
```

その上で、`~/Library/Preferences/RubyMineXX/rubymine.vmoptions`ファイルの設定を変更する。

```~/Library/Preferences/RubyMineXX/idea.vmoptions
-Xms1024m
-Xmx2048m
-XX:MaxPermSize=384m
-XX:+UseCompressedOops
```

## カラースキーマの変更
Monokai Sublime Text 3にした。

* [ここ](http://www.ideacolorthemes.org/themes/89/)からダウンロードする。
* File > import settings でインポートする。
* 再起動する。
* Editor > General > Color & Fonts で選択する。

## Editor で等幅フォントを使用する(Mac)
デフォルトの設定だと日本語フォントが等幅にならない。
そのため、

* [ここ](http://mix-mplus-ipa.sourceforge.jp/)から Migu 1M フォントをダウンロードし、インストール(ダウンロード後、フォントファイルをダブルクリックでインストール)。
* 環境設定 Preferences/Settings > Editor > Color & Fonts
* Fonts > Font を開き、フォントセレクタから Migu 1M を選択、フォントサイズ: 14, 行間: 1.1に設定。

## 行番号を表示
* Editor > General > Appearance > Show line numbers

## 改行コードをLFに設定
* Editor > CodeStyle > Line separator (for new files)
* Unix and OS X (\n)を選択する。

## メモリインジケータ表示
* Appearance
* Windows Options Show memory indicator にチェックを入れる

# プラグイン
プラグインのインストールは下記の通り。

1. Preferences/Settings > Plugins にある Browse Repositories をクリック。
2. インストールしたいプラグインを選択し、Download and Install する(要再起動)。

## Markdown
Markdown 記法をサポートするプラグイン。
.md ファイルを開くと Editor 下部にタブ Preview が現れるので、どのように見えるか確認できる。

## LiveEdit
Rails の erb ファイルや HTML ファイルの編集をブラウザ(Chrome)でリアルタイムに確認できるプラグイン。

### 準備

* LiveEdit プラグインを Download and Install.
* Chrome を開き、Preferences > 機能拡張を選択。
	* デベロッパーモードを ON にする。
	* "他の機能拡張を見る" をクリックし、"JetBrains IDE Support" をインストールし、有効にする。

### 使用方法

* Rails の場合はアプリケーションを起動。
* 編集対象ファイルを開き、View > Open in Browser でこれを表示する。
* URL のドメインは localhost でないと動作しないため、0.0.0.0 等になっている場合は修正する。
* View > Live Edit を ON にする。

## Rubymineにrbenvを認識させる
[Ruby Mineを導入することにした](http://source.hatenadiary.jp/entry/2014/12/13/211942)

1. `ln -s /Users/200082/.anyenv/envs/rbenv/bin/rbenv ~/.rbenv`でシムリンクを貼る
2. Rubyminで Tools > Create Command-Line Launcher でOK
3. 開きたい railsプロジェクトのディレクトリ内で`rubymine .`で立ち上げる

## Git
[RubyMine で Git を使う](http://qiita.com/Yukibou/items/cf9bc7d76a3133656c56)
Preferences の Version Control の、Git 項目にある SSH executable を、Native にしておく。

# 使い方
## ショートカット一覧
* [RubyMine “Mac OS X 10.5+” Keymap](https://www.jetbrains.com/ruby/docs/RubyMine_ReferenceCard_Mac.pdf)
* [RubyMine Usage Guidelines](https://www.jetbrains.com/ruby/help/rubymine-usage-guidelines.html)

## Rubymineを起動する
* 開きたい railsプロジェクトのディレクトリ内で`rubymine .`で立ち上げる

## ウィンドウの構成
#### モデルの E-R 図を閲覧する
Project パネル上で右クリックし、Diagrams > Show Diagram を選択。
Select Diagram Type ダイアログが表示されるので Rails Model Dependency Diagram を選択する。

## RailsServer を起動する
[RubyMine で RailsServer を起動したりデバッグしたりする方法](http://kakakakakku.hatenablog.com/entry/2014/06/08/192355)

1. `control + option + r`から`Edit configurations`
2. `+`ボタンからRailsを追加
3. `control + option + r`から`run`で起動する

## 検索
|コマンド|機能|
|:--|:--|
|`command + f`|ファイル内のインクリメンタルサーチ|
|`command + shift + f`|プロジェクト全体から探す|
|`command + shift + o`|ファイル名で検索|
|`command + ↑`|ナビゲーションバーを表示|
|`command + shift + o`|ファイルを検索|
|`shift + shift`|Search Everywhere|

`command + shift + f`を使う際、`Custom`で`Project And Libraries`を指定すると、`Gemfile.lock`に記載されているライブラリまで含めて検索するので便利。

![スクリーンショット 2015-03-26 17.38.20.png](https://qiita-image-store.s3.amazonaws.com/0/56499/1b51cf31-1b37-5a82-572a-e3e4632f19a6.png "スクリーンショット 2015-03-26 17.38.20.png")

## コマンドの実行
|コマンド|機能|
|:--|:--|
|`command + shift + A`|コマンドの実行|

## 移動
|コマンド|機能|
|:--|:--|
|`command + b`|コードジャンプ|
|`command + [`|コードジャンプ元に戻る|
|`command + shift + [`|タブ移動|
|`command + l`|行を指定して移動|
|`command + G`|find next|
|`F12`|サイドツールウィンドウに移動|

## 編集
|コマンド|機能|		
|:--|:--|
|`command + delete`|行を削除|
|`shift + enter`|改行|
|`command + shift + F7`|カーソル下の単語を検索。Highlight Usages in File|
|`alt + delete`|前の単語を削除|
|`fn + option + delete`|後ろの単語を削除|
|`command + d`|行をコピー|

## ターミナル
https://www.jetbrains.com/ruby/help/working-with-embedded-local-terminal.html

|コマンド|機能|
|:--|:--|
|`option + F12`|ターミナル起動|
	
## run
|コマンド|機能|
|:--|:--|
|`control + shift + r`|runコマンド|

## generate
|コマンド|機能|
|:--|:--|
|`command + option + g`|generateコマンド|

## git
* http://pivotallabs.com/everyday-git-commands-in-rubymine/
* [RubyMine で Git を使う](http://qiita.com/Yukibou/items/cf9bc7d76a3133656c56)
* [Everyday Git Commands in RubyMine](http://blog.pivotal.io/labs/labs/everyday-git-commands-in-rubymine)

|コマンド|機能|
|:--|:--|
|`command + 9`|git status|
|`command + d`|git status画面で行うと、git diff|
|`command + k`|git commit|
|`control + v`|git push|
|`command + t`|git pull|
|`control + v`|git checkout|


## 自作
作り方: [IntelliJのキーマクロで少し幸せに](http://siosio.hatenablog.com/entry/2013/11/19/123947)

|コマンド|機能|
|:--|:--|
|`command + w`|単語移動|
|`command + shift + w`|単語後ろ移動|

## マルチカーソル
[What’s Mining: Multiple Cursors and Selection](https://blog.jetbrains.com/ruby/2014/03/whats-mining-multiple-cursors-and-selection/)

|コマンド|機能|
|:--|:--|
|`Alt + mouse click`|マルチカーソルをセットする|
|`control + command + g`|同じものを全選択|
|`control + g`|同じものを１つずつ選択|

## Rspec
|コマンド|機能|
|:--|:--|
|`command + F12`|specファイルを開いた状態で実行すると、テストの構造を表示する|

# 参考
* [RubyMine の使い方](http://qiita.com/imk2o/items/c649a5edee1f088343f5)
* [RubyMine が気になる人に捧ぐ、ざっくり入門編](http://qiita.com/ruzia/items/2edd8d45c16ac2c70dd7)