IntelliSense Word completo (managed package Framework)
Il completamento di Word vengono inseriti i caratteri mancanti a una parola parzialmente tipizzata. Se c " è un solo completamento possibile, la parola è completa quando il carattere di terminazione è inserito. Se le corrispondenze di parole parziali più possibilità, un elenco di completamenti possibili visualizzare. Un carattere di terminazione può essere qualsiasi carattere non utilizzato per gli identificatori.
La procedura di implementazione
Quando l'utente seleziona completare Word dal menu di IntelliSense , il comando di COMPLETEWORD viene inviato al servizio di linguaggio.
la classe di ViewFilter intercetta il comando e chiama il metodo di Completion con il motivo di analisi di CompleteWord.
La classe di Source chiama quindi il metodo di ParseSource per ottenere l'elenco di completamenti possibili di parole e quindi vengono visualizzate le parole in un elenco di descrizione comandi utilizzando la classe di CompletionSet .
Se c " è solo una parola corrispondente, la classe di Source completa la parola.
In alternativa, se lo scanner restituisce il valore MemberSelect trigger quando il primo carattere di un identificatore viene digitato, la classe di Source rileva questa e chiama il metodo di Completion con il motivo di analisi di MemberSelect. In questo caso il parser deve rilevare la presenza di carattere di selezione dei membri e fornire un elenco di membri.
Abilitare il supporto di Word completo
Per abilitare il supporto per il completamento delle parole imposta il parametro denominato di CodeSense passato all'attributo dell'utente di ProvideLanguageServiceAttribute associato al pacchetto di linguaggio. Questo imposta la proprietà di EnableCodeSense sulla classe di LanguagePreferences .
Il parser deve restituire un elenco delle dichiarazioni in risposta al valore di analisi CompleteWorddi motivo, per il completamento delle parole funzioni.
L'implementazione Completa parola nel metodo di ParseSource
Per il completamento di parola, la classe di Source chiama il metodo di GetDeclarations sulla classe di AuthoringScope per ottenere un elenco delle corrispondenze di parole possibili. È necessario distribuire l'elenco nella classe derivata dalla classe di Declarations . Vedere la classe di Declarations per informazioni dettagliate sui metodi che devono essere implementati.
Se l'elenco contiene solo una un'unica parola, quindi di Source della classe inserisce automaticamente che esprimono anziché la parola parziale. Se l'elenco contiene più parole, la classe di Source contiene un elenco di descrizione comandi dal quale l'utente può selezionare la scelta appropriata.
Inoltre aspetto esempio di implementazione della classe di Declarations in Completamento dei membri di IntelliSense (managed package Framework).