Spostarsi all'interno del codice C++ in Visual Studio

Visual Studio offre una suite di strumenti che consentono di esplorare la codebase in modo rapido ed efficiente.

Aprire un file incluso

Fare clic con il pulsante destro del mouse su una direttiva #include e quindi scegliere Passa al documento. In alternativa, selezionare F12 con il cursore sulla riga per aprire il file.

Screenshot dell'opzione di menu C plus Go To Document nel contesto di alcune istruzioni di inclusione.

Attiva/disattiva file di codice/intestazione

È possibile spostarsi tra un file di intestazione e il file di origine corrispondente. Fare clic con il pulsante destro del mouse in un punto qualsiasi nel file e scegliere Attiva/disattiva file di codice/intestazione. In alternativa, è possibile selezionare CTRL+K, CTRL+O.

Vai a definizione/Vai a dichiarazione

È possibile passare alla definizione di un elemento di codice con un clic con il pulsante destro del mouse nell'editor e selezionare Vai a definizione oppure selezionando F12. È possibile passare a una dichiarazione in modo analogo usando il menu di scelta rapida visualizzato facendo clic con il pulsante destro del mouse oppure premendo CTRL+F12.

Screenshot delle opzioni visualizzate quando si fa clic con il pulsante destro del mouse su un elemento di codice. Include vai a definizione, definizione peek e vai a dichiarazione.

Vai

Vai A fa riferimento a un set di funzionalità di spostamento che forniscono un risultato specifico in base ai filtri specificati.

È possibile aprire Vai a con CTRL+,. Questa azione crea una casella di ricerca sul documento che si sta modificando.

Screenshot della casella di ricerca visualizzata quando si apre Vai a. È disponibile una casella di testo per i termini di ricerca e filtri per i tipi, i file recenti e così via.

Vai a include questi filtri di ricerca:

  • Vai a riga (CTRL+G): passa rapidamente a una riga diversa nel documento corrente.
  • Vai a Tutti (CTRL+,) o (CTRL+T): i risultati della ricerca includono tutto ciò che segue.
  • Passare a File (CTRL 1, F): cercare file nella soluzione.
  • Vai a Tipo (CTRL 1, T): i risultati della ricerca includono:
    • Classi, struct ed enumerazioni.
    • Interfacce e delegati (solo codice gestito).
  • Vai a Membro (CTRL 1, M): i risultati della ricerca includono:
    • Variabili globali e funzioni globali.
    • Variabili membro di classe e funzioni membro.
    • Costanti.
    • Elementi di enumerazione.
    • Proprietà ed eventi.
  • Vai a Simbolo (CTRL 1, S): i risultati della ricerca includono:
    • Risultati di Vai al tipo e Vai al membro.
    • Tutti i costrutti del linguaggio C++ rimanenti, che includono macro.

Quando si richiama per la prima volta Vai a con CTRL+, Vai a tutti viene attivato senza filtri sui risultati della ricerca. È quindi possibile selezionare il filtro desiderato usando i pulsanti accanto alla casella di ricerca. Richiamare un filtro specifico usando i tasti di scelta rapida corrispondenti. Questa operazione apre la casella di ricerca Vai a con il filtro preselezionato. Tutti i tasti di scelta rapida sono configurabili.

Per applicare un filtro di testo, avviare la query di ricerca con il carattere corrispondente del filtro seguito da uno spazio. (Vai a riga può omettere facoltativamente lo spazio). Questi filtri di testo sono disponibili:

  • Vai a tutti: (nessun filtro testo)
  • Vai alla riga numero: :
  • Vai al file: f
  • Vai al tipo: t
  • Vai al membro: m
  • Vai al simbolo: #

L'esempio seguente mostra i risultati di un'operazione Vai al file con il filtro "f":

Screenshot dei risultati vai a File. L'utente digita 'f str' e string_utils.cpp e string_utils.h vengono visualizzati perché contengono str nel nome.

Per vedere l'elenco dei filtri testo digitare ? seguito da uno spazio. È anche possibile accedere ai comandi Vai a con il menu Modifica. Si tratta di un altro modo per rammentarsi dei principali tasti di scelta rapida di Vai a.

Screenshot del menu Vai a che include opzioni come Vai a riga (CTRL + G), Vai a File (CTRL + 1, CTRL + F) e altro ancora.

Trova o Cerca nei file

È possibile eseguire una ricerca di testo per qualsiasi elemento nella soluzione con Trova (CTRL+F) o Cerca nei file (CTRL+SHIFT+F).

