다음을 통해 공유


기능 코드 검색

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

기능 코드 검색을 사용하여 필요한 코드를 더 빠르게 찾습니다. 이 문서에서는 Azure DevOps용 Code Search Marketplace 확장을 사용하여 코드 형식 및 기타 함수를 사용하여 리포지토리 전체에서 검색을 구체화하는 방법을 설명합니다.

필수 조건

  • 액세스 수준:
    • 기본 액세스:
      • 코드 검색을 사용하려면 최소한 기본 액세스 권한이 있어야 합니다.
      • 프라이빗 프로젝트의 코드에 액세스하려면 최소한 기본 액세스 권한이 있어야 합니다.
    • 관련자 액세스:
      • 관련자 액세스 권한이 있는 사용자는 코드에 액세스할 수 없으므로 코드를 검색할 수 없습니다.
      • 퍼블릭 프로젝트에 대한 이해 관계자 액세스 권한이 있는 사용자는 코드를 검색할 수 있도록 코드에 대한 모든 권한을 갖습니다.
  • 검색 결과:
    • 액세스 기반 결과: 조직 또는 컬렉션에서 검색하는 경우 프로젝트 멤버가 액세스할 수 있는 결과만 나열됩니다.
  • 액세스 수준:
    • 기본 액세스:
      • 코드 검색을 사용하려면 최소한 기본 액세스 권한이 있어야 합니다.
      • 프라이빗 프로젝트의 코드에 액세스하려면 최소한 기본 액세스 권한이 있어야 합니다.
    • 관련자 액세스:
      • 관련자 액세스 권한이 있는 사용자는 코드에 액세스할 수 없으므로 코드를 검색할 수 없습니다.
  • 검색 결과:
    • 액세스 기반 결과: 조직 또는 컬렉션에서 검색하는 경우 프로젝트 멤버가 액세스할 수 있는 결과만 나열됩니다.
  • 도구

코드 검색 모범 사례

  • 광범위하게 시작: 광범위한 검색으로 시작한 다음 필터 연산자를 사용하여 프로젝트, 리포지토리, 경로, 파일 이름 등을 통해 범위를 좁힐 수 있습니다.
  • 와일드카드 및 부울 연산 사용: 정확한 용어를 모르는 경우 와일드카드를 사용하여 검색 및 부울 연산자를 확장하여 구체화합니다.
  • 자세한 정보를 보려면 마우스로 가리키기: 코드 항목에 대한 자세한 내용을 보려면 마우스로 가리키고 바로 가기 메뉴를 사용하여 모든 프로젝트 및 파일에서 해당 텍스트를 검색합니다.
  • 추적 코드 기능: 바로 가기 메뉴를 사용하여 파일 또는 검색 결과에서 정의 및 참조와 같은 관련 항목을 검색하여 코드 작동 방식을 추적합니다.
  • 코드 형식 필터 사용: API 또는 다른 코드 요소의 구현을 찾으려면 코드 형식 필터를 사용하여 다음과 같은 특정 종류의 코드를 검색합니다.
    • 정의
    • 참조
    • 함수
    • 설명
    • 문자열
    • 네임스페이스 등

참고 항목

포크된 리포지토리에는 코드 검색이 작동하지 않습니다.

특정 형식의 코드를 찾는 함수

쿼리를 더 빠르게 만들려면 텍스트를 입력할 때 드롭다운 목록에서 함수 및 키워드를 선택합니다. 모든 옵션을 보려면 [자세히 표시]를 선택합니다. 필요에 따라 다른 함수를 결합할 수 있습니다.

왼쪽 열의 필터를 사용하여 검색 범위를 좁힐 수도 있습니다. 더 자세히 표시하면 모든 함수와 키워드가 표시됩니다.

또는 검색 상자에 함수 및 매개 변수를 입력할 수 있습니다. 다음 표에서는 C#, C, C++, Java 및 Visual Basic.NET 코드에서 특정 형식 또는 멤버를 찾기 위한 함수를 나열합니다.

