Pesquisa de código funcional

Serviços de DevOps do Azure | Azure DevOps Server 2022 - Azure DevOps Server 2019

Encontre o código de que 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ê está pesquisando em toda a 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 sabe 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 pesquisar 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 pesquisar tipos específicos de código, como:
    • Definições
    • Referências
    • functions
    • comentários
    • cadeias
    • namespaces e muito mais.

Nota

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.

Também pode utilizar filtros da coluna da esquerda para restringir a 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 de base basetype:findThis
Função de chamada chamador:findThisDeprecated in July 2019
Definição de classe ou declaração 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:
Recenseador enum:encontrarIsto
Externo externo:findThisDeprecated in July 2019
Campo campo:findThis
Função de amigo amigo:findThisDeprecated in July 2019
Function func:findThisMerged 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:localizarEsteDeprecated in July 2019
Interface interface:findThis
Macro macro:findThis
Definição de macro macrodef:localizarIstoMerged with macro:
Referência de macro macroref:localizarIstoMerged 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:
Espaço de Nomes namespace:findThis
Property prop:encontrarIsto
Referência ref:findThis
Literal de cadeia de caracteres strlit:localizarIsto
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
Type tipo:findThis
Typedef typedef:findThisMerged with type:
União união:findThisDeprecated in July 2019

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

As funções facilitam o estreitamento da pesquisa para 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 , repoou path . Misture e combine as seguintes funções, conforme necessário.

Utilização Exemplo
Encontre todas as ocorrências da palavra QueueJobsNow no projeto da Fabrikam. QueueJobsNow proj:Fabrikam
Encontre todas as ocorrências da palavra QueueJobsNow no repositório da Contoso. QueueJobsNow repo:Contoso
Encontre 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 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 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 localizar arquivos sem extensões. file:"queueRegister"
Encontre todas as ocorrências da palavra QueueJobsNow apenas em arquivos de origem C#. Uma cadeia de pesquisa de texto simples 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-lhe expandir interativamente a sua pesquisa com base nos 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 rato num termo no ficheiro e inicie uma nova pesquisa por outros ficheiros 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
  • Caráter universal
  • Operadores booleanas
  • Proximidade

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 num novo separador, selecione Ctrl + Enter na caixa de pesquisa principal. Para mudar para o novo separador no Google Chrome, selecione Ctrl + Shift + Enter.

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

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.

A Pesquisa de código pode indexar diferentes ramificações em um repositório Git. Ele apenas 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 apenas as pastas que você pode ler. Não é possível ver outros projetos ou pastas. Para filtrar sua pesquisa, escolha pastas na árvore.

Gorjeta

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óximos passos