Compartilhar via


Pesquisa de código funcional

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

Encontre o código de que você precisa mais rapidamente com a pesquisa de código funcional. Este artigo explica como refinar sua pesquisa em repositórios usando tipos de código e outras funções com a extensão do Marketplace de Pesquisa de Código para Azure DevOps.

Pré-requisitos

  • Níveis de acesso:
    • Acesso básico:
      • Para usar a pesquisa de código, você deve ter pelo menos acesso básico.
      • Para acessar o código em um projeto privado, você deve ter pelo menos acesso básico.
    • Acesso das partes interessadas:
      • Os usuários com acesso ao Stakeholder não têm acesso ao código, portanto, não podem pesquisar código.
      • Os usuários com acesso ao Stakeholder para um projeto público têm acesso total ao código, para que possam pesquisar o código.
  • Resultados da pesquisa:
    • Resultados baseados em acesso: quando você está pesquisando na organização ou coleção, somente os resultados para os quais um membro do projeto tem acesso são listados.
  • Níveis de acesso:
    • Acesso básico:
      • Para usar a pesquisa de código, você deve ter pelo menos acesso básico.
      • Para acessar o código em um projeto privado, você deve ter pelo menos acesso básico.
    • Acesso das partes interessadas:
      • Os usuários com acesso ao Stakeholder não têm acesso ao código, portanto, não podem pesquisar código.
  • Resultados da pesquisa:
    • Resultados baseados em acesso: quando você está pesquisando na organização ou coleção, somente os resultados para os quais um membro do projeto tem acesso são listados.
  • Ferramentas:

Práticas recomendadas de pesquisa de código

  • Comece amplamente: comece com uma pesquisa ampla e use operadores de filtro para restringi-la por projeto, repositório, caminho, nome de arquivo e muito mais.
  • Use curingas e operadores booleanos: se você não souber o termo exato, use curingas para expandir sua pesquisa e operadores booleanos para refiná-lo.
  • Passe o mouse para obter mais informações: para obter mais informações sobre um item de código, passe o mouse sobre ele e use o menu de atalho para pesquisar esse texto em todos os seus projetos e arquivos.
  • Funcionalidade de código de rastreamento: use o menu de atalho para pesquisar itens relacionados, como definições e referências em um arquivo ou nos resultados da pesquisa, para rastrear como seu código funciona.
  • Use filtros de tipo de código: para encontrar a implementação de uma API ou outro elemento de código, use filtros de tipo de código para pesquisar tipos específicos de código, como:
    • Definições
    • Referências
    • Funções
    • Comentários
    • Cadeias de caracteres
    • Namespaces e muito mais

Observação

A pesquisa de código não funciona para repositórios bifurcados.

Funções para encontrar tipos específicos de código

Para criar sua consulta mais rapidamente, escolha funções e palavras-chave na lista suspensa ao inserir texto. Selecione Mostrar mais para ver todas as opções. Você pode combinar diferentes funções conforme necessário.

Você também pode usar filtros da coluna da esquerda para restringir sua pesquisa. Mostrar mais mostra todas as funções e palavras-chave.

Ou você pode digitar as funções e parâmetros na caixa de pesquisa. A tabela a seguir lista as funções para localizar tipos ou membros específicos em seu código C#, C, C++, Java e Visual Basic.NET.

Para encontrar o código onde findThis aparece como um ... ... pesquise o argumento arg:findThis
Argumento arg: encontrar isso Deprecated in July 2019
Tipo base tipo de base:findThis
Função de chamada chamador:findThis Deprecated in July 2019
Definição ou declaração de classe classe:findThis
declaração de classe classdecl:findThis Merged with class:
Definição de classe classdef:findThis Merged with class:
Comentário comentário:findThis
Construtor ctor:findThis Merged with method:
Declaração decl:findThis
Definição def: encontrar isso
Destruidor dtor: encontrar isso Merged with method:
Enumerador enumeração:findThis
Extern extern:findThis Deprecated in July 2019
Campo campo:findThis
Função de amigo amigo:findThis Deprecated in July 2019
Função func:findThis Merged with method:
Declaração de função funcdecl:findThis Merged with method:
Definição de função funcdef: encontrar isso Merged with method:
Global global:findThis Deprecated in July 2019
Cabeçalho cabeçalho:findThis Deprecated in July 2019
Interface interface:findThis
Macro macro:findThis
Definição da macro macrodef: encontrar isso Merged with macro:
Referência de macro macroref: encontrar isso Merged with macro:
Método método:findThis
Declaração do método methoddecl:findThis Merged with method:
Definição do método methoddef:findThis Merged with method:
Namespace namespace:findThis
Propriedade adereço: encontrar isso
Referência ref: encontrar isso
Cadeia de caracteres literal strlit: encontrar isso
Estrutura struct:findThis Merged with type:
Declaração de struct structdecl:findThis Merged with type:
Struct definition structdef:findThis Merged with type:
Argumento de modelo tmplarg:encontrar isso Deprecated in July 2019
Especificação do modelo tmplspec: encontrar isso Deprecated in July 2019
Tipo tipo:findThis
Typedef typedef:findThis Merged with type:
Union união:findThis Deprecated in July 2019

Funções para selecionar projetos, repositórios, caminhos e arquivos

As funções facilitam a restrição da pesquisa a locais especificados, tipos específicos de arquivos dentro desses locais ou nomes de arquivos especificados. Restrinja a pesquisa a um local específico usando os projfiltros , repo, ou path . Misture e combine as seguintes funções conforme necessário.

