Udostępnij za pośrednictwem


Funkcjonalne wyszukiwanie kodu

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

Znajdź potrzebny kod szybciej z funkcjonalną funkcjonalną wyszukiwaniem kodu. W tym artykule wyjaśniono, jak uściślić wyszukiwanie między repozytoriami przy użyciu typów kodu i innych funkcji z rozszerzeniem witryny Marketplace wyszukiwania kodu dla usługi Azure DevOps.

Wymagania wstępne

  • Poziomy dostępu:
    • Dostęp podstawowy:
      • Aby korzystać z funkcji wyszukiwania kodu, musisz mieć co najmniej dostęp podstawowy.
      • Aby uzyskać dostęp do kodu w projekcie prywatnym, musisz mieć co najmniej dostęp podstawowy.
    • Dostęp uczestników projektu:
      • Użytkownicy z dostępem uczestników projektu nie mają dostępu do kodu, więc nie mogą wyszukiwać kodu.
      • Użytkownicy z dostępem uczestników projektu publicznego mają pełny dostęp do kodu, aby mogli wyszukiwać kod.
  • Wyniki wyszukiwania:
    • Wyniki oparte na dostępie: podczas wyszukiwania w organizacji lub kolekcji są wyświetlane tylko wyniki, do których członek projektu ma dostęp.
  • Poziomy dostępu:
    • Dostęp podstawowy:
      • Aby korzystać z funkcji wyszukiwania kodu, musisz mieć co najmniej dostęp podstawowy.
      • Aby uzyskać dostęp do kodu w projekcie prywatnym, musisz mieć co najmniej dostęp podstawowy.
    • Dostęp uczestników projektu:
      • Użytkownicy z dostępem uczestników projektu nie mają dostępu do kodu, więc nie mogą wyszukiwać kodu.
  • Wyniki wyszukiwania:
    • Wyniki oparte na dostępie: podczas wyszukiwania w organizacji lub kolekcji są wyświetlane tylko wyniki, do których członek projektu ma dostęp.
  • Narzędzia:

Najlepsze rozwiązania dotyczące wyszukiwania kodu

  • Rozpocznij szeroko: rozpocznij od szerokiego wyszukiwania, a następnie użyj operatorów filtrów, aby zawęzić je według projektu, repozytorium, ścieżki, nazwy pliku i nie tylko.
  • Użyj symboli wieloznacznych i operatorów logicznych: jeśli nie znasz dokładnego terminu, użyj symboli wieloznacznych, aby rozwinąć operatory wyszukiwania i logiczne, aby je uściślić.
  • Zatrzymaj wskaźnik myszy, aby uzyskać więcej informacji o elemencie kodu, umieść kursor nad nim i użyj menu skrótów, aby wyszukać ten tekst we wszystkich projektach i plikach.
  • Funkcja śledzenia kodu: użyj menu skrótów, aby wyszukać powiązane elementy, takie jak definicje i odwołania w pliku lub w wynikach wyszukiwania, aby śledzić sposób działania kodu.
  • Użyj filtrów typu kodu: aby znaleźć implementację interfejsu API lub innego elementu kodu, użyj filtrów typu kodu, aby wyszukać określone rodzaje kodu, takie jak:
    • Definicje
    • Informacje
    • Funkcje
    • Komentarze
    • Ciągi
    • Przestrzenie nazw i inne

Uwaga

Wyszukiwanie kodu nie działa w przypadku rozwidlonych repozytoriów.

Funkcje do znajdowania określonych typów kodu

Aby szybciej utworzyć zapytanie, wybierz funkcje i słowa kluczowe z listy rozwijanej podczas wprowadzania tekstu. Wybierz pozycję Pokaż więcej , aby wyświetlić wszystkie opcje. W razie potrzeby można połączyć różne funkcje.

Możesz również użyć filtrów z lewej kolumny, aby zawęzić wyszukiwanie. Pokaż więcej pokazuje wszystkie funkcje i słowa kluczowe.

Możesz też wpisać funkcje i parametry w polu wyszukiwania. W poniższej tabeli wymieniono funkcje znajdowania określonych typów lub elementów członkowskich w kodzie C#, C, C++, Java i Visual Basic.NET.

