Pesquisa de código funcional

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

Encontre o código 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 Code Search Marketplace para Azure DevOps.

Pré-requisitos

Para obter mais informações, consulte Instalar e configurar a pesquisa.

  • Para usar a Pesquisa de Código, você deve ter pelo menos acesso Básico.
  • Os usuários com acesso de partes interessadas não têm acesso ao código, portanto, não podem pesquisar código.
  • Os usuários com acesso de partes interessadas para um projeto público têm acesso total ao código, para que possam pesquisar código. Para acessar o código em um projeto privado, você deve ter pelo menos acesso básico.
  • Quando você estiver pesquisando na organização ou coleção, somente os resultados para os quais um membro do projeto tem acesso são listados.

Práticas recomendadas de pesquisa de código

  • Comece com uma pesquisa ampla e, em seguida, use operadores de filtro para restringi-la por projeto, repositório, caminho, nome de arquivo e muito mais.
  • Se você não souber o termo exato, use curingas para expandir sua pesquisa e operadores booleanos para refiná-la.
  • Para obter mais informações sobre um item de código, passe o mouse sobre ele e use o menu de atalho para procurar esse texto em todos os seus projetos e arquivos.
  • Para rastrear como seu código funciona, use o menu de atalho para procurar itens relacionados, como definições e referências em um arquivo ou nos resultados da pesquisa.
  • Para localizar a implementação de uma API ou outro elemento de código, use filtros de tipo de código para procurar tipos específicos de código, como:
    • definitions
    • referências
    • funções
    • comments
    • cadeias de caracteres
    • namespaces e muito mais.

Observação

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

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

Para criar sua consulta mais rapidamente, escolha funções e palavras-chave na lista suspensa enquanto digita. 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 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 abaixo 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 ... ... procurar argumento arg:findThis
Argumento arg:findThisDeprecated in July 2019
Tipo base basetype:findThis
Função de chamada chamador:findThisDeprecated in July 2019
Definição ou declaração de classe classe:findThis
declaração de classe classdecl:findThisMerged with class:
Definição de classe classdef:findThisMerged with class:
Comentário comentário:findThis
Construtor ctor:findThisMerged with method:
Declaração decl:findThis
Definição def:findThis
Destruidor dtor:findThisMerged with method:
Enumerador enum:findThis
Extern externo:findThisDeprecated in July 2019
Campo campo:findThis
Função amigo amigo:findThisDeprecated in July 2019
Função func:encontrarEsteMerged with method:
Declaração de função funcdecl:findThisMerged with method:
Definição de função funcdef:findThisMerged with method:
Global global:findThisDeprecated in July 2019
Cabeçalho cabeçalho:findThisDeprecated in July 2019
Interface interface:findThis
Macro macro:findThis
Definição da macro macrodef:findThisMerged with macro:
Referência de macro macroref:findThisMerged with macro:
Método método:findThis
Declaração do método methoddecl:findThisMerged with method:
Definição do método methoddef:findThisMerged with method:
Namespace namespace:findThis
Propriedade prop:findThis
Referência ref:encontrarEste
Cadeia de caracteres literal strlit:findThis
Estrutura struct:findThisMerged with type:
Declaração struct structdecl:findThisMerged with type:
Definição de estrutura structdef:findThisMerged with type:
Argumento do modelo tmplarg:findThisDeprecated in July 2019
Especificação do modelo tmplspec:findThisDeprecated in July 2019
Tipo tipo:findThis
Typedef typedef:findThisMerged with type:
Union união:findThisDeprecated 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 nesses locais ou nomes de arquivos especificados. Restrinja a pesquisa a um local específico usando os projfiltros , repoou path . Misture e combine as seguintes funções, conforme necessário.

Uso Exemplo
Encontre todas as ocorrências da palavra QueueJobsNow no projeto da 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 corresponderá a abc/DocTest/gh/ijk/mnop/Framework/ QueueJobsNow path:**/Doc**/Framework
Encontre 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 entre aspas duplas entre aspas duplas se ele contiver um espaço. QueueJobsNow path:"VisualStudio/Windows Phones and Devices/Services"
Encontre todas as ocorrências da palavra QueueJobsNow em todos os arquivos onde o nome do arquivo começa com queueRegister. QueueJobsNow file:queueRegister*
Localize todos os arquivos com o nome QueueRegister sem uma extensão. Use aspas para localizar arquivos sem extensões. file:"queueRegister"
Encontre todas as ocorrências da palavra QueueJobsNow somente 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 que você expanda interativamente sua pesquisa com base em resultados anteriores. Por exemplo, você pode ampliar sua pesquisa para arquivos relacionados quando estiver rastreando ou depurando 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 procurá-lo como texto ou como uma definição ou referência, se for um nome de objeto.

Para obter mais informações sobre as seguintes funções de pesquisa, consulte Introdução à pesquisa

  • Palavra-chave
  • Correspondência exata
  • Curinga
  • Operadores booleanos
  • Proximidade

Mais operações de pesquisa de código

Aqui estão mais algumas funções de pesquisa de código. Você pode procurar 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
Encontre todos os comentários Histórico:Palavra-chave
Encontre todas as instâncias de comentários "ToDo" em seu código Selecione comment: e digite todo
Pesquisar em locais específicos, como dentro de um caminho específico Usar uma cadeia de caracteres de pesquisa, como Driver path:MyShuttle/Server
Procure arquivos por nome ou apenas por extensão de arquivo Driver file:GreenCabs.cs. A cadeia de caracteres de error ext:resx pesquisa pode ser útil se você quiser revisar todas as cadeias de caracteres de erro em seu código. Mesmo que a 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 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 só indexa arquivos na ramificação padrão de seus repositórios Git por padrão. A ramificação padrão geralmente é principal. Para indexar outras ramificações, vá para a guia Opções na seção Repositórios da página de configurações do projeto.

Captura de tela mostrando ramificações do Git para configuração.

Pesquisar projetos TFVC

Os projetos TFVC exibem somente as pastas que você pode ler. Não é possível ver outros projetos ou pastas. 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 pesquisado. 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. Os primeiros 100 acertos ou correspondências nos arquivos de destino são realçados pela Pesquisa de Código no painel de resultados.

Código de pesquisa com a 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