コードベースの検索

問題を報告する ソースを表示 Nightly · 8.4 · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

プロダクトの概要

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

スタートガイド

コード検索とソース閲覧のインターフェースにアクセスするには、ウェブブラウザで 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. コミットにカーソルを合わせます。[その他] ボタン(縦に 3 つ並んだ点)が表示されます。
  4. [その他] ボタンをクリックします。
  5. [コード レビューを表示] を選択します。

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

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

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

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

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

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

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

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

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

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

相互参照の閲覧

ソース リポジトリを閲覧する別の方法として、相互参照を使用する方法があります。これらの参照は、指定されたソースファイル内のハイパーリンクとして自動的に表示されます。

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

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

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

  • [Definition] セクション。参照を定義するファイルがリストされます。
  • [References] セクション。参照が記載されているファイルがリストされます。

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

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

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

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

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

foo\.java
"foo.java"

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

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

その他のサポート

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