コードベースの検索

プロダクトの概要

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

はじめに

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

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

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

  2. 参照可能なリポジトリのリスト。

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

リポジトリの操作

リポジトリを開く

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

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

リポジトリを切り替える

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

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

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

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

インターフェースには、commit 時に存在していたリポジトリが表示されます。

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

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

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

ファイルを操作する

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

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

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

ファイルを開く

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

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

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

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

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

変更履歴を表示する

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

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

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

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

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

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

新しいブラウザ ウィンドウで Gerrit コードレビュー ツールが開きます。

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

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

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

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

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

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

ファイルペインが更新され、2 つのファイルが横並びで表示されます。2 つの commit のうち、古いものは常に左側にあります。

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

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

相互参照のブラウジング

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

相互参照を簡単に識別できるようにするには、右上隅にある [相互参照] をクリックします。ファイル内のすべての相互参照の下に下線が表示されます。

注: [相互参照] がグレー表示されている場合、そのファイルでは相互参照を使用できません。

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

  • 定義セクション。参照を定義する 1 つまたは複数のファイルが一覧表示されます。
  • 参照セクション。この参照が表示されるファイルもリストされます。

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

[File] ペインの場合と同様に、[Cross Reference] ペインを使用して、引き続き相互参照を参照できます。選択すると、ペインにパンくずリストが表示され、これを使用してさまざまな相互参照間を移動できます。

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

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

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

foo\.java
"foo.java"

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

フィルタ その他のオプション Description
lang: language: ファイルの言語ごとに完全一致を実行します。 lang:java テスト
file: filepath:
path:
f:
case:yes 検索で大文字と小文字が区別されるようにします。デフォルトでは、検索で大文字と小文字は区別されません。 case:yes Hello World
class: クラス名を検索します。 class:MainClass
function: func: 関数名を検索します。 関数:出力
- 指定した検索キーワードを否定します。 Hello World
\ .、\、( などの特殊文字をエスケープします。 run\(\)
「[単語]」 リテラル検索を行います。 "class:main"

その他のサポート

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