Ricerca di codice funzionale

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

Trovare il codice necessario più velocemente con la ricerca di codice funzionale. Questo articolo illustra come perfezionare la ricerca tra repository usando tipi di codice e altre funzioni con l'estensione Code Search Marketplace per Azure DevOps.

Prerequisiti

  • Livelli di accesso:
    • Accesso di base:
      • Per usare la ricerca di codice, è necessario avere almeno l'accesso Basic.
      • Per accedere al codice in un progetto privato, è necessario avere almeno l'accesso Basic.
    • Accesso degli stakeholder:
      • Gli utenti con accesso stakeholder non hanno accesso al codice, quindi non possono cercare il codice.
      • Gli utenti con accesso stakeholder per un progetto pubblico hanno accesso completo al codice, in modo da poter cercare il codice.
  • Risultati della ricerca:
    • Risultati basati sull'accesso: quando si esegue una ricerca nell'organizzazione o nella raccolta, vengono elencati solo i risultati per i quali un membro del progetto ha accesso.
  • Livelli di accesso:
    • Accesso di base:
      • Per usare la ricerca di codice, è necessario avere almeno l'accesso Basic.
      • Per accedere al codice in un progetto privato, è necessario avere almeno l'accesso Basic.
    • Accesso degli stakeholder:
      • Gli utenti con accesso stakeholder non hanno accesso al codice, quindi non possono cercare il codice.
  • Risultati della ricerca:
    • Risultati basati sull'accesso: quando si esegue una ricerca nell'organizzazione o nella raccolta, vengono elencati solo i risultati per i quali un membro del progetto ha accesso.
  • Strumenti:

Procedure consigliate per la ricerca di codice

  • Iniziare in generale: iniziare con una ricerca generale e quindi usare gli operatori di filtro per restringerlo in base a progetto, repository, percorso, nome file e altro ancora.
  • Usare caratteri jolly e operatori booleani: se non si conosce il termine esatto, usare i caratteri jolly per espandere gli operatori booleani e di ricerca per perfezionarlo.
  • Passare il puntatore del mouse per altre informazioni: per ottenere altre informazioni su un elemento di codice, passare il puntatore del mouse su di esso e usare il menu di scelta rapida per cercare il testo in tutti i progetti e i file.
  • Funzionalità del codice di traccia: usare il menu di scelta rapida per cercare elementi correlati come definizioni e riferimenti in un file o nei risultati della ricerca per tracciare il funzionamento del codice.
  • Usare filtri di tipo di codice: per trovare l'implementazione di un'API o di un altro elemento di codice, usare filtri di tipo di codice per cercare tipi specifici di codice, ad esempio:
    • Definizioni
    • Riferimenti
    • Funzioni
    • Commenti
    • Stringhe
    • Spazi dei nomi e altro ancora

Nota

La ricerca del codice non funziona per i repository con fork.

Funzioni per trovare tipi specifici di codice

Per creare la query più velocemente, scegliere funzioni e parole chiave dall'elenco a discesa durante l'immissione del testo. Selezionare Mostra altro per visualizzare tutte le opzioni. È possibile combinare diverse funzioni in base alle esigenze.

È anche possibile usare filtri dalla colonna sinistra per restringere la ricerca. Altre informazioni mostrano tutte le funzioni e le parole chiave.

In alternativa, è possibile digitare le funzioni e i parametri nella casella di ricerca. La tabella seguente elenca le funzioni per trovare tipi o membri specifici nel codice C#, C, C++, Java e Visual Basic.NET.

Per trovare il codice in cui findThis appare come ... ... cercare l'argomento arg :findThis
Argomento arg:findThis Deprecated in July 2019
Tipo base basetype:findThis
Funzione chiamante chiamante:findThis Deprecated in July 2019
Definizione o dichiarazione di classe class:findThis
dichiarazione di classe classdecl:findThis Merged with class:
Definizione della classe classdef:findThis Merged with class:
Commento comment:findThis
Costruttore ctor:findThis Merged with method:
Dichiarazione decl:findThis
Definizione def:findThis
Distruttore dtor:findThis Merged with method:
Enumeratore enum:findThis
Extern extern:findThis Deprecated in July 2019
Campo field:findThis
Funzione Friend friend:findThis Deprecated in July 2019
Funzione func:findThis Merged with method:
Dichiarazione di funzione funcdecl:findThis Merged with method:
Definizione di funzione funcdef:findThis Merged with method:
Generale global:findThis Deprecated in July 2019
Intestazione header:findThis Deprecated in July 2019
Interfaccia interface:findThis
Macro macro:findThis
Definizione macro macrodef:findThis Merged with macro:
Informazioni di riferimento sulle macro macroref:findThis Merged with macro:
metodo method:findThis
Dichiarazione del metodo methoddecl:findThis Merged with method:
Definizione del metodo methoddef:findThis Merged with method:
Spazio dei nomi namespace:findThis
Proprietà prop:findThis
Riferimento ref:findThis
Stringa di valore letterale strlit:findThis
Struct struct:findThis Merged with type:
Dichiarazione di struct structdecl:findThis Merged with type:
Definizione dello struct structdef:findThis Merged with type:
Argomento modello tmplarg:findThis Deprecated in July 2019
Specifica del modello tmplspec:findThis Deprecated in July 2019
Type type:findThis
Typedef typedef:findThis Merged with type:
Union union:findThis Deprecated in July 2019

Funzioni per selezionare progetti, repository, percorsi e file

Le funzioni semplificano la ricerca in posizioni specificate, tipi specifici di file all'interno di questi percorsi o nomi file specificati. Restringere la ricerca a una posizione specifica usando i projfiltri , repoo path . Combinare e associare le funzioni seguenti in base alle esigenze.

