Barevné zvýrazňování syntaxe ve vlastních editorech
Editory sady Visual Studio Environment SDK, včetně základního editoru, používají jazykové služby k identifikaci konkrétních syntaktických položek a jejich zobrazení s určenými barvami pro dané zobrazení dokumentu.
Požadavky na obarvení
Všechny editory, které implementují zabarvení služby jazyka, musí:
Pomocí implementace IVsTextBuffer objektu můžete spravovat text, který se má obarvit, a objekt implementovaný IVsTextView k poskytnutí zobrazení dokumentu textu.
Získejte rozhraní pro konkrétní službu jazyka dotazováním poskytovatele služeb VSPackage pomocí identifikátoru GUID služby jazyků.
SetLanguageServiceID Volání metody objekt implementace IVsTextBuffer. Tato metoda přidruží jazykovou službu k IVsTextBuffer implementaci, kterou sada VSPackage používá ke správě textu, který má být obarvený.
Použití zabarvení základního editoru služby jazyka
Když je služba jazyka se zabarvením získána instancí základního editoru, analýza a vykreslování textu pomocí zabarvení jazyka služby jazyka se automaticky provede bez nutnosti dalšího zásahu na vaši část.
Integrované vývojové prostředí (IDE) transparentně:
Volá zabarvení podle potřeby k analýze a analýze textu při jeho přidání nebo úpravě při implementaci IVsTextBuffer.
Zajišťuje, že zobrazení poskytované zobrazením dokumentu poskytnutém IVsTextView implementací se aktualizuje a znovu nakreslí pomocí informací vrácených barvidlem.
Použití zabarvení jiného než základního editoru služby jazyka
Instance editoru, které nejsou jádry, můžou také používat službu zabarvení syntaxe služby jazyka, ale musí explicitně načíst a použít zabarvení služby a znovu nakreslit zobrazení dokumentu sama.
K tomu musí editor bez jádra:
Získejte objekt zabarvení služby jazyka (který implementuje IVsColorizer a IVsColorizer2). Balíček VSPackage to provede voláním GetColorizer metody v rozhraní jazykové služby.
Zavolejte metodu ColorizeLine , která požaduje, aby se určité rozsahy textu obarvené.
Metoda ColorizeLine vrátí matici hodnot, jedno pro každé písmeno v textu, které se obarvené. Identifikuje také rozsah textu jako určitý typ barevné položky, například komentář, klíčové slovo nebo datový typ.
Pomocí informací o obarvení vrácených ColorizeLine k překreslení a zobrazení jeho textu.
Poznámka:
Kromě použití zabarvení jazykové služby se sada VSPackage může rozhodnout, že použije mechanismus pro barvení textu sady Visual Studio Environment SDK pro obecné účely. Další informace o tomto mechanismu naleznete v tématu Použití písem a barev.