раскраска синтаксических конструкций в специализированных редакторах
Редакторы пакет SDK для среды Visual Studio, в том числе редактором, используют языковой службы, чтобы определить конкретные синтаксических элементов, и отобразить их с указанными цветами для данного представления документа.
Требования к колоризации
Все редакторы, реализующий colorizer языковой службы.
Используйте реализация объекта IVsTextBuffer управление текст, который необходимо colorized и реализация объекта IVsTextView представления рисования текста.
Получите интерфейс к определенной службе языка, запрашивая поставщиков услуг VSPackage, используя идентификатор GUID службы языков, определяющий.
Вызовите SetLanguageServiceID метод реализации объекта IVsTextBuffer. Этот метод связывает службу языка с IVsTextBuffer реализация которой VSPackage использует для управления текст, который должен colorized.
Потребление основные Colorizer службы языка редактора
Когда служба языка с colorizer получена экземпляром редактора, анализа и отображения текста colorizer языковой службы происходят автоматически, без необходимости любой более добавочной вмешательства со стороны пользователя.
Интегрированная среда разработки явным образом:
Вызывает colorizer, необходимыми для синтаксического анализа и анализа текста, так как оно добавляется или изменяется в реализации IVsTextBuffer.
Обеспечивает отображение предоставленный представлением документа, предоставленных IVsTextView реализация обновления и обновления, используя сведения, возвращаемые методом colorizer.
Потребление редактора Non-сердечника Colorizer службы языка
Экземпляры редактора Non-сердечника также могут использовать службу колоризации синтаксиса языковой службы, но они должны явно получить и применить colorizer службы и обновлять их документ обзор.
Для этого требуется редактора non-сердечника:
Получите объект colorizer языковой службы (который реализует T:Microsoft.VisualStudio.TextManager.Interop.IVsColorizer и IVsColorizer2). В VSPackage делает это путем вызова GetColorizer метод в интерфейсе языковой службы.
Вызовите ColorizeLine метод, чтобы запросить был colorized указанный диапазон текста.
ColorizeLine метод возвращает массив значений, по одному для каждого символа в colorized объеме текста. Он также определяет диапазон текста, что и заданный тип цветного элемента, в виде комментария, ключевое слово и тип данных.
Используйте сведения о колоризации возвращаемые by ColorizeLine обновление и отображения его текст.
Примечание
В дополнение к использованию colorizer языковой службы, VSPackage может выбрать для использования общецелевого механизма текст-расцветки пакет SDK для среды Visual Studio.Дополнительные сведения об этом механизме см. в разделе Шрифты.
См. также
Задачи
Практическое руководство. Использование встроенных Colorable элементов
Основные понятия
раскраска синтаксических конструкций