Utilizzo Esempio
Trovare tutte le occorrenze della parola QueueJobsNow nel progetto Fabrikam. QueueJobsNow proj:Fabrikam
Trovare tutte le occorrenze della parola QueueJobsNow nel repository Contoso. QueueJobsNow repo:Contoso
Trovare tutte le occorrenze della parola QueueJobsNow nel percorso VisualStudio/Services/Framework e nei relativi sottopercorso. QueueJobsNow path:VisualStudio/Services/Framework
Trovare tutte le occorrenze della parola QueueJobsNow nel percorso */Doc*/Framework/* e */Doc*/*/*/Framework/* e nei relativi percorsi secondari. Il modello globbing (**) corrisponde a zero o più caratteri tra più segmenti. Ad esempio, path:**/Doc**/Framework corrisponde anche a abc/DocTest/gh/ijk/mnop/Framework/ QueueJobsNow path:**/Doc**/Framework
Trovare tutte le occorrenze della parola QueueJobsNow nel percorso */Doc*/Framework/* e nei relativi percorsi secondari e nome file Test*.txt (usare il modello Globbing **). Ad esempio, path:**/Doc**/Framework/**/Test*.txt corrisponde anche a abc/def/Doc A/gh/Framework/TestMisc.txt QueueJobsNow path:**/Doc**/Framework/**/Test*.txt
Racchiudere l'argomento nel filtro tra virgolette doppie se contiene uno spazio. QueueJobsNow path:"VisualStudio/Windows Phones and Devices/Services"
Trovare tutte le occorrenze della parola QueueJobsNow in tutti i file in cui il nome file inizia con queueRegister. QueueJobsNow file:queueRegister*
Trovare tutti i file con il nome QueueRegister senza estensione. Usare le virgolette per trovare i file senza estensioni. file:"queueRegister"
Trovare tutte le occorrenze della parola QueueJobsNow solo nei file di origine C#. Una stringa di ricerca di testo normale che non include funzioni di tipo file trova anche i file in cui la stringa corrisponde a parte del nome file. QueueJobsNow ext:cs

Ricerca codice consente di espandere in modo interattivo la ricerca in base ai risultati precedenti. Ad esempio, è possibile ampliare la ricerca ai file correlati durante la traccia o il debug del codice.

Fare clic con il pulsante destro del mouse su un termine nel file e avviare una nuova ricerca di altri file con lo stesso termine. È possibile cercarlo come testo o come definizione o riferimento se si tratta di un nome di oggetto.

Per altre informazioni, vedere Introduzione alla ricerca.

Altre operazioni di ricerca del codice

Ecco altre funzioni di ricerca del codice. È possibile cercare i tipi di codice nei file C#, C, C++, Java e Visual Basic.NET. Per aprire i risultati della ricerca in una nuova scheda, selezionare CTRL + INVIO nella casella di ricerca principale. Per passare alla nuova scheda in Google Chrome, selezionare CTRL + MAIUSC + INVIO.

Utilizzo Esempio
Trova tutti i commenti History:Keyword
Trovare tutte le istanze dei commenti "ToDo" nel codice Selezionare comment: e immettere todo
Cercare in posizioni specifiche, ad esempio all'interno di un percorso specifico Usare una stringa di ricerca, ad esempio Driver path:MyShuttle/Server
Cercare i file in base al nome o semplicemente all'estensione di file Driver file:GreenCabs.cs. La stringa error ext:resx di ricerca può essere utile se si desidera esaminare tutte le stringhe di errore nel codice. Anche se la stringa di ricerca testo normale corrisponde a parte di un nome file, il file viene visualizzato nell'elenco dei file trovati. Questa ricerca funziona senza associare funzioni di tipo di file specifiche.

Cercare progetti e repository Git

Un progetto Git include un elenco di repository. Per espandere la ricerca, selezionare le caselle di progetto e repository. È possibile eseguire ricerche in tutti o più progetti o meno progetti e repository. Se sono presenti molti progetti o repository, selezionare Mostra altro per visualizzarli tutti.

Ricerca codice può indicizzare rami diversi in un repository Git. Indicizza solo i file nel ramo predefinito dei repository Git per impostazione predefinita. Il ramo predefinito è main. Per indicizzare altri rami, passare alla scheda Opzioni nella sezione Repository della pagina delle impostazioni del progetto.

Nota

Per impostazione predefinita, la ricerca del codice cerca la stringa specificata nel ramo principale o predefinito di un repository. Tuttavia, è possibile restringere la ricerca specificando un filtro per un ramo specifico.

Screenshot che mostra i rami Git per la configurazione.

Cercare progetti TFVC

I progetti TFVC visualizzano solo le cartelle che è possibile leggere. Non è possibile visualizzare altri progetti o cartelle. Per filtrare la ricerca, scegliere le cartelle dall'albero.

Suggerimento

Ricerca codice salva le ultime impostazioni, ad esempio il progetto e il repository o il percorso in cui è stata eseguita la ricerca. Quando si vuole cercare in un ambito diverso, selezionare Cancella tutti i collegamenti per deselezionare le caselle di controllo e cercare in tutti i progetti. I primi 100 riscontri o corrispondenze nei file di destinazione sono evidenziati da Ricerca codice nel riquadro dei risultati.

Eseguire ricerche nel codice con l'API REST

È possibile usare le API per estendere o integrare le funzionalità elencate in questo articolo. Per informazioni sulla ricerca di codice con l'API REST, vedere Recuperare i risultati della ricerca del codice.

Passaggi successivi