コードベースの検索

プロダクトの概要

Bazel のコード検索とソース ブラウジング インターフェースは、Bazel ソースコード リポジトリを閲覧するためのウェブベースのツールです。これらの機能を使用して、さまざまなリポジトリ、ブランチ、ファイル間を移動できます。履歴、差分、バグ情報も表示できます。

スタートガイド

コード検索とソース閲覧のインターフェースにアクセスするには、ウェブブラウザで https://source.bazel.build を開きます。

メイン画面が表示されます。この画面には次のコンポーネントが含まれています。

  1. パンくずリスト ツールバー。このツールバーにはリポジトリ内の現在の場所が表示され、すばやく別の場所(別のリポジトリなど)や、リポジトリ内の別の場所(ファイル、ブランチ、または commit など)へ移動できます。

  2. 参照できるリポジトリのリスト。

画面上部には検索ボックスがあります。このボックスを使用して、特定のファイルやコードを検索できます。

リポジトリの操作

リポジトリを開く

リポジトリを開くには、メイン画面でリポジトリの名前をクリックします。

また、パンくずリスト ツールバーを使用して、特定のリポジトリを参照することもできます。このツールバーにはリポジトリ内の現在の場所が表示され、すばやく別の場所(別のリポジトリなど)や、リポジトリ内の別の場所(ファイル、ブランチ、または commit など)へ移動できます。

リポジトリを切り替える

別のリポジトリに切り替えるには、[パンくずリスト] ツールバーからリポジトリを選択します。

特定の commit でリポジトリを表示する

特定の commit でリポジトリを表示するには:

  1. リポジトリのビューで、ファイルを選択します。
  2. [パンくずリスト] ツールバーで [ブランチ] メニューを開きます。
  3. 表示されたサブメニューで [Commit] をクリックします。
  4. 表示する commit を選択します。

インターフェースに、その commit の時点で存在したリポジトリが表示されます。

ブランチ、commit、タグを開く

デフォルトでは、コード検索およびソース閲覧インターフェースは、デフォルト ブランチへのリポジトリを開きます。別のブランチを開くには、[パンくずリスト] ツールバーで [ブランチ/commit/タグ] メニューをクリックします。サブメニューが開き、ブランチ名、タグ名、または検索ボックスを使用してブランチを選択できます。

  • ブランチ名を使用してブランチを選択するには、[ブランチ] を選択してからブランチの名前をクリックします。
  • タグ名を使用してブランチを選択するには、[タグ] を選択してからタグ名をクリックします。
  • commit ID を使用してブランチを選択するには、[commit] を選択してから commit ID をクリックします。
  • ブランチ、commit、またはタグを検索するには、対応するアイテムを選択して、検索語句を検索ボックスに入力します。

ファイルを操作する

メイン画面からリポジトリを選択すると、画面が変わり、そのリポジトリのビューが表示されます。README ファイルが存在する場合、その内容は画面の右側にあるファイルペインに表示されます。それ以外の場合は、リポジトリのファイルとフォルダのリストが表示されます。画面の左側には、リポジトリのファイルとフォルダのツリービューが表示されます。このツリーを使用して、特定のファイルを参照して開くことができます。

リポジトリを表示している場合、パンくずリスト ツールバーに次の 3 つのコンポーネントが表示されます。

  • [リポジトリ] メニュー。さまざまなリポジトリを選択できます。
  • [ブランチ/commit/タグ] メニュー。特定のブランチ、タグ、commit を選択できます。
  • [ファイルパス] ボックス: 現在のファイルまたはフォルダの名前と、対応するパスが表示されます。

ファイルを開く

ファイルを開くには、ディレクトリに移動してファイルを選択します。リポジトリのビューが更新され、ファイルペインにファイルの内容、ツリーペインにリポジトリ内の場所が表示されます。

ファイルの変更を表示する

ファイルの変更を表示するには:

  1. リポジトリのビューから、ファイルを選択します。
  2. 右上にある [BLAME] をクリックします。

ファイルペインが更新され、ファイルに変更を加えたユーザーと変更日時が表示されます。

変更履歴の表示

ファイルの変更履歴を表示するには:

  1. リポジトリのビューで、ファイルを選択します。
  2. 右上にある [履歴] をクリックします。[変更履歴] ペインが表示され、このファイルの commit が表示されます。