Aby znaleźć kod, w którym element findThis jest wyświetlany jako ... ... wyszukiwanie argumentu arg:findThis
Argument arg:findThis Deprecated in July 2019
Typ podstawowy basetype:findThis
Wywoływanie funkcji caller:findThis Deprecated in July 2019
Definicja lub deklaracja klasy class:findThis
Deklaracja klasy classdecl:findThis Merged with class:
Definicja klasy classdef:findThis Merged with class:
Komentarz comment:findThis
Konstruktor ctor:findThis Merged with method:
Deklaracja decl:findThis
Definicja def:findThis
Destruktor dtor:findThis Merged with method:
Moduł wyliczający enum:findThis
Extern extern:findThis Deprecated in July 2019
Pole field:findThis
Friend, funkcja friend:findThis Deprecated in July 2019
Function func:findThis Merged with method:
Deklaracja funkcji funcdecl:findThis Merged with method:
Definicja funkcji funcdef:findThis Merged with method:
Globalnie global:findThis Deprecated in July 2019
Nagłówek header:findThis Deprecated in July 2019
Interfejs interface:findThis
Makro macro:findThis
Definicja makra macrodef:findThis Merged with macro:
Odwołanie do makr macroref:findThis Merged with macro:
Method method:findThis
Deklaracja metody methoddecl:findThis Merged with method:
Definicja metody methoddef:findThis Merged with method:
Przestrzeń nazw przestrzeń nazw:findThis
Właściwości prop:findThis
Odwołanie ref:findThis
Literał ciągu strlit:findThis
Struktura struct:findThis Merged with type:
Deklaracja struktury structdecl:findThis Merged with type:
Definicja struktury structdef:findThis Merged with type:
Argument szablonu tmplarg:findThis Deprecated in July 2019
Specyfikacja szablonu tmplspec:findThis Deprecated in July 2019
Typ type:findThis
Definicja typu typedef:findThis Merged with type:
Unia union:findThis Deprecated in July 2019

Funkcje do wybierania projektów, repozytoriów, ścieżek i plików

Funkcje ułatwiają zawężenie wyszukiwania do określonych lokalizacji, określonych typów plików w tych lokalizacjach lub określonych nazw plików. Zawęź wyszukiwanie do określonej lokalizacji przy użyciu projfiltrów , repolub path . Wymieszaj i dopasuj następujące funkcje zgodnie z wymaganiami.

Użycie Przykład
Znajdź wszystkie wystąpienia słowa QueueJobsNow w projekcie Fabrikam. QueueJobsNow proj:Fabrikam
Znajdź wszystkie wystąpienia słowa QueueJobsNow w repozytorium Contoso. QueueJobsNow repo:Contoso
Znajdź wszystkie wystąpienia słowa QueueJobsNow w ścieżce VisualStudio/Services/Framework i jego ścieżkach podrzędnych. QueueJobsNow path:VisualStudio/Services/Framework
Znajdź wszystkie wystąpienia wyrazu QueueJobsNow w ścieżce */Doc*/Framework/* i */Doc*/*/Framework/* i jego ścieżki podrzędne. Wzorzec globbingu (**) pasuje do zera lub większej liczby znaków w wielu segmentach. Na przykład ścieżka:**/Doc**/Framework również pasuje do abc/DocTest/gh/ijk/mnop/Framework/ QueueJobsNow path:**/Doc**/Framework
Znajdź wszystkie wystąpienia słowa QueueJobsNow w ścieżce */Doc*/Framework/* oraz jego ścieżki podrzędne i nazwę pliku Test*.txt (Użyj wzorca globbing **). Na przykład path:**/Doc**/Framework/**/Test*.txt również pasuje do abc/def/DocA/gh/Framework/TestMisc.Txt QueueJobsNow path:**/Doc**/Framework/**/Test*.txt
Ujęć argument w filtrze w cudzysłowach, jeśli zawiera spację. QueueJobsNow path:"VisualStudio/Windows Phones and Devices/Services"
Znajdź wszystkie wystąpienia słowa QueueJobsNow we wszystkich plikach, w których nazwa pliku rozpoczyna się od queueRegister. QueueJobsNow file:queueRegister*
Znajdź wszystkie pliki o nazwie QueueRegister bez rozszerzenia. Użyj cudzysłowów, aby znaleźć pliki bez rozszerzeń. file:"queueRegister"
Znajdź wszystkie wystąpienia słowa QueueJobsNow tylko w plikach źródłowych języka C#. Ciąg wyszukiwania w postaci zwykłego tekstu, który nie zawiera funkcji typu pliku, również znajduje pliki, w których ciąg pasuje do części nazwy pliku. QueueJobsNow ext:cs