findThis...로 표시되는 코드를 찾으려면... ... 인수 인수 검색:findThis
인수 arg:findThis Deprecated in July 2019
기본 형식 basetype:findThis
호출 함수 caller:findThis Deprecated in July 2019
클래스 정의 또는 선언 class:findThis
클래스 선언 classdecl:findThis Merged with class:
클래스 정의 classdef:findThis Merged with class:
Comment(설명) comment:findThis
생성자 ctor:findThis Merged with method:
선언 decl:findThis
정의 def:findThis
Destructor dtor:findThis Merged with method:
열거자 enum:findThis
Extern extern:findThis Deprecated in July 2019
필드 field:findThis
Friend 함수 friend:findThis Deprecated in July 2019
함수 func:findThis Merged with method:
함수 선언 funcdecl:findThis Merged with method:
함수 정의 funcdef:findThis Merged with method:
전역 global:findThis Deprecated in July 2019
헤더 header:findThis Deprecated in July 2019
인터페이스 interface:findThis
매크로 macro:findThis
매크로 정의 macrodef:findThis Merged with macro:
매크로 참조 macroref:findThis Merged with macro:
메서드 method:findThis
메서드 선언 methoddecl:findThis Merged with method:
메서드 정의 methoddef:findThis Merged with method:
네임스페이스 namespace:findThis
속성 prop:findThis
참조 ref:findThis
문자열 리터럴 strlit:findThis
구조체 struct:findThis Merged with type:
구조체 선언 structdecl:findThis Merged with type:
구조체 정의 structdef:findThis Merged with type:
템플릿 인수 tmplarg:findThis Deprecated in July 2019
템플릿 사양 tmplspec:findThis Deprecated in July 2019
Type type:findThis
Typedef typedef:findThis Merged with type:
Union union:findThis Deprecated in July 2019

프로젝트, 리포지토리, 경로 및 파일을 선택하는 함수

함수를 사용하면 지정된 위치, 이러한 위치 내의 특정 형식의 파일 또는 지정된 파일 이름으로 검색 범위를 쉽게 좁힐 수 있습니다. 또는 필터를 사용하여 검색 범위를 특정 위치로 projrepopath 좁힐 수 있습니다. 필요에 따라 다음 함수를 혼합하고 일치합니다.

사용법 예제
Fabrikam 프로젝트에서 QueueJobsNow라는 단어의 모든 항목을 찾습니다. QueueJobsNow proj:Fabrikam
Contoso 리포지토리에서 QueueJobsNow라는 단어의 모든 항목을 찾습니다. QueueJobsNow repo:Contoso
경로 VisualStudio/Services/Framework 및 해당 하위 경로에서 QueueJobsNow라는 단어의 모든 항목을 찾습니다. QueueJobsNow path:VisualStudio/Services/Framework
경로 */Doc*/Framework/* 및 */Doc*/*/*/Framework/*해당 하위 경로에서 QueueJobsNow라는 단어의 모든 항목을 찾습니다. 글로빙 패턴(**)은 여러 세그먼트에서 0개 이상의 문자와 일치합니다. 예를 들어 path:**/Doc**/Framework는 abc/DocTest/gh/ijk/mnop/Framework와도 일치합니다./ QueueJobsNow path:**/Doc**/Framework
경로 */Doc*/Framework/* 및 해당 하위 경로 및 파일 이름 Test*.txt(Globbing Pattern **사용)에서 QueueJobsNow라는 단어를 모두 찾습니다. 예를 들어 path:**/Doc**/Framework/**/Test*.txt abc/def/Doc A/gh/Framework/TestMisc와도 일치합니다.txt QueueJobsNow path:**/Doc**/Framework/**/Test*.txt
공백이 포함된 경우 인수를 필터에 큰따옴표로 묶습니다. QueueJobsNow path:"VisualStudio/Windows Phones and Devices/Services"
filename이 queueRegister시작하는 모든 파일에서 QueueJobsNow라는 단어의 모든 항목을 찾습니다. QueueJobsNow file:queueRegister*
확장명 없이 QueueRegister라는 이름의 모든 파일을 찾습니다. 따옴표를 사용하여 확장 프로그램이 없는 파일을 찾습니다. file:"queueRegister"
C# 원본 파일에서만 QueueJobsNow라는 단어의 모든 항목을 찾습니다. 파일 형식 함수를 포함하지 않는 일반 텍스트 검색 문자열은 문자열이 파일 이름의 일부와 일치하는 파일도 찾습니다. QueueJobsNow ext:cs