Uso Exemplo
Localize todas as ocorrências da palavra QueueJobsNow no projeto Fabrikam. QueueJobsNow proj:Fabrikam
Localize todas as ocorrências da palavra QueueJobsNow no repositório da Contoso. QueueJobsNow repo:Contoso
Localize todas as ocorrências da palavra QueueJobsNow no caminho VisualStudio/Services/Framework e seus subcaminhos. QueueJobsNow path:VisualStudio/Services/Framework
Encontre todas as ocorrências da palavra QueueJobsNow no caminho */Doc*/Framework/* e */Doc*/*/*/Framework/* e seus subcaminhos. O padrão de globbing (**) corresponde a zero ou mais caracteres em vários segmentos. Por exemplo, path:**/Doc**/Framework também corresponde a abc/DocTest/gh/ijk/mnop/Framework/ QueueJobsNow path:**/Doc**/Framework
Localize todas as ocorrências da palavra QueueJobsNow no caminho */Doc*/Framework/* e seus subcaminhos e nome de arquivo Test*.txt (Use Globbing Pattern **). Por exemplo, path:**/Doc**/Framework/**/Test*.txt também corresponde a abc/def/Doc A/gh/Framework/TestMisc.Txt QueueJobsNow path:**/Doc**/Framework/**/Test*.txt
Coloque o argumento no filtro entre aspas duplas se ele contiver um espaço. QueueJobsNow path:"VisualStudio/Windows Phones and Devices/Services"
Localize todas as ocorrências da palavra QueueJobsNow em todos os arquivos em que o nome do arquivo começa com queueRegister. QueueJobsNow file:queueRegister*
Encontre todos os arquivos com o nome QueueRegister sem uma extensão. Use aspas para encontrar arquivos sem extensões. file:"queueRegister"
Localize todas as ocorrências da palavra QueueJobsNow apenas em arquivos de origem C#. Uma cadeia de caracteres de pesquisa de texto sem formatação que não inclui funções de tipo de arquivo também localiza arquivos em que a cadeia de caracteres corresponde a parte do nome do arquivo. QueueJobsNow ext:cs

A Pesquisa de código permite expandir interativamente sua pesquisa com base em resultados anteriores. Por exemplo, você pode ampliar sua pesquisa para arquivos relacionados ao rastrear ou depurar código.

Clique com o botão direito do mouse em um termo no arquivo e inicie uma nova pesquisa por outros arquivos com o mesmo termo. Você pode pesquisá-lo como texto ou como uma definição ou referência se for um nome de objeto.

Para obter mais informações, consulte Introdução à pesquisa.

Mais operações de pesquisa de código

Aqui estão mais algumas funções de pesquisa de código. Você pode pesquisar tipos de código em arquivos C#, C, C++, Java e Visual Basic.NET. Para abrir os resultados da pesquisa em uma nova guia, selecione Ctrl + Enter na caixa de pesquisa principal. Para alternar para a nova guia no Google Chrome, selecione Ctrl + Shift + Enter.

Uso Exemplo
Encontrar todos os comentários História:Palavra-chave
Encontre todas as instâncias de comentários "ToDo" em seu código Selecione comment: e digite todo
Pesquise em locais específicos, como em um caminho específico Use uma string de pesquisa, como Driver path:MyShuttle/Server
Pesquise arquivos por nome ou apenas por extensão de arquivo Driver file:GreenCabs.cs. A cadeia de caracteres error ext:resx de pesquisa pode ser útil se você quiser revisar todas as cadeias de caracteres de erro em seu código. Mesmo que sua cadeia de caracteres de pesquisa de texto sem formatação corresponda a parte de um nome de arquivo, o arquivo aparecerá na lista de arquivos encontrados. Essa pesquisa funciona sem corresponder a funções específicas de tipo de arquivo.

Pesquisar projetos e repositórios do Git

Um projeto Git tem uma lista de repositórios. Para expandir sua pesquisa, marque as caixas de projeto e repositório. Você pode pesquisar todos ou mais projetos, ou menos projetos e repositórios. Se houver muitos projetos ou repositórios, selecione Mostrar mais para ver todos eles.

A Pesquisa de Código pode indexar diferentes ramificações em um repositório Git. Ele indexa apenas arquivos no branch padrão de seus repositórios Git por padrão. A ramificação padrão é main. Para indexar outras ramificações, vá para a guia Opções na seção Repositórios da página de configurações do projeto.

Observação

Por padrão, a pesquisa de código procura a cadeia de caracteres especificada no branch principal ou padrão de um repositório. No entanto, você pode restringir a pesquisa especificando um filtro para uma ramificação específica.

Captura de tela mostrando branches do Git para configuração.

Pesquisar projetos TFVC

Os projetos TFVC exibem apenas as pastas que você pode ler. Você não pode ver nenhum outro projeto ou pasta. Para filtrar sua pesquisa, escolha pastas na árvore.

Dica

A Pesquisa de código salva suas últimas configurações, como o projeto e o repositório ou o caminho em que você pesquisou. Quando quiser pesquisar em um escopo diferente, selecione Limpar todos os links para desmarcar as caixas de seleção e pesquisar em todos os projetos. As primeiras 100 ocorrências ou correspondências nos arquivos de destino são realçadas pela Pesquisa de Código no painel de resultados.

Pesquisar código com API REST

Você pode usar APIs para estender ou complementar os recursos listados neste artigo. Para obter informações sobre a Pesquisa de Código com a API REST, consulte Buscar resultados da pesquisa de código.

Próximas etapas