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


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

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

Параметры пользователей цветного элементов

Можно отобразить Шрифты и цвета диалоговое окно " выбор Параметры на Сервис меню, а затем выбрав Шрифты и цвета под Среда. При выборе отображения как Текстовый редактор OR Окно команд" Отображаемые элементы список отображает все цветного элементов для отображения. Можно просмотреть и изменить шрифт, размер, цвет и цвет фона для каждого цветного элемента. Выбранные пользователем варианты сохраняются в кэше в реестре и осуществляется цветного именем элемента.

Представление цветного элементов

Так как пользователь дескрипторов среды разработки переопределяет цветного элементов в Шрифты и цвета диалоговое окно " необходимо только указать каждый пользовательский цветного элемента с именем. Это имя отображается в Отображаемые элементы список. Цветного элементы отображаются в алфавитном порядке. Позволяет группировать элементы языковой службы пользовательские цветного можно разрабатывать каждое имя с именем языка, например NewLanguage - комментарий и NewLanguage - ключевое слово.

Предупреждение

Необходимо включить имя языка в цветного имени элемента, чтобы избежать конфликтов с существующими именами цветного элемента.При изменении имени одного из цветного элементов во время разработки, необходимо сбросить кэш, который был создан при первом доступе к элементам помощью цветного был.Можно сбросить экспериментальном кэш со средством vsregex.С помощью командной строки vsregex GetOrig 10.0 Expзаменяющ соответствующее расширение имени, версии и реестра для вашей версии Visual Studio.Средство устанавливается с vsregex SDK для Visual Studio.Дополнительные сведения о vsregex см. в разделе "командная строка" in VsRegEx экспериментальный экземпляр Visual Studio.

Первый элемент в списке цветного элементов никогда не ссылаются. Первый элемент соответствует индекс цветного элемента 0 и Visual Studio всегда передает по умолчанию текстовые цвета и атрибутов этого элемента. Самый простой способ работать с этим элементом предоставить прототип цветного на элемент в списке как первый элемент.

Реализация пользовательских цветного элементы

  1. Укажите, что должна быть colorized в своем языке, например ключевом слове, операторов и идентификатора.

  2. Создайте перечисление этих цветного элементов.

  3. Свяжите типы токена, возвращаемые из анализатора или читателя с перечисленными значениями.

    Например, значения, представляющие типы токена, могут быть одинаковыми значениями в пользовательском цветного перечислении элементов.

  4. В реализации ColorizeLine метод в своем IVsColorizer объект, заполнить список атрибутов значениями из пользовательского цветного перечисления элементов, соответствующих типам токена, возвращаемым из анализатора или средства чтения.

  5. В одном и том же классе, который реализует GetColorableItemинтерфейс реализует IVsLanguageInfo интерфейс и его методов, 2 IVsProvideColorableItems и GetItemCount .

  6. Реализуйте интерфейс IVsColorableItem.

  7. Если требуется поддержка 24 бита или значения высокого цвета, то также реализовать IVsHiColorItem интерфейс.

  8. В объекте службы языка, создайте список, в котором содержится IVsColorableItem объекты, по одному для каждого цветного элемента пользовательское средство синтаксического анализа или средство чтения может указать.

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

  9. В реализации GetItemCount метод возвращает количество элементов в пользовательском цветного списке элементов.

  10. В реализации GetColorableItem метод возвращает запрошенный элемент цветного из списка.

Пример реализации IVsColorableItem и IVsHiColorItem интерфейсы см. в разделе IVsHiColorItem.

См. также

Задачи

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

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

Модель службы языка

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

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

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