2021년 State of DevOps 설문조사에 참여하여 소프트웨어 배포의 미래를 설계하고 의견을 들려주세요.

코드 검색

Google Cloud Console 상단의 검색창을 사용해 특정 파일 또는 코드 스니펫을 검색할 수 있습니다.

검색창

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 필터를 사용하여 특정 파일의 콘텐츠로 검색을 제한할 수 있습니다. 예를 들어 다음 쿼리는 모든 자바 파일 콘텐츠에서 검색어 main을 찾지만, 경로에 검색어 main이 있는 경우는 검색하지 않습니다.

lang:java content:main

언어별 검색

검색결과를 특정 언어로 제한하려면 language 또는 lang 필터를 사용하세요. 예를 들어 다음 검색은 검색결과를 자바 언어로 제한합니다.

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 함수가 있는 자바 파일을 찾습니다. 하지만 해당 파일에 이 함수에 대한 참조가 1개 이상 포함될 수 있습니다. 이러한 경우에는 해당 파일의 검색결과에 이 파일의 모든 일치 항목 보기 링크가 포함됩니다. 이 링크를 클릭하면 이 파일 콘텐츠를 표시하는 미리보기 창이 열립니다.

미리보기 창을 사용하면 나머지 검색결과를 계속 보면서 여러 결과를 한 번에 빠르게 미리 볼 수 있습니다.

참조 검색

다음 표에는 이전 섹션에서 설명한 검색 필터 및 연산자가 나와 있습니다.

검색 필터

다음 표에는 코드 검색 시 사용할 수 있는 필터가 기재되어 있습니다.

필터 기타 옵션 설명
case:yes 검색 시 대소문자를 구분합니다. 기본적으로 검색 시 대소문자를 구분하지 않습니다.

검색어 여러 개를 그룹화하는 경우 이 필터가 모든 하위 그룹에 상속됩니다.
case:yes Hello World
class: 클래스 이름을 검색합니다. class:MainClass
content: 파일 이름과 파일 콘텐츠만 검색합니다. 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]" 검색어를 정규 표현식으로 해석하지 않고 검색을 수행합니다.