IntelliJ IDEAですごいと思った機能

- 検索がすごい
とにかくファイルを探すのが楽で、キーボードのみで全て完結する。
例えば、command+Eを押すとこういうふうに最近使ったファイルの一覧が出てくるんだけど

ここでstatic_pages_controller.rbに移動したいと思ったときは、まず"sta"と入力するとある程度絞られる

でこの後さらに"con"と入力すると、なんとイイ感じに検索してくれてお目当てのstatic_pages_controller.rbだけ残る。
("sta"と"con"の間にスペースを空ける必要も無し)

あとはEnterを押すだけ。超便利!

IntelliJ IDEAでerbファイルのインデントが調整できなくてハマった

タイトルの通りなんですが、erbファイルのインデントをどこで変更すればよいのかわからずに困ったという話です。
最初はhtmlのフォーマットを変えれば反映されるだろうと思ったら変わらなくて、結局設定できる全部のファイルのフォーマットを変えて一つずつみていったところ、XMLのフォーマットを変えればerbファイルにも反映されるということがわかりました。
まさかXML扱いされてるとは思わなかったよ・・・。

Intellij IDEAでRSpecが実行できない(解決済)

先日購入したIntelliJ IDEA(RubyMineじゃないよ)でRSpecのテストを実行しようとしたら、こんなエラーメッセージが出て実行できませんでした。

Error running Specs: RSpec support is disabled because 'rspec-rails' gem or RSpec Rails plugin are missing. Install and activate gem at first

gem(rspec-rails)を入れるかrspecプラグインを入れないと動かないよ!と言われているようです。
RSpec Rails pluginなるものは見つかりませんでした。きっとRuby pluginに内包されている、つまり既にインストールされているのでしょう。

gemはbundlerで入れており、ローカルにはインストールしていない状態です。
もしかしてbundlerで入れたgemじゃダメで、ローカルにrspec-railsをインストールしなきゃいけないの・・?と最悪の結末が頭をよぎったのですが、色々調べた結果、Ruby pluginのバグだということがわかりました。

で、よしアップデートだ!となるのですが、上記のfixは現在IntelliJ IDEA 13とRubyMine MomijiのEAP(Early Access Program)版にしか適用されていないようです。
なので適用したい方はIntelliJ IDEA 13のEAP版をインストールしましょう。
http://confluence.jetbrains.com/display/IDEADEV/IDEA+13+EAP

インストール後実行してみると・・・

無事成功!!(テストは落ちてるけどな)
いや〜IntelliJ IDEAを使ったことなかったから勝手がわからなくて、うわ・・ローカルにgem色々入れるのはマジ勘弁・・・と思っていたのでホントに良かったw

あと、bundleしたgemで実行する人は以下のチェックが付いていない場合も違うエラーが出て失敗するので気をつけましょう(デフォルトでONになっていたので大丈夫だと思いますが)。

Run >> Edit Configurations >> RSpec >> Bundlerタブ >> [Run the script in context of the bundle(bundle exec)]

追記:どうも上記のチェックはデフォルトはOFFみたいですスミマセン。
いちいち設定するのもめんどくさいのでdefaultの設定を変えました。

Intellij IDEAを買った

ついに買ってしまいました。
いつ買うか悩んでいたのですが、今後はパーソナルライセンスにも一年間のアップグレード権が付くとのお知らせを見たので即購入しました。
なぜRubyMineじゃないかと言いますと、Javaも書くからです。
(Intellij IDEAはRubyMine等の上位互換的位置づけ)
ただ、単純にRuby pluginを入れればRubyMineと同じになるのかな、と思っていたらそこに大きなトラップがありました・・・。
※色々苦労したすえに全部解決したので結果的にはIntellij IDEAでよかったです

そもそもIntellij IDEAはJava用のIDEなので、Ruby専用のRubyMineと同じに考えるのが間違いですね。

苦労①:既存のRailsアプリの取り込みどうやるの?
起動直後の画面のImport Project→rails rootを指定→Create project from existing sources→そのまま→Source files for your~っていう画面が出てくるんだけどここで間違えた
何かチェックボックスがいくつか出たからとりあえず次に進めてやってたらRailsではないヘンテコなプロジェクトができた。
どうも、gemの中にあるJava?を認識してしまったみたい。
チェックボックスの一番上にRailsが出るので、それ以外のチェックを外せば大丈夫だった。

苦労②:コード補完が効かない+bundlerが使えない
プロジェクト初回作成時にRuby SDKの設定をするのですが、それがよろしくなかったみたい。
私はrbenvでRubyを管理してるのですが、よくわからないままとりあえず[shims]フォルダの下にあるrubyを指定したらダメだった。
versionフォルダの下に置いてある各バージョンから使うものを指定してあげないとダメみたい。

