Поделиться через


раскраска синтаксических конструкций в специализированных редакторах

Редакторы пакет SDK для среды Visual Studio, в том числе редактором, используют языковой службы, чтобы определить конкретные синтаксических элементов, и отобразить их с указанными цветами для данного представления документа.

Требования к колоризации

Все редакторы, реализующий colorizer языковой службы.

  1. Используйте реализация объекта IVsTextBuffer управление текст, который необходимо colorized и реализация объекта IVsTextView представления рисования текста.

  2. Получите интерфейс к определенной службе языка, запрашивая поставщиков услуг VSPackage, используя идентификатор GUID службы языков, определяющий.

  3. Вызовите SetLanguageServiceID метод реализации объекта IVsTextBuffer. Этот метод связывает службу языка с IVsTextBuffer реализация которой VSPackage использует для управления текст, который должен colorized.

Потребление основные Colorizer службы языка редактора

Когда служба языка с colorizer получена экземпляром редактора, анализа и отображения текста colorizer языковой службы происходят автоматически, без необходимости любой более добавочной вмешательства со стороны пользователя.

Интегрированная среда разработки явным образом:

  • Вызывает colorizer, необходимыми для синтаксического анализа и анализа текста, так как оно добавляется или изменяется в реализации IVsTextBuffer.

  • Обеспечивает отображение предоставленный представлением документа, предоставленных IVsTextView реализация обновления и обновления, используя сведения, возвращаемые методом colorizer.

Потребление редактора Non-сердечника Colorizer службы языка

Экземпляры редактора Non-сердечника также могут использовать службу колоризации синтаксиса языковой службы, но они должны явно получить и применить colorizer службы и обновлять их документ обзор.

Для этого требуется редактора non-сердечника:

  1. Получите объект colorizer языковой службы (который реализует T:Microsoft.VisualStudio.TextManager.Interop.IVsColorizer и IVsColorizer2). В VSPackage делает это путем вызова GetColorizer метод в интерфейсе языковой службы.

  2. Вызовите ColorizeLine метод, чтобы запросить был colorized указанный диапазон текста.

    ColorizeLine метод возвращает массив значений, по одному для каждого символа в colorized объеме текста. Он также определяет диапазон текста, что и заданный тип цветного элемента, в виде комментария, ключевое слово и тип данных.

  3. Используйте сведения о колоризации возвращаемые by ColorizeLine обновление и отображения его текст.

Примечание

В дополнение к использованию colorizer языковой службы, VSPackage может выбрать для использования общецелевого механизма текст-расцветки пакет SDK для среды Visual Studio.Дополнительные сведения об этом механизме см. в разделе Шрифты.

См. также

Задачи

Практическое руководство. Использование встроенных Colorable элементов

Основные понятия

раскраска синтаксических конструкций

Реализация раскраску синтаксических конструкций

Пользовательские элементы Colorable