LoginSignup
6
6

More than 5 years have passed since last update.

better_errors を普段利用しているエディタと紐付けてエラー関連のファイルを開く

Last updated at Posted at 2018-09-29

Rails アプリケーションのデバッグを便利にする better_errors ですが、エラー発生時に該当ファイルを自分が使っているエディタで開く方法はどうやるのだろうと疑問に思ったので、調べてみました。

前提環境

  • Mac OSX 10.13.6
  • ruby 2.4.3
  • Rails 5.2.1
  • better_errors 2.5.0
  • binding_of_caller 0.7.2
  • Google Chrome Version 69.0.3497.100

やり方

簡単で推奨されているやり方は、利用しているPCの環境変数 EDITOR を設定するやり方でしたので、こちらを紹介します。

他のやり方は BetterErrors/better_errors Wiki · Link to your editor に書かれていますのでご参照ください。

例えば VSCode を better_errors で起動したい場合は、環境変数 EDITOR を下記の通り指定します。(コマンドラインでVSCodeを起動できる前提)

export EDITOR=code

設定した状態で Rails サーバを起動し、適当にエラーを発生させて better_errors の画面を開きます。

image.png

右側のソースコードが表示されているペインにあるファイル名をクリックすると、VSCode を起動するか聞かれるので、そのまま起動します。

image.png

VSCode で該当ファイルを起動できました。

image.png

ちなみにファイルパスのリンクは vscode://file/xxx のようなフォーマットになっています。

対応しているエディタについて

better_errors の Gem バージョンによって、対応しているエディタが違うので注意してください!

https://github.com/BetterErrors/better_errors/releases を調べると下記のような感じでした。

エディタ 対応バージョン 環境変数設定 関連PR、コミット
Atom >= 2.5.0 export EDITOR="atom" Add native support for linking to VSCode #406
Visual Studio Code >= 2.5.0 export EDITOR="code" Add native support for linking to Atom #356
IntelliJ IDEA >= 2.4.0 export EDITOR="idea" IDEA and Rubymine editor url capability #319
RubyMine >= 2.4.0 export EDITOR="rubymine" IDEA and Rubymine editor url capability #319
Emacs >= 0.7.0 export EDITOR="emacs" Support emacs in open file in editor link #129
MacVIM >= 0.3.0 export EDITOR="vim" support handy shortenings for editors
Sublime Text >= 0.3.0 export EDITOR="subl -w" support handy shortenings for editors
TextMate >= 0.3.0 export EDITOR="mate -w" support handy shortenings for editors

EDITOR を設定していないと

デフォルトだと、ファイルパスをには txmt://open?url=file://... というフォーマットのパスが設定されます。
Mac だと、こちらに対応したエディタは TextMate になるので、こちらをダウンロードして起動させる必要があります。

終わりに

エラーが発生した際、関連したファイルを好きなエディタで開けるのは便利だなと思いました。少しずつ使っていこうと思います。

参考URL

6
6
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
6
6