기능 코드 검색

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

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

필수 조건

  • 코드 검색 설치

자세한 내용은 설치 및 검색 구성을 참조하세요.

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

코드 검색 모범 사례

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

참고 항목

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

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

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

왼쪽 열의 필터를 사용하여 검색 범위를 좁힐 수도 있습니다. 자세한 내용은 모든 함수 및 키워드(keyword) 보여 줍니다.

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

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

다음 단계