코드 검색을 사용하면 이전 결과에 따라 검색을 대화형으로 확장할 수 있습니다. 예를 들어 코드를 추적하거나 디버깅할 때 검색을 관련 파일로 확장할 수 있습니다.

파일에서 용어를 마우스 오른쪽 단추로 클릭하고 동일한 용어로 다른 파일에 대한 새 검색을 시작합니다. 텍스트로 검색하거나 개체 이름인 경우 정의 또는 참조로 검색할 수 있습니다.

자세한 내용은 검색 시작을 참조하세요.

추가 코드 검색 작업

다음은 몇 가지 코드 검색 함수입니다. C#, C, C++, Java 및 Visual Basic.NET 파일에서 코드 형식을 검색할 수 있습니다. 새 탭에서 검색 결과를 열려면 기본 검색 상자에서 Ctrl + Enter 키를 선택합니다. Google Chrome에서 새 탭으로 전환하려면 Ctrl + Shift + Enter를 선택합니다.

사용법 예제
모든 메모 찾기 기록:키워드
코드에서 "ToDo" 주석의 모든 인스턴스 찾기 comment:을 선택하고 todo을 입력합니다.
특정 경로 내와 같은 특정 위치에서 검색 다음과 같은 검색 문자열 사용 Driver path:MyShuttle/Server
이름 또는 파일 확장명별 파일 검색 Driver file:GreenCabs.cs. 코드의 모든 오류 문자열 error ext:resx 을 검토하려는 경우 검색 문자열이 유용할 수 있습니다. 일반 텍스트 검색 문자열이 파일 이름의 일부와 일치하더라도 파일은 찾은 파일 목록에 표시됩니다. 이 검색은 특정 파일 형식 함수와 일치하지 않고 작동합니다.

Git 프로젝트 및 리포지토리 검색

Git 프로젝트에는 리포지토리 목록이 있습니다. 검색을 확장하려면 프로젝트 및 리포지토리 상자를 선택합니다. 모든 프로젝트 또는 더 적은 프로젝트 및 리포지토리를 검색할 수 있습니다. 많은 프로젝트 또는 리포지토리가 있는 경우 자세히 표시를 선택하여 모두 확인합니다.

코드 검색은 Git 리포지토리의 여러 분기를 인덱싱할 수 있습니다. 기본적으로 Git 리포지토리의 기본 분기 파일만 인덱싱합니다. 기본 분기 기본입니다. 다른 분기를 인덱싱하려면 프로젝트 설정 페이지의 리포지토리 섹션에 있는 옵션 탭으로 이동합니다.

참고 항목

기본적으로 코드 검색은 리포지토리의 주 또는 기본 분기 지정된 문자열을 찾습니다. 그러나 특정 분기에 대한 필터를 지정하여 검색 범위를 좁힐 수 있습니다.

구성에 대한 Git 분기를 보여 주는 스크린샷

TFVC 프로젝트 검색

TFVC 프로젝트는 읽을 수 있는 폴더만 표시합니다. 다른 프로젝트나 폴더는 볼 수 없습니다. 검색을 필터링하려면 트리에서 폴더를 선택합니다.

코드 검색은 검색한 프로젝트, 리포지토리 또는 경로와 같은 마지막 설정을 저장합니다. 다른 범위에서 검색하려면 모든 링크 지우기를 선택하여 확인란을 지우고 모든 프로젝트에서 검색합니다. 대상 파일의 처음 100개 적/적/일치 항목은 결과 창의 코드 검색에 의해 강조 표시됩니다.

REST API를 사용하여 코드 검색

API를 사용하여 이 문서에 나열된 기능을 확장하거나 보완할 수 있습니다. REST API를 사용한 코드 검색에 대한 자세한 내용은 코드 검색 결과 가져오기를 참조하세요.

다음 단계