Classe AuthoringSink
Questa classe viene utilizzata dal parser per raccogliere informazioni sul database di origine che viene analizzato.
Questa API non è conforme a CLS.
Gerarchia di ereditarietà
System.Object
Microsoft.VisualStudio.Package.AuthoringSink
Spazio dei nomi: Microsoft.VisualStudio.Package
Assembly: Microsoft.VisualStudio.Package.LanguageService.9.0 (in Microsoft.VisualStudio.Package.LanguageService.9.0.dll)
Microsoft.VisualStudio.Package.LanguageService (in Microsoft.VisualStudio.Package.LanguageService.dll)
Microsoft.VisualStudio.Package.LanguageService.11.0 (in Microsoft.VisualStudio.Package.LanguageService.11.0.dll)
Microsoft.VisualStudio.Package.LanguageService.10.0 (in Microsoft.VisualStudio.Package.LanguageService.10.0.dll)
Sintassi
'Dichiarazione
<CLSCompliantAttribute(False)> _
Public Class AuthoringSink
[CLSCompliantAttribute(false)]
public class AuthoringSink
Il tipo AuthoringSink espone i seguenti membri.
Costruttori
Nome | Descrizione | |
---|---|---|
AuthoringSink | inizializza AuthoringSink classe. |
In alto
Proprietà
Nome | Descrizione | |
---|---|---|
BraceMatching | Indica se la corrispondenza di parentesi graffe viene eseguita per un'operazione di analisi. | |
Column | Ottiene la colonna l'analisi avviata in precedenza. | |
FindNames | Indica se gli identificatori devono essere trovati. | |
FoundMatchingBrace | Barre di avanzamento se una coppia esatta delle parentesi graffe è stato aggiunto all'interno. | |
HiddenRegions | Indica se le aree nascoste devono essere elaborate durante l'operazione di analisi. | |
Line | Restituisce la riga che l'operazione di analisi abbia iniziato su. | |
MethodParameters | Indica se elaborare i parametri del metodo durante l'operazione di analisi. | |
ProcessHiddenRegions | Indica se aggiornare aree nascoste. | |
Reason | Restituisce il motivo che l'operazione di analisi è stata avviata. |
In alto
Metodi
Nome | Descrizione | |
---|---|---|
AddError | Aggiunge un errore nel messaggio di traccia per la generazione successiva. | |
AddHiddenRegion(NewHiddenRegion) | aggiunge specificato NewHiddenRegion oggetto all'elenco nascosto interno delle aree. | |
AddHiddenRegion(TextSpan) | Aggiunge una nuova area nascosta all'interno basato su specificato TextSpan oggetto. | |
AddHiddenRegion(TextSpan, String) | ||
AutoExpression | Aggiunge l'intervallo di un'espressione in un elenco interno. | |
CodeSpan | Verrà aggiunta una sezione di codice eseguibile a un elenco interno. | |
EndParameters | Chiamato per indicare la fine dell'elenco di parametri di un metodo. | |
Equals | Determina se l'oggetto specificato equivale all'oggetto corrente. (Ereditato da Object) | |
Finalize | Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulitura prima che l'oggetto stesso venga recuperato dalla procedura di Garbage Collection. (Ereditato da Object) | |
GetHashCode | Funge da funzione hash per un determinato tipo. (Ereditato da Object) | |
GetType | Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) | |
MatchMultiple | ||
MatchPair | Chiamato per aggiungere gli intervalli dei due elementi creati in un elenco interno. | |
MatchTriple | Chiamato per aggiungere una corrispondenza dispone di tre elementi a un elenco interno. | |
MemberwiseClone | Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object) | |
NextParameter | Chiamato quando analizza un elenco di parametri del metodo e il carattere separatore di parametro è stato analizzato. | |
QualifyName | Chiamato per indicare la posizione di un riferimento al membro. | |
StartName | Chiamato quando un identificatore viene analizzato. | |
StartParameters | Chiamato all'inizio dell'elenco di parametri di un metodo. | |
ToString | Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
In alto
Note
Una creazione di istanze di questa classe viene utilizzata in modo esteso dal parser per memorizzare i vari elementi che consentono di migliorare le funzionalità seguenti:
segnalazione errori.
corrispondenza di parentesi graffe.
La selezione dei membri di IntelliSense, completa Word, le informazioni rapide e i suggerimenti di metodo.
aree nascoste.
Gestione dei contenuti di automobili finestra del debugger.
Convalida del punto di interruzione.
La classe base supporta tutti ma le ultime due funzionalità.
Errori
La classe base utilizza un inner ArrayList chiamato errors per contenere gli errori rilevati durante l'analisi.Questo elenco viene visualizzato alla fine di un'operazione di analisi completa di ogni messaggio di errore in un elemento dell'elenco attività chiamando CreateErrorTaskItem e aggiungendolo Elenco errori finestra di attività.Questi errori sono indicati anche nel file di origine stesso come linee ondulate sotto del codice presente in errore.Questa operazione è gestita automaticamente dalle classi di MPF.AuthoringSink il costruttore della classe accetta un parametro che specifica il numero massimo di errori che possono essere mantenute dalla classe.
corrispondenza di parentesi graffe
La classe base utilizza un inner ArrayList chiamato Braces per contenere le coppie di corrispondenza degli elementi del linguaggio (ad esempio “{„ e “} ") nonché corrispondere triplicano (ad esempio “for()“,„{“e„}").Una classe base chiamata BraceMatch viene utilizzato per la corrispondenza delle coppie mentre una classe derivata ha chiamato TripleMatch aggiunge le informazioni per un terzo elemento del linguaggio.chiamare MatchTriple e BraceMatching i metodi viene eseguita solo quando il motivo per l'analisi può corrispondere le parentesi graffe (vedere di MatchPair proprietà per informazioni dettagliate sui motivi precisi).Vedere la sezione Esempio di MatchTripleper una descrizione di TripleMatch classificare e vedere la sezione Esempio di di BraceMatch per una descrizione di di MatchPairclasse.
IntelliSense
IntelliSense avrà almeno quattro modi distinti che possono essere supportate dal servizio di linguaggio.questi sono:
selezione di membri: Questa opzione fornisce un elenco di membri per l'ambito corrente, in genere forniti dopo l'utente digita un carattere specifico.Ad esempio, se l'utente digita un nome di variabile seguito da “.„ quindi un elenco di membri per il tipo della variabile vengono visualizzati per la selezione.
completare Word: Questa opzione offre un elenco di completamenti possibili per una parola che viene inserita dall'utente.
informazioni rapide: Questa opzione offre informazioni su un identificatore.In questo modo viene attivata dall'utente che utilizza il cursore del mouse sull'identificatore o posizionando il cursore di modifica su un identificatore e selezionando informazioni rapide da IntelliSense menu.
suggerimento di metodo: Questa opzione offre le informazioni dei parametri per consentire all'utente la mentre fornisce un metodo e i relativi parametri.Una descrizione comandi contenente una delle possibili diversi forma di overload del metodo con parametri.Quando l'utente immette ogni parametro, la descrizione comandi viene aggiornata per riflettere il parametro tipizzato.
Tutte queste modalità supportate con i metodi QualifyName e MethodCallsed elenchi interni Names, SourceLocationse di StartName .MethodCalls viene utilizzato per tenere traccia delle firme del metodo quando vengono analizzati.Names e SourceLocations vengono utilizzati per tenere traccia dei parametri del metodo quando analizza un elenco di parametri del metodo.si noti che per ogni nome in Names elencare, esiste una corrispondenza TextSpan oggetto in SourceLocations elenco.
aree nascoste
Le aree nascoste sono sezioni di codice che possono eventualmente essere attivata dalla visualizzazione dall'utente.Queste aree in genere utilizzate come componente di supporto per descrivere dove ogni metodo e classe possono essere compresse in una singola riga, l'esecuzione di rendere più chiara globale della struttura della classe.Alcuni linguaggi supportano le aree nascoste specifiche alle parole chiave specifiche.Ad esempio, utilizza c# #regiono#endregion per inquadrare un'area che l'utente in genere desidera nascosto.Un'area nascosta è indicata da a TextSpan oggetto di cui viene eseguito il wrapping in un oggetto NewHiddenRegion oggetto che a sua volta archiviato in una matrice interna denominata hiddenRegions.Le aree nascoste vengono aggiunti chiamando AddHiddenRegion.
automobili
Durante il debug, automobili la finestra è possibile visualizzare tutte le variabili locali e parametri disponibili in un determinato ambito di uno stack frame.Il servizio di linguaggio possibile supportare queste variabili individuandole durante l'analisi.Ciò consente automobili finestra da aggiornare in modo dinamico durante la modifica durante il debug.la classe di base AuthoringSink non supporta le automobili pertanto è necessario derivare una classe da AuthoringSink classificare e distribuire AutoExpression metodo.
Convalida del punto di interruzione
Quando un punto di interruzione viene posizionato, non convalidare la posizione del punto di interruzione fino al debug effettivamente avviata e il motore di debug è stato caricato.Se i supporti del servizio di linguaggio che identificano le sezioni valide di codice in cui un punto di interruzione può essere inserito, quindi di queste informazioni possono essere utilizzati per convalidare la posizione dei punti di interruzione senza caricare il motore di debug.Si noti che il motore di debug è sempre il giudice finale durante la convalida le posizioni del punto di interruzione ma il servizio di linguaggio possibile fornire feedback rapido all'utente.la classe di base AuthoringSink non supporta la convalida del punto di interruzione pertanto è necessario derivare una classe da AuthoringSink classificare e distribuire CodeSpan metodo.
Note per gli implementatori
Se le espressioni di supportare del servizio di linguaggio in automobili finestra o punti di interruzione convalidare in un intervallo di codice, è necessario derivare una classe da AuthoringSink classe ed eseguire l'override dei metodi appropriati (AutoExpression e CodeSpan).Eseguire l'override CreateAuthoringSink metodo in Source classe per creare un'istanza della versione di AuthoringSink classe.AuthoringSink viene creata un'istanza della classe ogni qualvolta un'operazione di analisi viene chiamata per.
Note per i chiamanti
Questa classe viene eseguito in vari punti in Source una classe per gestire la corrispondenza di parentesi graffe, IntelliSense e la segnalazione di errori.
suggerimento: Quando si implementa una classe derivata da AuthoringScope, aggiungere un campo alla classe per archiviare AuthoringSink oggetto creato per ParseRequest oggetto.questa modalità, AuthoringScope l'oggetto può accedere a tutte le informazioni archiviate in AuthoringSink oggetto.
Codice thread safe
Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.