Descrizioni comandi di informazioni parametri
La descrizione comando di informazioni parametri di IntelliSense fornisce agli utenti con suggerimenti su cui sono in un costrutto di linguaggio.
Funzionamento delle descrizioni comandi di informazioni parametri
Quando si digita un'istruzione nell'editor, il package VS visualizzare una breve descrizione comandi contenente la definizione dell'istruzione digitato. Ad esempio, se vi è alcuna istruzione MFC (MFC) (come pMainFrame ->UpdateWindow) e si preme il tasto della parentesi di apertura ai parametri dell'elenco di inizio, un suggerimento di metodo verrà visualizzata la definizione del metodo di UpdateWindow .
Le descrizioni comandi di informazioni parametri vengono generalmente utilizzate insieme al completamento delle istruzioni. Sono più utili per i linguaggi che accettano i parametri o altre informazioni formattate dopo il nome del metodo o la parola chiave.
Le descrizioni comandi di informazioni parametri vengono avviate dal servizio di linguaggio con intercettazione del comando. Per intercettare i caratteri singoli, l'oggetto di servizio di linguaggio deve implementare l'interfaccia di IOleCommandTarget e passare alla visualizzazione di testo un puntatore all'implementazione di IOleCommandTarget , chiamando il metodo di AddCommandFilter interfaccia di IVsTextView . Il filtro del comando rileva i controlli digitato nella finestra del codice. Monitorare le informazioni sui comandi per sapere quando vengono visualizzate le informazioni dei parametri all'utente. È possibile utilizzare lo stesso filtro per il completamento delle istruzioni, i marcatori dal comando di errori, e così via.
Quando si digita una parola chiave per il quale il servizio di linguaggio possibile fornire suggerimenti, il servizio di linguaggio crea un oggetto di IVsMethodTipWindow e chiama il metodo di UpdateTipWindow interfaccia di IVsTextView per notificare all'IDE per visualizzare un suggerimento. Creare l'oggetto di IVsMethodTipWindow utilizzando VSLocalCreateInstance e di definire la coclasse CLSID_VsMethodTipWindow. VsLocalCreateInstance è una funzione definita nel file di intestazione vsdoc.h che chiama QueryService per il Registro di sistema locale e chiama CreateInstance su questo oggetto per CLSID_VsMethodTipWindow.
Fornire un suggerimento di metodo
Per fornire un suggerimento di metodo, chiamare il metodo di SetMethodData interfaccia di IVsMethodTipWindow , passando l'implementazione dell'interfaccia di IVsMethodData .
Quando la classe di IVsMethodData viene richiamata, i relativi metodi vengono chiamati nell'ordine seguente:
-
Restituisce la posizione e la lunghezza dei dati pertinenti nel buffer di testo corrente. Ciò fa in modo che l'ide non per nascondere i dati con la descrizione comandi.
-
Restituisce il numero di metodo (indice a base zero) che si desidera visualizzare inizialmente. Ad esempio, viene restituito pari a zero, il primo metodo di overload inizialmente è verificato.
-
Restituisce il numero di metodi di overload che sono applicabili nel contesto corrente. Se viene restituito un valore maggiore di 1 per questo metodo, visualizza la visualizzazione di testo verso l'alto e verso il basso le frecce automaticamente. Se si fa clic sulla freccia in giù, l'ide chiama il metodo di NextMethod . Se si fa clic sulla freccia in su, l'ide chiama il metodo di PrevMethod .
-
The text of the Parameter Info tooltip is constructed during several calls to the GetMethodText and GetParameterText methods.
-
Restituisce il numero di parametri per visualizzare il metodo.
-
Se viene restituito un numero di metodo che corrisponde all'overload che si desidera visualizzare, questo metodo viene chiamato, seguito da una chiamata al metodo di UpdateView .
-
Notifica al servizio di linguaggio per aggiornare l'editor quando un suggerimento di metodo visualizza. Nel metodo di UpdateView , chiamare i seguenti:
<pTxWin> ->UpdateTipWindow(<pTip>, UTW_CONTENTCHANGED | UTW_CONTEXTCHANGED).
-
Si riceve una chiamata al metodo di OnDismiss quando si chiude la finestra dell'hint del metodo.