Trova può essere applicato a una selezione, al documento corrente, a tutti i documenti aperti, al progetto corrente o all'intera soluzione. È possibile usare espressioni regolari e testo normale. Evidenzia automaticamente, inoltre, tutte le corrispondenze nell'IDE.

Screenshot della finestra di dialogo Trova. L'utente ha cercato il canale. I punti di evidenziazione gialla nel file mostrano tutti i punti in cui viene trovato il canale.

Cerca nei file è una versione più potente di Trova che consente di visualizzare i risultati nella finestra Risultati ricerca. È possibile cercare le dipendenze del codice esterne, filtrare per tipi di file e altro ancora.

Screenshot della finestra di dialogo Trova e Sostituisci. La pagina Trova nei file è selezionata. Le opzioni vengono visualizzate per la corrispondenza tra maiuscole e minuscole, l'intera parola e così via.

È possibile organizzare i risultati di Cerca nei file in due finestre e accodare insieme i risultati di più ricerche. Selezionare un risultato per passare alla posizione corrispondente nel file.

Screenshot che mostra un file di ricerca trova nei file di ricerca che contengono testo corrispondente alla stringa di ricerca e a un estratto di ogni corrispondenza.

Per altre informazioni, vedere Cerca nei file nella documentazione di Visual Studio.

Trova tutti i riferimenti

Per trovare tutti gli utilizzi di un simbolo nella codebase, posizionare il cursore sul simbolo o subito dopo, fare clic con il pulsante destro del mouse e quindi scegliere Trova tutti i riferimenti. È possibile filtrare, ordinare o raggruppare i risultati in molti modi diversi. I risultati vengono popolati in modo incrementale. Sono classificati come letture o scritture per aiutare a distinguere che cosa fa parte della soluzione rispetto a cosa appartiene a intestazioni di sistema o altre librerie.

Screenshot di Trova tutti i risultati dei riferimenti che mostra la riga in cui è stato trovato il simbolo, il file e il progetto in cui si trova e così via.

È possibile raggruppare i risultati in base alle categorie seguenti:

  • Progetto, quindi definizione
  • Solo definizione
  • Definizione, quindi progetto
  • Definizione, quindi percorso
  • Definizione, progetto, quindi percorso

Filtrare i risultati

Per filtrare i risultati, passare il mouse su una colonna e selezionare l'icona del filtro che viene visualizzata. È possibile filtrare i risultati dalla prima colonna per nascondere elementi quali i riferimenti a stringhe e commenti che non è necessario visualizzare.

Screenshot delle opzioni di filtro. Include confermati, non confermati, in commento e non elaborati. Ogni mostra il numero di risultati applicabili a tale categoria.

  • Risultati confermati: riferimenti effettivi al simbolo da cercare. La ricerca di una funzione membro denominata Size, ad esempio, restituisce tutti i riferimenti a Size che corrispondono all'ambito della classe che definisce Size.

  • Risultati non confermati: questo filtro è disattivato per impostazione predefinita perché mostra i simboli i cui nomi corrispondono ma non sono riferimenti effettivi al simbolo che si sta cercando. Se si dispone di due classi ognuna delle quali definisce una funzione membro denominata Size, ad esempio, e si esegue una ricerca di Size su un riferimento da un oggetto Class1, tutti i riferimenti a Size provenienti da Class2 verranno visualizzati come non confermati.

  • Risultati non elaborati: trovare tutte le operazioni di riferimento possono richiedere tempo per completare le codebase più grandi, quindi l'elenco Risultati mostra i risultati "non elaborati" qui. Per i risultati non elaborati la corrispondenza al nome del simbolo cercato è stata confermata, ma non è stato ancora appurato se si tratta di riferimenti effettivi. È possibile attivare questo filtro per ottenere risultati più rapidi. Alcuni risultati potrebbero non essere riferimenti effettivi.

Ordinare i risultati

È possibile ordinare i risultati in base a qualsiasi colonna selezionando la colonna. Per passare dall'ordine crescente all'ordine decrescente e viceversa, selezionare di nuovo la colonna.

È possibile passare alla definizione di un tipo in un file o ai membri del tipo usando la barra di spostamento che si trova sopra la finestra dell'editor.

Screenshot della barra di spostamento sopra la finestra dell'editor. Mostra cryptlib > ChannelSwitch > ChannelMessageSeriesEnd().

Vedi anche