您可以使用 Google Cloud 控制台顶部的搜索框来搜索特定的文件或代码段。
默认情况下,所有搜索都使用 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
按语言搜索
要将搜索结果限制为特定语言,请使用 language
或 lang
过滤条件。例如,以下搜索将搜索结果限制为 Java 语言。
helloworld language:java
您还可以使用 file
过滤条件,如以下示例所示:
file:\.java
请记住,搜索默认使用正则表达式。结果,以下搜索无效:
*.java
请改为尝试以下搜索:
\.java
lang:java
启用区分大小写的搜索
您可以使用 case
过滤条件搜索区分大小写。例如,以下搜索仅返回与术语 HelloWorld
相匹配的结果。它排除大小写不匹配的结果,例如 helloWorld
或 helloworld
。
case:yes HelloWorld
搜索类
要搜索特定的类,请使用 class
关键字。例如,以下搜索返回所有带有术语 Main
的类。
class:Main
搜索函数
使用 function
或 func
过滤条件搜索特定功能。例如,以下搜索返回所有带有术语 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]" | 执行搜索而不将搜索查询解释为正则表达式。 |