搜尋程式碼

您可以使用 Google Cloud 主控台頂端的搜尋框,搜尋特定檔案或程式碼片段。

搜尋框

Open 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'.

設定搜尋範圍

依據您在原始碼存放區介面中的位置而定,搜尋框左側的「範圍」下拉式清單可讓您將搜尋範圍限制為以下其中一項:

  • [Everything] (一切):搜尋您可存取的所有存放區。
  • [This Project] (這個專案):搜尋目前專案中的所有存放區。
  • [The Repository] (存放區):搜尋目前的存放區。
  • [This Directory] (這個目錄):搜尋目前的目錄。

搜尋檔案

您可以透過數種方式搜尋檔案。例如,您可以使用 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 運算子搜尋多個字詞。只有在運算子兩側的字詞皆為 true 時,運算子才會傳回結果。例如,以下搜尋會傳回包含字詞 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 檔案。然而,這些檔案可能會包含多個對此函式的參考。在這些情況下,該檔案的搜尋結果會包含「查看這個檔案中所有相符的項目」連結。按一下這個連結以開啟顯示此檔案內容的預覽窗格。

使用預覽窗格可以一次快速預覽多個結果,同時仍可檢視其他的搜尋結果。

搜尋參考序列

下表列出先前章節所討論的搜尋篩選器和運算子。

搜尋篩選器

下表列出您可在搜尋程式碼時使用的篩選器。

篩選器 其他選項 說明 範例
case:yes 使搜尋區分大小寫。根據預設,搜尋不區分大小寫。

如果您要將多個搜尋字詞分組,所有子群組都會沿用此篩選器。
case:yes Hello World
class: 搜尋類別名稱。 class:MainClass
content: 僅搜尋檔案名稱和檔案內容。 content:hello
檔案: filepath:
path:
f:
以檔案路徑搜尋檔案。 file:test.js
function: func: 搜尋函式名稱。 function:print
lang: language: 使用特定語言搜尋結果。 lang:java test

搜尋運算子

下表列出您在搜尋程式碼時可使用的運算子。

運算子 其他選項 說明
AND 邏輯「AND」運算子。詳情請參閱「使用 AND 運算子」。
邏輯「OR」運算子。詳情請參閱「使用 OR 運算子」。
([SEARCH_EXPRESSION]) 將多個字詞分組。詳情請參閱「 將搜尋字詞分組」。
- 從搜尋結果排除字詞。
\ 逸出特殊字元,例如 .\(
"[SEARCH_EXPRESSION]" 執行搜尋而不將搜尋查詢解讀為規則運算式。