セットプチフォッカ

勉強したアウトプット、ときどきフォッカチオ作っていました

RubyMineでライブラリのソースをGrepする方法

ActiveStorageのwith_attached_#{name}がどこに定義されているのか確認する過程で、RubyMineでの調べ方を覚えました。

対象バージョン

  • RubyMine 2020.3.1

Find in Files

RubyMineでGrep検索を行うには、編集 | 検索 | パス内検索 ⇧⌘ Fから「Find in Files」メニューを起動します。

f:id:ikmbear:20210116105129p:plain
Find in Files画面

試しにwith_attachedあたりで検索をかけてみても、自分のソースで書いた部分しか引っ掛からず、定義元は抽出されません。
これは検索の対象(図中、緑枠)がIn Projectになっているのが原因でした。

オプション 検索対象
In Project 現在のプロジェクト(外部ライブラリは含まない)
Module モジュール指定ができるようになる。指定したモジュールの範囲で検索する
Directory ディレクトリ指定ができるようになる。指定したディレクトリの範囲で検索する
Scope スコープが指定できるようになる。事前に定義されたスコープの範囲で検索する

スコープについては、こちらを参照。
要はファイルを目的に応じてグルーピングできる機能です。

自分で定義しなくてもRubyMineのプリセットがいくつかあるようですが、今回は大雑把にAll Places全文検索を実施し、見事欲しいソースに到達できました。

f:id:ikmbear:20210116110341p:plain