iTerm2のファイルパスをRubyMineで開く設定方法
はじめに
Rubyアプリケーション開発中に、ターミナルでエラーが発生すると、以下のようなスタックトレースが表示されることがよくあります。
NoMethodError:
undefined method `sub' for nil:NilClass
# /Users/user_name/.rbenv/versions/3.2.7/lib/ruby/gems/3.2.0/gems/action_args-2.7.3/lib/action_args/params_handler.rb:50:in `strengthen_params!'
# /Users/user_name/.rbenv/versions/3.2.7/lib/ruby/gems/3.2.0/gems/action_args-2.7.3/lib/action_args/abstract_controller.rb:20:in `send_action'
これらのファイルパスをいちいちコピーしてRubyMineで開くのは効率が悪いものです。iTerm2の「Semantic History」機能を使えば、ログに表示されるファイルパスをCommandキーを押しながらクリックするだけでRubyMineでそのファイルを直接開くことができます。さらに、行番号も指定することで、エラーが発生した正確な場所にジャンプすることも可能です。
Semantic Historyとは?
iTerm2の「Semantic History」機能は、ターミナル上のテキストからファイルパスや URL を識別し、Commandキーを押しながらクリック時に特定のアクションを実行する機能です。デフォルトでは単純にファイルを開きますが、好みのエディタ(今回はRubyMine)で開くようにカスタマイズできます。
RubyMineで開くための設定手順
1. iTerm2の設定を開く
iTerm2のメニューから「Preferences」(または Cmd + ,
)を選択します。
2. Profilesタブへ移動
設定画面上部の「Profiles」タブを選択します。
3. Advanced設定を開く
左サイドバーでプロファイルを選択した状態で、右側の「Advanced」タブをクリックします。
4. Semantic Historyを設定
「Semantic History」セクションで、ドロップダウンメニューから「Run command...」を選択します。
5. コマンドを入力
RubyMineをどのようにインストールしているかによって、入力するコマンドが異なります。
シンプルにファイルを開くだけ
表示されるテキストフィールドに以下のコマンドを入力します:
open -a "RubyMine" "\1"
参考URL:
スタンドアロンインスタンスのランチャー
※行番号付きで開きたい場合は別のスクリプトになります。
(推奨)コマンドラインランチャーを登録して指定
JetBrains Toolboxでインストールしている場合
JetBrains Toolboxを使用している場合は、まずRubyMineのコマンドラインランチャーの場所を確認しましょう。
このパスを使って、以下のコマンドを入力します(行番号付き):
/Users/ユーザー名/Library/Application\ Support/JetBrains/Toolbox/scripts/mine \5 --line \2 \1
注意: パスにスペースが含まれる場合は、\
でエスケープするか、全体を引用符で囲んでください。
6. コマンドの説明
iTerm2のSemantic Historyコマンドでは、以下のプレースホルダが使用できます:
-
\1
- クリックされたファイルのパス -
\2
- 行番号(あれば) -
\3
- クリック位置の前のテキスト -
\4
- クリック位置の後のテキスト -
\5
- 現在のディレクトリ(pwd)
実際の使用法
設定完了後、エラーが発生した際のスタックトレースや、ターミナルに表示されるファイルパスをCommandキーを押しながらクリック(Cmd+クリック)すると、該当ファイルがRubyMineで開きます。
基本的な使い方
- iTerm2でエラーログなどが表示されたとき
- ファイルパスの部分で
Cmd + クリック
- RubyMineが起動し、該当ファイルが開く(行番号も指定されていれば、その行にジャンプ)
動作しない場合のトラブルシューティング
-
RubyMineのコマンドラインランチャーを確認する
- RubyMineを開き、「Tools > Create Command-Line Launcher」を実行
- インストール場所をメモしておく
-
JetBrains Toolboxの場合のパスを確認
- Toolboxアプリを開き、RubyMineの設定(歯車アイコン)から「Shell Script」情報を確認
/Users/ユーザー名/Library/Application\ Support/JetBrains/Toolbox/scripts/mine
-
クリックの検出を確認
- iTerm2では必ず「Command(Cmd)キーを押しながらクリック」する必要がある
簡単な設定方法: Open with editorを使う
iTerm2の最新バージョンでは、「Open with editor...」オプションを使って簡単に設定することもできます。
- Semantic Historyドロップダウンから「Open with editor...」を選択
- エディタのリストからRubyMineまたはWebStormなどを選択
まとめ
この設定により、開発作業の効率が大幅に向上します。エラーログやテスト出力から素早くコードにアクセスでき、デバッグ作業がスムーズになります。シンプルながらも非常に便利な機能なので、Ruby開発者であればぜひ設定しておくことをおすすめします。
Discussion