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

  • 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 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.
  • Resultados da pesquisa:
    • Resultados baseados em acesso: 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.
  • 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 de partes interessadas 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 em toda a 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, em seguida, 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á-la.
  • 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 procurar 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.
  • Usar filtros de tipo de código: 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
    • Funções
    • 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 a sua consulta mais rapidamente, escolha funções e palavras-chave na lista pendente à medida que introduz texto. 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 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 ... ... procurar argumento arg:findThis
Argumento arg:findThis Deprecated in July 2019
Tipo base basetype:findThis
Função de chamada chamador:findThis Deprecated in July 2019
Definição de classe ou declaração 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:findThis
Destruidor dtor:findThis Merged with method:
Recenseador enum:encontrarIsto
Externo externo:findThis Deprecated in July 2019
Campo campo:findThis
Função de amigo amigo:findThis Deprecated in July 2019
Function func:findThis Merged with method:
Declaração de função funcdecl:findThis Merged with method:
Definição de função funcdef:findThis Merged with method:
Global global:findThis Deprecated in July 2019
Cabeçalho cabeçalho:localizarEste Deprecated in July 2019
Interface interface:findThis
Macro macro:findThis
Definição de macro macrodef:localizarIsto Merged with macro:
Referência de macro macroref:localizarIsto 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:
Espaço de Nomes namespace:findThis
Property prop:encontrarIsto
Referência ref:findThis
Literal de cadeia de caracteres strlit:localizarIsto
Estrutura struct:findThis Merged with type:
Declaração Struct structdecl:findThis Merged with type:
Definição de estrutura structdef:findThis Merged with type:
Argumento do modelo tmplarg:findThis Deprecated in July 2019
Especificação do modelo tmplspec:findThis Deprecated in July 2019
Type tipo:findThis
Typedef typedef:findThis Merged with type:
União união:findThis Deprecated 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 corresponde 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 ao rastrear ou depurar 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, 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 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 é 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.

Nota

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

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