パターン検索モードでは、「ブラウズ」ウィンドウを使って正規表現や単純な文字列を検索することができます。
sb_init ファイルにリストアップされているすべてのディレクトリが検索されます(「データベースのインポート」を参照)。
図 3-2 に、パターン検索モードの「ブラウズ」ウィンドウを示します。ウィンドウ内の他の構成要素については、図 3-1 を参照してください。
「パターン」テキストフィールド |
検索する正規表現を入力します。 |
「ファイル」テキストフィールド |
検索用のファイルフィルタを指定します。 |
パターンを検索する場合は、次の手順に従ってください。
Sun WorkShop メインウィンドウで、「ブラウズ」⇒「パターン検索」を選択します。または、「ブラウズ」ボタンをクリックした後、「ブラウズ」ウィンドウで「パターン検索」ラジオボタンをクリックします。
「ブラウズ」ウィンドウのタイトルバーに正しいブラウズ対象ディレクトリが選択されていることを確認します。
正しくない場合は、「ブラウズ」⇒「ブラウズ対象ディレクトリを変更」を選択して、「パターン検索ディレクトリ」ダイアログボックスで正しいディレクトリを選択します。
「パターン」テキストフィールドに検索するパターンを入力します。
検索するシンボルの正確な名前がわからない場合は、ワイルドカード文字 (.、*、^、$) を使用することができます。「パターンの特殊文字」を参照してください。
「ファイル」テキストフィールドにフィルタを入力します。
デフォルトフィルタでは、現在のディレクトリにある.h、.c、.cc、.f で終わるすべてのファイルが検出されます。ワークセットを保存するたびに、新たに選択したフィルタが保存されます。
パターン検索では、複数のディレクトリの検索に sb_init ファイルを使用することができます。この場合、各ディレクトリにファイルフィルタが適用されます。
Return キーを押して「問い合わせ」⇒「一致するものを検索」を選択するか、「一致するものを検索」ボタンをクリックします。
「次の一致」、「前の一致」ボタンをクリックするか、メニュー項目を選択して、「一致」区画のリスト内を移動します。F5 キー、Shift + F5 キーを押しても、同じ操作が可能です。
「一致」区画内をクリックすると、エディタウィンドウにソースが表示されます。
一致項目が多すぎる場合は、「ファイル」テキストフィールドで、検索するファイルの種類を絞り込んでください。
エディタウィンドウに表示されているテキスト文字を検索することができます。エディタウィンドウのテキストをダブルクリックでコピーして、「ブラウズ」ウィンドウのテキストフィールドでマウスの中央ボタンをクリックすると、テキストがペーストされます。vi または XEmacs を使用している場合は、エディタウィンドウでテキストを選択してツールバーの「検索」ボタンをクリックすると、同じように検索を行うことができます。
検索条件を指定する際は、コードに出現するパターンを正確に入力するほか、特殊文字を使用することもできます。表 3-1 に、使用可能な特殊文字を示します。
表 3-1 パターンの特殊文字
文字 |
意味 |
例 |
---|---|---|
ピリオド (.) |
任意の文字 |
l.nes は lanes または lines の両方に一致 |
アスタリスク (*) |
任意の文字列 (パターンの最初の文字として使用する場合を除く) |
「file」を含み、任意の文字と () を伴う文字列に一致 (traffic_file_close()、file_save_popup など)。ただし「*file.」は、「file」で始まる文字列のみに一致 |
サーカムフレックス (^) |
行頭で一致 |
^tr* は、traffic、truck など、tr で始まる行に一致 |
ドル記号 ($) |
行末で一致 |
lanes$ は、lanes で終わる行に一致 |
たとえば、コード内で使用されている window_popup というインスタンスのうち、行頭にあるものだけを検索したい場合、次の問い合わせを入力します。
^window_popup*
サーカムフレックス (^) を指定すると、コードの行頭で一致する個所だけが検索されます。一方、アスタリスク (*) を指定すると、window_popup_name_objects、window_popup1_objects など、window_popup という文字列で始まる個所がすべて検索されます。
サーカムフレックスとドル記号で問い合わせ内容を囲むと、行全体が一致している個所だけが検索されます。