苦労③:Railsの起動(rails s)ができない
Run→Edit Configurations→左上の[+]を押して[Rails]を追加
これをやると、メイン画面上部の実行ボタン左にあるメニューでRailsが選択できるようになる

とりあえず、コード補完が素晴らしいです。
あと、プラグインが予想外に充実してたのがすごくよかった。
こりゃほんとにEclipseなくても大丈夫そうだな。
\18,900の価値はありますぜ皆さん(ステマ)。

MacをMavericksにアップデートしたらbundleがこけた

MacMavericksにアップデートした後、新規Railsプロジェクトを作ろうと思ったらbundle installでこけるようになった。
(rubybrewで入れたrbenvで管理しています)

$bundle install --path vendor/bundle

An error occurred while installing atomic (1.1.14), and Bundler cannot continue.
Make sure that `gem install atomic -v '1.1.14'` succeeds before bundling.

ググってみると、どうもgccとかいうのが古いせいでatomicがビルドできないみたい。
gccbrewで入れるものらしいので、じゃあupdateだと思ってやってみたらこけた。

$brew update
$brew upgrade
Warning: No developer tools installed.
You should install the Command Line Tools.
Run `xcode-select --install` to install them.
Warning: You have not agreed to the Xcode license.

こっから先はあまり覚えてないのだが、上に書いてある'xcode-select --install'
とかをやってたらできたw
brew doctorが通るようになれば大丈夫でしょう。
あ、最初はbrew doctorが通らなくて以下のようなエラーが出たので
言われるままにsudo brew pruneを実行したらbrew doctorが通るようになりました。

Warning: Broken symlinks were found. Remove them with `brew prune`:

$sudo brew prune
$brew doctor
Your system is ready to brew.
$bundle install --path vendor/bundle

Your bundle is complete!
It was installed into ./vendor/bundle

無事成功!!
結局これは、Xcodeがアップデートされたからまた色々設定し直さなきゃいけなかった、ということなのかな?
Mac道は厳しい・・・。
てかいいかげんretinaMBA出してくださいw

僕とRubyMine

大変出来がよろしいと評判のRubyMineを落としてみました。
とりあえず色々わからない&できないので記録つけます・・・。
というか全部未解決です。

1.OSにRailsがインストールされていない&したくない状態でRubyMine上で新規プロジェクトを作りたい
gemは全てbundlerで閉じた状態で管理しているので一切(Railsすら)インストールしたくないのです。
要はこれ。
http://qiita.com/emadurandal/items/a60886152a4c99ce1017

でも新規プロジェクト作成ウィザードだとRailsが入っていない場合は途中で無理矢理インストールさせられてしまう。
(当たり前か・・・)
なんとかなるのこれ?w
→諦めました!w
プロジェクトはコンソールで作ってそれを読み込ませれば済むしね・・・。
こういうとき一瞬でひな形が作れるRailsは助かるなあ。

2.RubyMine上でプロジェクトを削除したい
なんかできないみたいですねw
ファイルシステムから手動で削除しろって書いてある。
http://devnet.jetbrains.com/message/5466090?tstart=0

まだ使い始めて一時間もたっていないのできっとまだまだ色々出てくるでしょう!
でもなんかシャレオツだし便利そうなのでよさげな感じ。
てかEclipseにそっくりですね。
Eclipseなら任せろって感じなんですがね・・・w

Rails4+PostgreSQLでハマった

使用するもの:Postgres.app
http://postgresapp.com/
↑がお手軽でよいと聞いたので今回はbrewのポスグレではなくてこっち使ってみた<起こった問題と解決方法>

ポスグレのパスがMacにバンドルされている方になっている
→~/.bash_profileにPostgres.appのパスを追加

bundle installでpgがこける
→bundle installの前にbundle config build.pg --with-pg-config=/Applications/Postgres.app/Contents/MacOS/bin/pg_config
http://qiita.com/goking/items/bc34518c2628d1b2cae0

bundle exec rake db:createでapp_nameのroleが存在しないと言われて落ちる
→config/database.ymlに中のusername=app_nameを全て削除(複数ある)

ページ表示時にポスグレのエラーで落ちる

$ sudo find / -name .s.PGSQL.5432
$ mkdir -p /var/pgsql_socket
$ ln -s /private/tmp/.s.PGSQL.5432 /var/pgsql_socket
http://taise.hatenablog.com/entry/2013/10/13/162546

これでやっとページ表示できた・・・。
herokuがポスグレ使えって言うからやったけどもう二度と使いたくないw