Wyszukiwanie kodu umożliwia interaktywne rozszerzanie wyszukiwania na podstawie poprzednich wyników. Możesz na przykład rozszerzyć wyszukiwanie na powiązane pliki podczas śledzenia lub debugowania kodu.

Kliknij prawym przyciskiem myszy termin w pliku i rozpocznij nowe wyszukiwanie innych plików z tym samym terminem. Możesz wyszukać go jako tekst lub definicję lub odwołanie, jeśli jest to nazwa obiektu.

Aby uzyskać więcej informacji, zobacz Wprowadzenie do wyszukiwania.

Więcej operacji wyszukiwania kodu

Oto kilka funkcji wyszukiwania kodu. Typy kodu można wyszukiwać w plikach C#, C, C++, Java i Visual Basic.NET. Aby otworzyć wyniki wyszukiwania na nowej karcie, wybierz Ctrl + Enter w głównym polu wyszukiwania. Aby przełączyć się na nową kartę w przeglądarce Google Chrome, wybierz Ctrl + Shift + Enter.

Użycie Przykład
Znajdź wszystkie komentarze Historia:Słowo kluczowe
Znajdowanie wszystkich wystąpień komentarzy "ToDo" w kodzie Wybierz comment: i wprowadź todo
Wyszukiwanie w określonych lokalizacjach, takich jak w określonej ścieżce Używanie ciągu wyszukiwania, takiego jak Driver path:MyShuttle/Server
Wyszukiwanie plików według nazwy lub tylko według rozszerzenia pliku Driver file:GreenCabs.cs. Ciąg error ext:resx wyszukiwania może być przydatny, jeśli chcesz przejrzeć wszystkie ciągi błędów w kodzie. Nawet jeśli ciąg wyszukiwania w postaci zwykłego tekstu pasuje do części nazwy pliku, plik zostanie wyświetlony na liście znalezionych plików. To wyszukiwanie działa bez dopasowywania określonych funkcji typów plików.

Wyszukiwanie projektów i repozytoriów Git

Projekt Git zawiera listę repozytoriów. Aby rozwinąć wyszukiwanie, zaznacz pola projektu i repozytorium. Możesz przeszukiwać wszystkie lub więcej projektów lub mniej projektów i repozytoriów. Jeśli istnieje wiele projektów lub repozytoriów, wybierz pozycję Pokaż więcej , aby wyświetlić je wszystkie.

Wyszukiwanie kodu może indeksować różne gałęzie w repozytorium Git. Indeksuje tylko pliki w domyślnej gałęzi repozytoriów Git. Gałąź domyślna jest główna. Aby indeksować inne gałęzie, przejdź do karty Opcje w sekcji Repozytoria strony ustawień projektu.

Uwaga

Domyślnie wyszukiwanie kodu wyszukuje określony ciąg w gałęzi głównej lub domyślnej repozytorium. Można jednak zawęzić wyszukiwanie, określając filtr dla określonej gałęzi.

Zrzut ekranu przedstawiający gałęzie usługi Git dla konfiguracji.

Wyszukiwanie projektów TFVC

Projekty TFVC wyświetlają tylko foldery, które można odczytać. Nie widzisz żadnych innych projektów ani folderów. Aby filtrować wyszukiwanie, wybierz foldery z drzewa.

Napiwek

Wyszukiwanie kodu zapisuje ostatnie ustawienia, takie jak projekt i repozytorium lub ścieżka, w której wyszukiwano. Jeśli chcesz wyszukać w innym zakresie, wybierz pozycję Wyczyść wszystkie linki , aby wyczyścić pola wyboru i przeszukać wszystkie projekty. Pierwsze 100 trafień lub dopasowań w plikach docelowych jest wyróżnionych przez wyszukiwanie kodu w okienku wyników.

Wyszukiwanie kodu za pomocą interfejsu API REST

Możesz użyć interfejsów API, aby rozszerzyć lub uzupełnić możliwości wymienione w tym artykule. Aby uzyskać informacje o wyszukiwaniu kodu za pomocą interfejsu API REST, zobacz Pobieranie wyników wyszukiwania kodu.

Następne kroki