Condividi tramite


Funzionalità di IntelliSense di Visual C++

IntelliSense è un nome assegnato a un set di funzionalità che semplificano la codifica. IntelliSense per C++ è disponibile per i file autonomi e per i file che fanno parte di un progetto C++. Nei progetti multipiattaforma alcune funzionalità di IntelliSense sono disponibili nei file .cpp e c nel progetto di codice condiviso, anche quando ci si trova in un contesto Android o iOS.

Questo articolo offre una panoramica delle funzionalità di IntelliSense C++. Per informazioni su come configurare il progetto per IntelliSense e su come risolvere i problemi, vedere Configurare un progetto C++ per IntelliSense.

Funzionalità di IntelliSense in C++

IntelliSense è un nome assegnato a un set di funzionalità che semplificano la codifica. Poiché persone diverse hanno idee diverse su ciò che è pratico, praticamente tutte le funzionalità di IntelliSense possono essere abilitate o disabilitate nella finestra di dialogo Opzioni, in Editor> di testoC/C++>Avanzate. La finestra di dialogo Opzioni è disponibile dal menu Strumenti sulla barra dei menu.

Finestra di dialogo Opzioni strumento

È possibile usare le voci di menu e i tasti di scelta rapida mostrati nell'immagine seguente per accedere a IntelliSense.

Menu IntelliSense

Completamento istruzioni ed elenco di membri

Quando si inizia a digitare una parola chiave, un tipo, una funzione, un nome di variabile o un altro elemento programma riconosciuto dal compilatore, l'editor offre di completare automaticamente la parola.

Finestra di Word completa di Visual C++

La prima volta che si richiama l'elenco dei membri, vengono visualizzati solo i membri accessibili per il contesto corrente. Se si preme CTRL+J in seguito, vengono visualizzati tutti i membri indipendentemente dall'accessibilità. Se la si richiama una terza volta, viene visualizzato un elenco ancora più ampio di elementi del programma. È possibile disattivare l'elenco dei membri nella finestra di dialogo Opzioni, in Editor di testo>C/C++>Generale>Membri elenco automatico.

Elenco membri di Visual C++

Guida ai parametri

Quando si digita una parentesi graffa di apertura di un richiamo di funzione o una parentesi angolare su una dichiarazione di variabile del modello di classe, nell'editor viene visualizzata una piccola finestra con i tipi di parametro per ogni overload della funzione o del costruttore. Il parametro "current", in base alla posizione del cursore, è in grassetto. È possibile disattivare le informazioni sui parametri nella finestra di dialogo Opzioni in Editor> di testoC/C++>Informazioni generali>sui parametri.

Guida ai parametri di Visual C++

Informazioni rapide

Quando si passa il puntatore del mouse su una variabile, viene visualizzata una piccola finestra inline che mostra le informazioni sul tipo e l'intestazione in cui è definito il tipo. Passare il puntatore del mouse su una chiamata di funzione per visualizzare la firma della funzione. È possibile disattivare Informazioni rapide nella finestra di dialogo Opzioni, in Editor> di testoC/C++>Informazioni rapide automatiche>.

Informazioni rapide su Visual C++

Segnalazioni di errore

Squiggles sotto un elemento del programma (variabile, parola chiave, parentesi, nome del tipo e così via) richiamano l'attenzione su un errore o un potenziale errore nel codice. Quando si scrive una dichiarazione anticipata, viene visualizzata una sottolineatura verde per ricordare che è ancora necessario scrivere l'implementazione. Un'ondulazione viola appare in un progetto condiviso quando c'è un errore nel codice che non è attualmente attivo, ad esempio quando si lavora nel contesto di Windows ma si immette qualcosa che sarebbe un errore in un contesto Android. Una sottolineatura ondulata rossa nel codice attivo indica un errore o un avviso del compilatore che è necessario gestire.

Squiggles di errore di Visual C++

Colorazione e tipi di carattere del codice

I colori e i tipi di carattere predefiniti possono essere modificati nella finestra di dialogo Opzioni, inTipi di carattere e colori>. È possibile modificare i tipi di carattere per molte finestre dell'interfaccia utente qui, non solo l'editor. Le impostazioni specifiche di C++ iniziano con "C++"; le altre impostazioni sono per tutte le lingue.

IntelliSense per piattaforme multiple

In un progetto di codice condiviso, alcune funzionalità di IntelliSense, ad esempio gli squiggle, sono disponibili anche quando si lavora in un contesto Android. Quando si scrive codice che genera un errore in un progetto inattivo, IntelliSense mostra ancora gli squiggles, ma sono di un colore diverso rispetto agli squiggles per gli errori nel contesto corrente.

Si consideri un'applicazione OpenGLES configurata per la compilazione per Android e iOS. La figura mostra il codice condiviso da modificare. In questa immagine il progetto attivo è iOS.StaticLibrary:

iOS è selezionato come progetto attivo.

Si noti quanto segue:

  • Il #ifdef ramo nella riga 6 è disattivato per indicare un'area inattiva, perché __ANDROID__ non è definita per il progetto iOS.

  • La variabile greeting alla riga 11 viene inizializzata con l'identificatore HELLO, che ora ha una sottolineatura ondulata rossa. Ciò è dovuto al fatto che non è definito alcun identificatore HELLO nel progetto iOS attualmente attivo.

  • La riga 12 ha una sottolineatura ondulata viola sull'identificatore BYE perché questo identificatore non è attualmente definito nel progetto Android.NativeActivity inattivo. Anche se questa riga viene compilata quando iOS è il progetto attivo, non verrà compilata quando Android è il progetto attivo. Poiché si tratta di codice condiviso, è necessario correggere il codice anche se viene compilato nella configurazione attualmente attiva.

Se si imposta il progetto attivo su Android, la sottolineatura ondulata cambia:

  • Il #else ramo sulla riga 8 è disattivato per indicare un'area inattiva, perché __ANDROID__ è definita per il progetto Android.

  • La variabile greeting alla riga 11 viene inizializzata con l'identificatore HELLO, contrassegnato da una linea ondulata viola. Questo perché non è definito alcun identificatore HELLO nel progetto iOS attualmente inattivo.

  • La riga 12 ha una linea ondulata rossa sull'identificatore BYE perché non è definito nel progetto attivo.

IntelliSense per i file indipendenti

Quando si apre un singolo file all'esterno di qualsiasi progetto, si ottiene comunque IntelliSense. È possibile abilitare o disabilitare determinate funzionalità di IntelliSense nella finestra di dialogo Opzioni, in Editor> di testoC/C++>Avanzate. Per configurare IntelliSense per singoli file che non fanno parte di un progetto, cercare la sezione IntelliSense ed esplorare i file non di progetto .

IntelliSense per file singolo di Visual C++

Per impostazione predefinita, IntelliSense utilizza solo le directory di inclusione standard per cercare i file di intestazione. Per aggiungere altre directory, aprire il menu di scelta rapida nel nodo Soluzione e aggiungere la directory all'elenco Debug codice sorgente , come illustrato nella figura seguente:

Aggiunta di un percorso a un file di intestazione.

Abilitare o disabilitare le funzionalità

Poiché persone diverse hanno idee diverse su ciò che è pratico, praticamente tutte le funzionalità di IntelliSense possono essere abilitate o disabilitate nella finestra di dialogo Opzioni, in Editor> di testoC/C++>Avanzate. La finestra di dialogo Opzioni è disponibile dal menu Strumenti sulla barra dei menu.

Finestra di dialogo Opzioni strumento