コードレビューを表示する

Gerrit コードレビューの場合は、[変更履歴] ペインからツールを直接開くことができます。

ファイルのコードレビューを表示するには:

  1. リポジトリのビューで、ファイルを選択します。
  2. 右上にある [履歴] をクリックします。[変更履歴] ペインが開き、このファイルの commit が表示されます。
  3. コミットにカーソルを合わせます。[その他] ボタン(縦に 3 つ並んだ点)が表示されます。
  4. [その他] ボタンをクリックします。
  5. [コードレビューを表示] を選択します。

Gerrit Code Review ツールが新しいブラウザ ウィンドウで開きます。

特定の commit でファイルを開く

特定の commit でファイルを開くには:

  1. リポジトリのビューで、ファイルを選択します。
  2. 右上にある [履歴] をクリックします。[変更履歴] ペインが開き、このファイルの commit が表示されます。
  3. コミットにカーソルを合わせます。[表示] ボタンが表示されます。
  4. [表示] ボタンをクリックします。

ファイルを別の commit と比較する

別の commit でファイルを比較するには:

  1. リポジトリのビューで、ファイルを選択します。2 つの異なる commit を比較するには、まずその commit でファイルを開きます。
  2. コミットにカーソルを合わせます。[DIFF] ボタンが表示されます。
  3. [DIFF] ボタンをクリックします。

ファイルペインが更新され、2 つのファイルの比較が並べて表示されます。2 つの commit のうち最も古いものが常に左側に表示されます。

[変更履歴] ペインでは、両方の commit がハイライト表示されます。commit が左側と右側のどちらに表示されているかはラベルで示されます。

いずれかのファイルを変更するには、[変更履歴] ペインで commit にカーソルを合わせます。次に、[] ボタンまたは [] ボタンをクリックして、差分の左側または右側でコミットを開きます。

相互参照の閲覧

ソース リポジトリを参照するもう 1 つの方法は、相互参照を使用する方法です。これらの参照は、特定のソースファイル内にハイパーリンクとして自動的に表示されます。

相互参照を簡単に識別できるようにするには、右上の [相互参照] をクリックします。このオプションを選択すると、ファイル内のすべての相互参照の下に下線が表示されます。

注: [相互参照] がグレー表示されている場合は、そのファイルでは相互参照が利用できないことを示します。

相互参照をクリックして、相互参照ペインを開きます。このペインには次の 2 つのセクションがあります。

  • 定義セクション。参照を定義するファイルが一覧表示されます。
  • References セクション: 参照が出現するファイルがリストアップされています。

どちらのセクションにも、ファイルの名前と、参照を含む行が表示されます。相互参照ペインからファイルを開くには、行番号のエントリをクリックします。ファイルがペインの新しいセクションに表示されます。元のファイルは表示したまま、ファイルを続行して参照できます。

[ファイル] ペインと同様に、[相互参照] ペインを使用して相互参照を閲覧できます。これを行うと、パンにパンくずリストが表示されます。このリストを使用して、さまざまな相互参照間を移動できます。

画面上部にある検索ボックスを使用して、特定のファイルやコード スニペットを検索できます。検索は常にデフォルト ブランチに対して行われます。

デフォルトでは、すべての検索で RE2 正規表現が使用されます。正規表現を使用しない場合は、検索文字列を二重引用符(")で囲みます。

注: 特定のファイルをすばやく検索するには、ピリオドの前にバックスラッシュを追加するか、ファイル名全体を引用符で囲みます。

foo\.java
"foo.java"

次のフィルタを使用して検索結果を絞り込むことができます。

フィルタ その他のオプション 説明
lang: 言語: ファイルの言語で完全一致を実行します。 lang:java テスト
ファイル: filepath:
path:
f:
case:yes 検索で大文字と小文字が区別されるようにします。デフォルトでは、検索で大文字と小文字は区別されません。 case:yes Hello World
class: クラス名を検索します。 class:MainClass
function: func: 関数名を検索します。 function:print
- 検索から語句を除外します。 hello -world
\ .、\、(などの特殊文字をエスケープします。 run\(\)
「[term]」 リテラル検索を実行します。 「class:main」

その他のサポート

問題を報告するには、画面右上の [フィードバック] ボタンをクリックし、表示されたフォームにフィードバックを入力してください。