搜索代码

您可以使用 Google Cloud 控制台顶部的搜索框搜索特定文件或代码段。

搜索框

打开 Cloud Source Repositories

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

foo() # Parentheses are treated as part of a regular expression. Matches 'food'.
"foo()" # Treats the parentheses as literals. Doesn't match 'food'.

设置搜索范围

通过搜索框左侧的 范围 下拉列表,您可以根据源代码库界面中的位置将搜索范围限制为以下之一:

  • 所有:搜索您有权访问的所有代码库。
  • 此项目:搜索当前项目中的所有代码库。
  • 代码库:搜索当前代码库。
  • 此目录:搜索当前目录。

搜索文件

您可以通过多种方式搜索文件。例如,您可以使用 file 过滤条件来通过文件路径搜索文件。例如:

file:main

以下过滤条件会返回与 file 过滤条件相同的结果:

  • filepath
  • f
  • path

您还可以通过输入文件名称和扩展名来搜索文件名。例如:

main\.java

搜索文件内容

您可以使用 content 过滤条件将搜索限制为文件内容。例如,以下查询在所有 Java 文件的内容中查找术语 main。它不会搜索路径中包含术语 main 的实例。

lang:java content:main

按语言搜索

要将搜索结果限制为特定语言,请使用 languagelang 过滤条件。例如,以下搜索将搜索结果限制为 Java 语言。

helloworld language:java

您还可以使用 file 过滤条件,如以下示例所示:

file:\.java

请记住,搜索默认使用正则表达式。结果,以下搜索无效:

*.java

请改为尝试以下搜索:

\.java
lang:java

启用区分大小写的搜索

您可以使用 case 过滤条件搜索区分大小写。例如,以下搜索仅返回与术语 HelloWorld 相匹配的结果。它排除大小写不匹配的结果,例如 helloWorldhelloworld

case:yes HelloWorld

搜索类

要搜索特定的类,请使用 class 关键字。例如,以下搜索返回所有带有术语 Main 的类。

class:Main

搜索函数

使用 functionfunc 过滤条件搜索特定功能。例如,以下搜索返回所有带有术语 main 的函数。

function:main

排除字词

要将包含某个字词的条目从搜索结果中排除,请在要排除的字词之前加上 - 字符。例如,以下搜索返回所有带有术语 main 的函数,但不包括在 C ++文件中找到的匹配项。

function:main -lang:cpp

转义字符

默认情况下,搜索使用 RE2 正则表达式。要对字符进行转义,以免该字符被视为正则表达式的一部分,请使用 \ 字符。例如,以下示例搜索术语 main.java

main\.java

搜索字面量

将搜索词括在双引号(")中,以执行文字搜索。例如,以下示例搜索术语 main.java

"main.java"

搜索符号

要搜索特定的符号,请使用 symbol 关键字。例如,以下搜索会返回所有不可变类和函数。

symbol:immutable

使用 AND 运算符

您可以使用 AND 运算符搜索多个词。仅当运算符两侧的字词条件都为真时,此运算符才会返回结果。 例如,以下搜索返回包含术语 server 的 Python 文件。

server AND lang:python

搜索多个字词时隐式使用 AND。例如,您可以将前面的示例写为:

server lang:python

使用 OR 运算符

使用运算符 OR 搜索时,只要与关键字任一侧的表达式匹配,就会返回结果。例如,以下搜索返回包含术语 hello 或术语 world 的文件。

hello OR world

组合搜索字词

您可以使用括号(())将多个搜索词组合在一起。例如:

(hello OR world) AND lang:java

您还可以嵌套多个组,例如:

((Strings OR StringBuilder) AND lang:java) OR (std AND lang:cpp)

预览搜索结果

搜索查询可能在同一文件中查询出多个结果。例如:

lang:java function:foo

此搜索查找具有 foo 函数的 Java 文件。但是,这些文件可能包含多个对此函数的引用。在这些情况下,该文件的搜索结果会包含一个 View all matches in this file 链接。点击此链接可打开一个预览窗格,其中显示此文件的内容。

使用预览窗格可以一次快速预览多个结果,同时仍能看到其余的搜索结果。

搜索参考

下表包含上一节中讨论的搜索过滤条件和运算符。

搜索过滤器

下表列出了搜索代码时可以使用的过滤条件。

过滤 其他选项 说明 示例
case:yes 使搜索区分大小写。默认情况下,搜索不区分大小写。

如果把多个搜索字词分组到一起,则所有子组都会继承此过滤条件。
case:yes Hello World
class: 搜索类名称。 class:MainClass
content: 仅搜索文件名和文件内容。 content:hello
文件: 文件路径:
路径:
f:
通过文件路径搜索文件。 file:test.js
function: func: 搜索函数名称。 function:print
lang: language: 使用特定的语言搜索结果。 lang:java test

搜索运算符

下表列出了搜索代码时可以使用的运算符。

运算符 其他选项 说明
AND 逻辑运算符 AND。有关详情,请参见 使用 AND 运算符
逻辑运算符 OR。有关详情,请参见 使用 OR 运算符
([SEARCH_EXPRESSION]) 将多个字词分组到一起。有关详情,请参阅 对搜索词进行分组
- 从搜索结果中排除该字词。
\ 对特殊字符进行转义,如 ..\、或 (
"[SEARCH_EXPRESSION]" 执行搜索而不将搜索查询解释为正则表达式。