产品概览
Bazel 的代码搜索和源代码浏览界面是一个基于 Web 的工具,用于浏览 Bazel 源代码库。您可以使用这些功能在不同的代码库、分支和文件之间导航。您还可以查看历史记录、差异和责任信息。
使用入门
如需访问代码搜索和源代码浏览界面,请在网络浏览器中打开 https://source.bazel.build。
系统随即会显示主界面。此界面包含以下组件:
面包屑导航栏。此工具栏显示您当前在代码库中的位置,利用它可以快速转到另一个位置(例如另一个代码库)或代码库内的另一个位置(例如文件、分支或提交)。
您可以浏览的代码库列表。
屏幕顶部有一个搜索框。您可以使用此框搜索特定文件和代码。
使用代码库
打开代码库
如需打开代码库,请在主屏幕上点击其名称。
或者,您也可以使用“路径”工具栏浏览并找出特定代码库。此工具栏显示您当前在代码库中的位置,利用它可以快速转到另一个位置(例如另一个代码库)或代码库内的另一个位置(例如文件、分支或提交)。
切换代码库
如需切换到其他代码库,请从“路径”工具栏中选择该代码库。
查看特定提交中的代码库
如需查看特定提交时的代码库,请执行以下操作:
- 在代码库视图中,选择相应文件。
- 在“路径”工具栏中,打开分支菜单。
- 在随即显示的子菜单中,点击提交。
- 选择要查看的提交。
界面现在会显示相应提交时的代码库。
打开分支、提交或标记
默认情况下,代码搜索和源代码浏览界面会打开代码库并进入默认分支。如需打开其他分支,请在“路径”工具栏中点击分支/提交/标记菜单。系统会打开一个子菜单,您可以使用分支名称、标记名称或通过搜索框来选择分支。
- 要使用分支名称选择分支,请选择分支,然后点击分支的名称。
- 如需使用标记名称选择分支,请选择标记,然后点击标记名称。
- 要使用提交 ID 选择分支,请选择提交,然后点击提交 ID。
- 如需搜索分支、提交或标记,请选择相应条目,然后在搜索框中输入搜索词。
使用文件
从主屏幕中选择代码库后,屏幕会更改为显示该代码库的视图。如果存在 README 文件,其内容会显示在屏幕右侧的文件窗格中。否则,系统会显示代码库的文件和文件夹列表。屏幕左侧是代码库的文件和文件夹的树状视图。您可以使用此树状结构浏览和打开特定文件。
请注意,当您查看代码库时,面包屑工具栏现在包含三个组件:
- 一个代码库菜单,您可以在其中选择不同的代码库
- 一个分支/提交/标记菜单,您可以在其中选择特定分支、标记或提交
- 一个文件路径框,其中显示当前文件或文件夹的名称及其对应的路径
打开文件
您可以浏览到相应文件的目录并选择该文件,以打开该文件。代码库视图会更新,以在文件窗格中显示文件的内容,并在树窗格中显示其在代码库中的位置。
查看文件更改
如需查看文件更改,请执行以下操作:
- 在代码库视图中,选择相应文件。
- 点击右上角的追责 (Blame)。
文件窗格会更新,以显示谁在何时更改了文件。
查看更改历史记录
如需查看文件的更改历史记录,请执行以下操作:
- 在代码库视图中,选择相应文件。
- 点击右上角的历史记录。 系统随即会显示更改历史记录窗格,其中会显示相应文件的提交。
查看代码审核
对于 Gerrit 代码审核,您可以直接从“更改历史记录”窗格中打开该工具。
如需查看文件的代码审核,请执行以下操作:
- 在代码库视图中,选择相应文件。
- 点击右上角的历史记录。系统随即会显示“更改历史记录”窗格,其中会显示相应文件的提交。
- 将光标悬停在某次提交上。系统会显示更多按钮(三个垂直排列的点)。
- 点击更多按钮。
- 选择查看代码审核。
Gerrit 代码审核工具会在新的浏览器窗口中打开。
打开特定提交中的文件
如需打开特定提交中的文件,请执行以下操作:
- 在代码库视图中,选择相应文件。
- 点击右上角的历史记录。系统随即会显示“更改历史记录”窗格,其中会显示相应文件的提交。
- 将光标悬停在某次提交上。系统随即会显示查看按钮。
- 点击查看按钮。
将文件与不同提交进行比较
如需比较不同提交中的文件,请执行以下操作:
- 在代码库视图中,选择相应文件。如需比较两个不同提交中的文件,请先打开相应提交中的文件。
- 将光标悬停在某次提交上。系统随即会显示 DIFF 按钮。
- 点击 DIFF 按钮。
文件窗格会更新,以显示这两个文件的并排比较。两个提交中较旧的提交始终位于左侧。
在“更改历史记录”窗格中,两个提交均突出显示,并且标签会指明提交显示在左侧还是右侧。
如需更改任一文件,请将鼠标悬停在“更改历史记录”窗格中的相应提交上。然后,点击左侧或右侧按钮,在差异的左侧或右侧打开相应提交。
浏览交叉引用
浏览源代码库的另一种方式是使用交叉引用。这些引用会自动以超链接的形式显示在给定的源文件中。
为便于识别交叉引用,请点击右上角的交叉引用。此选项会在文件中的所有交叉引用下方显示下划线。
注意:如果交叉引用显示为灰色,则表示该文件没有可用的交叉引用。
点击交叉引用以打开“交叉引用”窗格。此窗格包含两个部分:
- 定义部分,其中列出了定义参考的文件
- 参考部分,其中列出了参考也出现在其中的文件
这两个部分都会显示文件名以及包含引用的行。如需从“交叉引用”窗格中打开文件,请点击相应行号条目。该文件会显示在窗格的新部分中,以便您在继续浏览文件的同时,保持原文件处于视图中。
您可以像在“文件”窗格中一样,继续使用“交叉引用”窗格浏览交叉引用。执行此操作后,窗格会显示面包屑轨迹,您可以使用该轨迹在不同的交叉引用之间进行导航。
搜索代码
您可以使用位于屏幕顶部的搜索框搜索特定的文件或代码段。搜索始终针对默认分支进行。
默认情况下,所有搜索都使用 RE2 正则表达式。如果您不想使用正则表达式,请用双引号(“)括住搜索。
注意:如需快速搜索特定文件,请在句点前添加反斜线,或将整个文件名用引号括起来。
foo\.java
"foo.java"
您可以使用以下过滤条件来优化搜索。
过滤 | 其他选项 | 说明 | 示例 |
---|---|---|---|
lang: | 语言: | 按文件语言执行完全匹配。 | lang:java test |
文件: | 文件路径: 路径: f: |
||
case:yes | 使搜索区分大小写。默认情况下,搜索不区分大小写。 | case:yes Hello World | |
class: | 搜索类名称。 | class:MainClass | |
function: | func: | 搜索函数名称。 | function:print |
- | 从搜索中排除相应字词。 | hello -world | |
\ | 转义特殊字符,例如 .、\ 或 (。 | 运行\(\) | |
“[术语]” | 执行字面搜索。 | "class:main" |
更多支持
如需报告问题,请点击屏幕右上角显示的反馈按钮,然后在提供的表单中输入您的反馈。