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


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

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

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

Необходимые условия

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

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

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

Заметка

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

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

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

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

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

Чтобы найти код, в котором findThis появляется как ... ... поиск аргумента arg:findThis
Аргумент arg:findThisDeprecated in July 2019
Базовый тип базовый тип :findThis
Вызывающая функция вызывающий объект :findThisDeprecated in July 2019
Определение класса или объявление класс :findThis
Объявление класса classdecl:findThisMerged with class:
Определение класса classdef :findThisMerged with class:
Комментарий комментарий :findThis
Конструктор ctor:findThisMerged with method:
Декларация decl:findThis
Определение def:findThis
Разрушитель dtor:findThisMerged with method:
Перечислитель перечисление :findThis
Внешний экстерн:findThisDeprecated in July 2019
Поле поле :findThis
Функция "Друг" друг:findThisDeprecated in July 2019
Функция func:findThisMerged with method:
Объявление функции funcdecl:findThisMerged with method:
Определение функции funcdef:findThisMerged with method:
Глобальный глобальный :findThisDeprecated in July 2019
Заголовок заголовок :findThisDeprecated in July 2019
Интерфейс интерфейс :findThis
Макрос макрос :findThis
Определение макроса макрос :findThisMerged with macro:
Справочник по макросам макрос :findThisMerged with macro:
Метод метод :findThis
Объявление метода метод :findThisMerged with method:
Определение метода метод :findThisMerged with method:
Пространство имен пространство имен :findThis
Свойство prop:найтиЭто
Ссылка ссылка:findThis
Строковый литерал strlit:найдитеЭто
Структура структуры:findThisMerged with type:
Объявление структуры structdecl:findThisMerged with type:
Определение структуры структураопред:findThisMerged with type:
Аргумент шаблона tmplarg:findThisDeprecated in July 2019
Спецификация шаблона tmplspec:findThisDeprecated in July 2019
Тип тип :findThis
Typedef typedef:findThisMerged with type:
Союз объединение :findThisDeprecated 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 **). Например, путь: **/Doc**/Framework/**/Test*.txt также соответствует abc/def/DocA/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 + Enter в главном поле поиска. Чтобы перейти на новую вкладку в Google Chrome, нажмите Ctrl + Shift + Enter.

Использование пример
Поиск всех комментариев History:Keyword
Найдите все вхождения комментариев ToDo в коде Выберите comment: и введите todo
Поиск в определенных расположениях, например в пределах определенного пути Используйте строку поиска, например Driver path:MyShuttle/Server
Поиск файлов по имени или только по расширению файла Driver file:GreenCabs.cs. Строка поиска error ext:resx может оказаться полезной, если вы хотите просмотреть все строки ошибок в коде. Даже если строка поиска обычного текста соответствует части имени файла, файл отображается в списке найденных файлов. Этот поиск работает без сопоставления определенных функций типа файла.

Поиск проектов и репозиториев Git

Проект Git содержит список репозиториев. Чтобы расширить поиск, отметьте поля проекта и репозитория. Вы можете искать все или несколько проектов или меньше проектов и репозиториев. Если есть много проектов или репозиториев, выберите Показать больше, чтобы просмотреть их все.

Поиск кода может индексировать различные ветви в репозитории Git. Он по умолчанию индексирует файлы только в ветви по умолчанию репозиториев Git. Основная ветка по умолчанию — main. Чтобы индексировать другие ветви, перейдите на вкладку "Параметры " в разделе репозиториев страницы параметров проекта.

Заметка

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

Скриншот, показывающий ветки Git для конфигурации.

Поиск проектов TFVC

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

Совет

Поиск кода сохраняет последние параметры, такие как проект и репозиторий или путь, в который вы искали. Если вы хотите выполнить поиск в другой области, выберите Очистить все ссылки, чтобы очистить флажки и выполнить поиск по всем проектам. Первые 100 результатов или совпадений в целевых файлах выделены поиском кода в панели результатов.

Поиск кода с помощью REST API

Api можно использовать для расширения или дополнения возможностей, перечисленных в этой статье. Сведения о поиске кода с помощью REST API см. в разделе Результаты поиска кода.

Дальнейшие действия