特定のファイルやコード スニペットを検索するには、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 ファイルです。ただし、こうしたファイルには、この関数への参照が複数含まれている場合もあります。このような場合、該当するファイルの検索結果に、[このファイル内のすべての一致を表示] というリンクが示されます。このリンクをクリックすると、そのファイルの内容を表示するプレビュー パネルが開きます。
プレビュー パネルを使用すると、他の検索結果を表示したまま、特定のファイルに含まれる複数の検索結果をまとめてプレビューできます。
検索リファレンス
次の表に、前のセクションで説明した検索フィルタと演算子を示します。
検索フィルタ
次の表に、コードを検索する際に使用できるフィルタを記載します。
フィルタ | その他のオプション | 説明 | 例 |
---|---|---|---|
case:yes | 検索で大文字と小文字が区別されるようにします。デフォルトでは、検索で大文字と小文字は区別されません。 複数の検索語をグループ化する場合、すべての子グループがこのフィルタを継承します。 |
case:yes Hello World |
|
class: | クラス名を検索します。 | class:MainClass |
|
コンテンツ: | ファイル名とファイルの内容だけを検索します。 | content:hello |
|
file: | filepath: path: f: |
パスを基準にファイルを検索します。 | file:test.js |
function: | func: | 関数名を検索します。 | function:print |
lang: | language: | 特定の言語を基準に結果を検索します。 | lang:java test |
検索演算子
次の表に、コードを検索する際に使用できる演算子を記載します。
演算子 | その他のオプション | 説明 |
---|---|---|
AND | 論理 AND 演算子。詳細については、AND 演算子の使用をご覧ください。 | |
OR | 論理 OR 演算子。詳細については、OR 演算子を使用するをご覧ください。 | |
([SEARCH_EXPRESSION]) | 複数の検索語をグループ化します。詳細については、検索語をグループ化するをご覧ください。 | |
- | 検索結果から特定の用語を除外します。 | |
\ | . 、\ 、( などの特殊文字をエスケープします。 |
|
"[SEARCH_EXPRESSION]" | 検索クエリを正規表現として解釈せずに検索を実行します。 |