Colorazione della sintassi nell'editor personalizzati
Gli editor dell'ambiente SDK di Visual Studio, compresi l'editor principale, utilizzano servizi di linguaggio per identificare gli elementi sintattici specifici e visualizzare con colori specificati per una specifica visualizzazione del documento.
requisiti di colorazione
tutti gli editor che implementano il colorizer di un servizio di linguaggio devono:
Utilizzare un oggetto che implementa IVsTextBuffer per gestire il testo i colori e un oggetto che implementa IVsTextView per fornire una visualizzazione del documento di testo.
Ottenere un'interfaccia a un servizio di linguaggio particolare eseguire una query sul provider di servizi del package VS che utilizza il GUID di identificazione del servizio di.
Chiamare il metodo di SetLanguageServiceID dell'oggetto che implementa IVsTextBuffer. Questo metodo associa il servizio di linguaggio tramite l'implementazione di IVsTextBuffer che il package VS utilizza per gestire il testo che deve essere coloratoe.
Svuotare l'utilizzo dell'editor di Colorizer di un servizio di linguaggio
Quando un servizio di linguaggio con un colorizer viene ottenuto da un'istanza dell'editor principale, l'analisi e il rendering del testo da colorizer di un servizio di linguaggio si verifica automaticamente senza richiedere l'intervento nuovo sulla parte.
L'ide transparent:
Chiama il colorizer in base alle necessità per analizzare e analizzare il testo quando viene aggiunto o modificato nell'implementazione di IVsTextBuffer.
Verificare che la visualizzazione fornita dalla visualizzazione del documento fornite dall'implementazione di IVsTextView viene aggiornata e aggiornata utilizzando le informazioni restituite dal colorizer.
Utilizzo non fondamentale dell'editor di Colorizer di un servizio di linguaggio
Le istanze non fondamentali dell'editor possono inoltre utilizzare il servizio di colorazione della sintassi di un servizio di linguaggio, ma devono esplicitamente recuperare e applicare il colorizer del servizio e aggiornare lo corrispondente documento è visualizzazioni.
Per eseguire questa operazione richiede un editor non fondamentale:
Ottenere l'oggetto del colorizer di un servizio di linguaggio (che implementa T:Microsoft.VisualStudio.TextManager.Interop.IVsColorizer e IVsColorizer2). Il package VS questa operazione chiamando il metodo di GetColorizer sull'interfaccia del servizio di linguaggio.
Chiamare il metodo di ColorizeLine per richiedere che un intervallo specifico di testo sia colorata.
Il metodo di ColorizeLine restituisce una matrice di valori, uno per ogni lettera intervallo di testo che si colorato. Identifica inoltre l'intervallo di testo come determinato tipo di elemento il colore, ad esempio un commento, una parola chiave, o un tipo di dati.
Use the colorization information returned by ColorizeLine to repaint and display its text.
Nota
Oltre a utilizzare il colorizer di un servizio di linguaggio, un VSPackage possibile scegliere di utilizzare il meccanismo di utilizzo generale di testo-colorazione dell'ambiente SDK di Visual Studio.per ulteriori informazioni su questo meccanismo, vedere Tipi di carattere.
Vedere anche
Attività
Procedura: utilizzare gli elementi colorabili incorporati