15
18

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Emacs で Rails の開発効率を上げる Projectile Rails まとめ

Last updated at Posted at 2016-06-29

projectile-rails とは

Ruby on Rails 向けの Emacs 開発モードです。
Rinari が有名っぽいのですが、インストールしてもショートカットとなる C-c ; f' が undefined` となってしまうので、こっちを試してみることにしました。

「It can be a replacement for rinari.」 と謳っていますし、どんなもんなんでしょうか。期待が高まります。

インストール

package を使ってインストールします。 El-Get とかにも対応しているみたいですが、私が使っていないので試せていません。

設定

~/.emacs.d/init.el に下記を追加します。

(require 'projectile)
(projectile-global-mode)
(require 'projectile-rails)
(add-hook 'projectile-mode-hook 'projectile-rails-on)

コマンド

いっぱいコマンドあるみたいなので、ざっと書いてみます。他にもあるかもしれません。。

コマンド名 キーバインド 説明
projectile-rails-find-model C-c r m app/models 配下のファイルを選択して開く
projectile-rails-find-current-model C-c r M 対応する model を開く
projectile-rails-find-controller C-c r c app/controllers 配下のファイルを選択して開く
projectile-rails-find-current-controller C-c r C 対応する controller を開く
projectile-rails-find-view C-c r v app/views 配下のファイルを選択して開く
projectile-rails-find-current-view C-c r V 対応する view を開く
projectile-rails-find-helper C-c r h app/helpers 配下のファイルを選択して開く
projectile-rails-find-current-helper C-c r H 対応する helper を開く
projectile-rails-find-lib C-c r l lib 配下のファイルを選択して開く
projectile-rails-find-feature C-c r f features 配下のファイルを選択して開く
projectile-rails-find-spec C-c r p spec 配下のファイルを選択して開く
projectile-rails-find-current-spec C-c r P 対応する spec を開く
projectile-rails-find-test C-c r t tests 配下のファイルを選択して開く
projectile-rails-find-current-test C-c r T 対応する test を開く
projectile-rails-find-migration C-c r n db/migrate 配下のファイルを選択して開く
projectile-rails-find-current-migration C-c r N 対応する migrate ファイルを開く
projectile-rails-find-fixture C-c r u spec/fixture ファイルを選択して開く
projectile-rails-find-current-fixture C-c r U 対応する fixture ファイルを開く
projectile-rails-find-javascript C-c r j app/assets/javascripts 配下のファイルを選択して開く
projectile-rails-find-stylesheet C-c r s app/assets/styles 配下のファイルを選択して開く
projectile-rails-find-log C-c r o log 配下のファイルを選択して開き、 auto-revert-tail-mode を起動する
projectile-rails-find-initializer C-c r i config/initializers 配下のファイルを選択して開く
projectile-rails-find-environment C-c r e config/environments 配下のファイルを選択して開く
projectile-rails-find-locale C-c r a config/locales 配下のファイルを選択して開く
projectile-rails-find-mailer C-c r @ app/mailers 配下のファイルを選択して開く
projectile-rails-find-validator C-c r ! validator ファイルを選択して開く
projectile-rails-find-layout C-c r y app/views/layouts 配下のファイルを選択して開く
projectile-rails-find-rake-task C-c r k lib/tasks 配下のファイルを選択して開く
projectile-rails-find-job C-c r b app/jobs 配下のファイルを選択して開く
projectile-rails-console C-c r ! c, C-c r r inf-ruby buffer の中で `rails console' を実行する
projectile-rails-server C-c r ! s, C-c r R rails server を実行する
projectile-rails-rake C-c r ! r rake task を選択して実行する
projectile-rails-generate C-c r ! g rails generate を実行する
projectile-rails-extract-region C-c r x 選択した範囲を partial として切り出す
projectile-rails-goto-file-at-point C-c r RET, C-c r g f カーソル位置の対応する constant、template、partial、 gem ファイルに移動する
projectile-rails-goto-gemfile C-c r g g Gemfile を開く
projectile-rails-goto-routes C-c r g r config/routes.rb を開く
projectile-rails-goto-schema C-c r g d db/schema.rb を開く
projectile-rails-goto-seeds C-c r g s db/seeds.rb を開く
projectile-rails-goto-spec-helper C-c r g h spec/spec_helper.rb を開く

覚えておくと便利なのは C-c r MC-c r CC-c r V など、MVC の移動系でしょうか。
対応するファイルが複数あったり、うまく見つからない場合は選択形式にしてくれるので便利です。

感想

半年くらいつかっているのですが、サーバの起動系や Gemfiledb/schema.rb を開くコマンドなんかはほとんど使っていないです。
もともとは Atom や SublimeText のインクリメンタルサーチが羨ましくて導入したのですが、流石にアレほどは便利にならなかったです。
ただ、仕事などでプロジェクトに長く関われば関わるほどファイルがどこにあるかはわかるようになってくる気がしますので、それほど不便さは感じていません。
特に私はブランチを切って開発する際に一度 Emacs を再起動しています。その機能の開発でよく行き来するファイルなんかは C-c b で出てくるバッファ一覧から探せば十分というのも大きいかもですね。

15
18
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
18

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?