搜索代码库

产品概览

Bazel 的 代码搜索和源代码浏览界面 是一个基于 Web 的工具,用于浏览 Bazel 源代码库。您可以使用这些功能在不同的代码库、分支和文件之间导航。您还可以查看历史记录、差异和追责信息。

使用入门

如需访问代码搜索和源代码浏览界面,请在 Web 浏览器中打开 https://source.bazel.build

系统随即会显示主界面。此界面包含以下组件:

  1. “路径”工具栏。此工具栏显示您当前在代码库中的位置,利用它可以快速转到另一个位置(例如另一个代码库)或代码库内的另一个位置(例如文件、分支或提交)。

  2. 您可以浏览的代码库列表。

界面顶部有一个搜索框。您可以使用此框搜索特定文件和代码。

使用代码库

打开代码库

如需打开代码库,请在主界面中点击其名称。

或者,您可以使用“路径”工具栏浏览并找出特定代码库。此工具栏显示您当前在代码库中的位置,利用它可以快速转到另一个位置(例如另一个代码库)或代码库内的另一个位置(例如文件、分支或提交)。

切换代码库

如需切换到其他代码库,请从“路径”工具栏中选择该代码库。

查看特定提交中的代码库

如需查看特定提交中的代码库,请执行以下操作:

  1. 在代码库视图中,选择相应文件。
  2. 在“路径”工具栏中,打开分支 菜单。
  3. 在随即显示的子菜单中,点击提交
  4. 选择要查看的提交。

界面现在会显示该提交时的代码库。

打开分支、提交或标记

默认情况下,代码搜索和源代码浏览界面会打开代码库并进入默认分支。 如需打开其他分支,请在“路径”工具栏中点击分支/提交/标记 菜单。系统会打开一个子菜单,您可以使用分支名称、标记名称或通过搜索框选择分支。

  • 如需使用分支名称选择分支,请选择分支 ,然后点击分支的名称。
  • 如需使用标记名称选择分支,请选择标记 ,然后点击标记名称。
  • 如需使用提交 ID 选择分支,请选择提交 ,然后点击提交 ID。
  • 如需搜索分支、提交或标记,请选择对应的条目,然后在搜索框中输入搜索词。

使用文件

当您在主界面中选择一个代码库时,界面会更改以显示该代码库的视图。如果存在 README 文件,其内容会显示在界面右侧的文件窗格中。否则,系统会显示代码库的文件和文件夹列表。 界面左侧是代码库的文件和文件夹的树状视图。您可以使用此树状视图浏览和打开特定文件。

请注意,当您查看代码库时,“路径”工具栏现在包含三个组件:

  • 代码库 菜单,您可以在其中选择不同的代码库
  • 分支/提交/标记 菜单,您可以在其中选择特定分支、标记或提交
  • 文件路径 框,其中显示当前文件或文件夹的名称及其对应的路径

打开文件

您可以浏览到文件的目录并选择该文件,以打开该文件。代码库视图会更新,以在文件窗格中显示文件的内容,并在树状窗格中显示文件在代码库中的位置。

查看文件更改

如需查看文件更改,请执行以下操作:

  1. 在代码库视图中,选择相应文件。
  2. 点击右上角的追责

文件窗格会更新,以显示谁对文件进行了更改以及更改时间。

查看更改历史记录

如需查看文件的更改历史记录,请执行以下操作:

  1. 在代码库视图中,选择相应文件。
  2. 点击右上角的历史记录。 系统随即会显示更改历史记录 窗格,其中显示此文件的提交。

查看代码审核

对于 Gerrit 代码审核,您可以直接从“更改历史记录”窗格打开该工具。

如需查看文件的代码审核,请执行以下操作:

  1. 在代码库视图中,选择相应文件。
  2. 点击右上角的历史记录 。系统随即会显示“更改历史记录”窗格,其中显示此文件的提交。
  3. 将鼠标悬停在某个提交上。系统随即会显示更多 按钮(三个垂直点)。
  4. 点击更多 按钮。
  5. 选择查看代码审核

Gerrit 代码审核工具会在新的浏览器窗口中打开。

打开特定提交中的文件

如需打开特定提交中的文件,请执行以下操作:

  1. 在代码库视图中,选择相应文件。
  2. 点击右上角的历史记录 。系统随即会显示“更改历史记录”窗格,其中显示此文件的提交。
  3. 将鼠标悬停在某个提交上。系统随即会显示查看 按钮。
  4. 点击查看 按钮。

将文件与不同的提交进行比较

如需比较不同提交中的文件,请执行以下操作:

  1. 在代码库视图中,选择相应文件。如需比较两个不同提交中的文件,请先打开该提交中的文件。
  2. 将鼠标悬停在某个提交上。系统随即会显示DIFF 按钮。
  3. 点击DIFF 按钮。

文件窗格会更新,以并排显示两个文件的比较结果。两个提交中较旧的提交始终位于左侧。

在“更改历史记录”窗格中,两个提交都会突出显示,并且标签会指明提交是显示在左侧还是右侧。

如需更改任一文件,请将鼠标悬停在“更改历史记录”窗格中的提交上。然后,点击左侧右侧 按钮,以在差异的左侧或右侧打开提交。

浏览交叉引用

浏览源代码库的另一种方法是使用交叉引用。这些引用会自动显示为给定源文件中的超链接。

如需更轻松地识别交叉引用,请点击交叉引用 ,位于右上角。此选项会在文件中的所有交叉引用下方显示下划线。

注意 :如果交叉引用 呈灰色显示,则表示该文件没有交叉引用。

点击交叉引用以打开“交叉引用”窗格。此窗格包含两个部分:

  • 定义 部分,其中列出了定义引用的文件
  • 引用 部分,其中列出了引用也出现在其中的文件

这两个部分都会显示文件的名称,以及包含引用的行。如需从“交叉引用”窗格打开文件,请点击行号条目。该文件会显示在窗格的新部分中,让您可以继续浏览该文件,同时保持原始文件处于可见状态。

您可以像在“文件”窗格中一样,使用“交叉引用”窗格继续浏览交叉引用。执行此操作时,窗格会显示路径,您可以使用该路径在不同的交叉引用之间导航。

您可以使用界面顶部的搜索框搜索特定文件或代码段。搜索始终针对默认分支。

默认情况下,所有搜索都使用 RE2 正则表达式 。如果您不想使用正则表达式,请用双引号(“)括住搜索。

注意 :如需快速搜索特定文件,请在句点前添加反斜杠,或用引号括住整个文件名。

foo\.java
"foo.java"

您可以使用以下过滤条件优化搜索。

过滤条件 其他选项 说明 示例
lang: language: 按文件语言执行完全匹配。 lang:java test
file: filepath:
path:
f:
case:yes 使搜索区分大小写。默认情况下,搜索不区分大小写。 case:yes Hello World
class: 搜索类名称。 class:MainClass
function: func: 搜索函数名称。 function:print
- 从搜索中否定该字词。 hello -world
Example Source: This is a test Example Translation: Dies ist ein Test Source: This is a test with another placeholder Translation: Dies ist ein Test mit einem anderen Platzhalter 对特殊字符进行转义,如 .、\ 或 (。 run\(\)
"[term]" 执行字面量搜索。 "class:main"

更多支持

如需报告问题,请点击界面右上角显示的反馈 按钮,然后在提供的表单中输入您的反馈。