Поделиться через


Поиск функционального кода

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

Найдите нужный код быстрее с помощью функционального поиска кода. В этой статье объясняется, как уточнить поиск в репозиториях с помощью типов кода и других функций с расширением Azure DevOps для Поиска кода.

Необходимые компоненты

  • Уровни доступа:
    • Базовый доступ:
      • Чтобы использовать поиск кода, необходимо иметь по крайней мере базовый доступ.
      • Чтобы получить доступ к коду в частном проекте, необходимо иметь по крайней мере базовый доступ.
    • Доступ заинтересованных лиц:
      • Пользователи с доступом заинтересованных лиц не имеют доступа к коду, поэтому они не могут искать код.
      • Пользователи с доступом заинтересованных лиц для общедоступного проекта имеют полный доступ к коду, чтобы они могли искать код.
  • Результаты поиска:
    • Результаты на основе доступа. При поиске в организации или коллекции отображаются только результаты, для которых у члена проекта есть доступ.
  • Уровни доступа:
    • Базовый доступ:
      • Чтобы использовать поиск кода, необходимо иметь по крайней мере базовый доступ.
      • Чтобы получить доступ к коду в частном проекте, необходимо иметь по крайней мере базовый доступ.
    • Доступ заинтересованных лиц:
      • Пользователи с доступом заинтересованных лиц не имеют доступа к коду, поэтому они не могут искать код.
  • Результаты поиска:
    • Результаты на основе доступа. При поиске в организации или коллекции отображаются только результаты, для которых у члена проекта есть доступ.
  • Средства:

Рекомендации по поиску кода

  • Начните с широкого поиска, а затем используйте операторы фильтров, чтобы сузить его по проекту, репозиторию, пути, имени файла и т. д.
  • Используйте подстановочные знаки и логические операторы: если вы не знаете точного термина, используйте подстановочные знаки для расширения поисковых и логических операторов для уточнения.
  • Наведите указатель мыши на дополнительные сведения: чтобы получить дополнительные сведения о элементе кода, наведите на него указатель мыши и используйте контекстное меню для поиска этого текста во всех проектах и файлах.
  • Функции кода трассировки: используйте контекстное меню для поиска связанных элементов, таких как определения и ссылки в файле или в результатах поиска, чтобы отслеживать работу кода.
  • Используйте фильтры типов кода: чтобы найти реализацию API или другого элемента кода, используйте фильтры типов кода для поиска конкретных типов кода, таких как:
    • Определения
    • Ссылки
    • Функции
    • Комментарии
    • Строки
    • Пространства имен и многое другое

Примечание.

Поиск кода не работает для вилированных репозиториев.

Функции для поиска определенных типов кода

Чтобы быстрее создать запрос, выберите функции и ключевые слова из раскрывающегося списка при вводе текста. Нажмите кнопку "Показать больше", чтобы просмотреть все параметры. При необходимости можно объединить различные функции.

Вы также можете использовать фильтры из левого столбца, чтобы сузить поиск. Дополнительные сведения о функциях и ключевых словах отображаются.

Кроме того, можно ввести функции и параметры в поле поиска. В следующей таблице перечислены функции для поиска определенных типов или членов в коде C#, C,C++, Java и Visual Basic.NET.

Чтобы найти код, где findThis отображается как ... ... поиск аргумента arg: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:findThis
Конструктор ctor:findThis Merged with method:
Объявление decl:findThis
Определение def:findThis
Деструктор dtor:findThis Merged with method:
Перечислитель enum:findThis
Наружный extern:findThis Deprecated in July 2019
Поле field:findThis
Функция "Друг" друг:findThis Deprecated in July 2019
Function 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:findThis
Typedef typedef:findThis Merged with type:
Объединение union:findThis Deprecated in July 2019

Функции для выбора проектов, репозиториев, путей и файлов

Функции упрощают поиск по указанным расположениям, определенным типам файлов в этих расположениях или указанным именам файлов. Сузите поиск по определенному расположению с помощью projфильтров repoили path параметров. Смешивайте и сопоставляйте следующие функции по мере необходимости.

Использование Пример
Найдите все вхождения слова QueueJobsNow в проекте Fabrikam. QueueJobsNow proj:Fabrikam
Найдите все вхождения слова QueueJobsNow в репозитории Contoso. QueueJobsNow repo:Contoso
Найдите все вхождения слова QueueJobsNow в пути VisualStudio/Services/Framework и его подпаты. QueueJobsNow path:VisualStudio/Services/Framework
Найдите все вхождения слова QueueJobsNow в пути */Doc*/Framework/* и */Doc*/*/*/Framework/* и его подпаты. Шаблон глоббинга (**) соответствует нулю или нескольким символам в нескольких сегментах. Например, path:**/Doc**/Framework также соответствует abc/DocTest/gh/ijk/mnop/Framework/ QueueJobsNow path:**/Doc**/Framework
Найдите все вхождения слова QueueJobsNow в пути */Doc*/Framework/* и его подпаты и имя файла Test*.txt (используйте шаблон globbing ***). Например, 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"
Найдите все вхождения слова QueueJobsNow во всех файлах, где имя файла начинается с queueRegister. QueueJobsNow file:queueRegister*
Найдите все файлы с именем QueueRegister без расширения. Используйте кавычки для поиска файлов без расширений. file:"queueRegister"
Найдите все вхождения слова QueueJobsNow только в исходных файлах C#. Строка поиска обычного текста, которая не включает функции типа файлов, также находит файлы, в которых строка соответствует части имени файла. QueueJobsNow ext:cs

Поиск кода позволяет интерактивно расширить поиск на основе предыдущих результатов. Например, можно расширить поиск по связанным файлам при трассировке или отладке кода.

Щелкните правой кнопкой мыши термин в файле и запустите новый поиск других файлов с тем же термином. Его можно найти как текст или как определение или ссылку, если это имя объекта.

Дополнительные сведения см. в статье "Начало работы с поиском".

Дополнительные операции поиска кода

Ниже приведены некоторые другие функции поиска кода. Вы можете искать типы кода в файлах C#, C,C++, Java и Visual Basic.NET. Чтобы открыть результаты поиска на новой вкладке, нажмите клавиши CTRL + ВВОД в главном поле поиска. Чтобы перейти на новую вкладку Google Chrome, нажмите клавиши CTRL + SHIFT + ВВОД.

Использование Пример
Поиск всех комментариев History:Keyword
Поиск всех экземпляров комментариев 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 см. в разделе "Получение результатов поиска кода".

Следующие шаги