Пользовательские элементы 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 всегда передает по умолчанию текстовые цвета и атрибутов этого элемента. Самый простой способ работать с этим элементом предоставить прототип цветного на элемент в списке как первый элемент.
Реализация пользовательских цветного элементы
Укажите, что должна быть colorized в своем языке, например ключевом слове, операторов и идентификатора.
Создайте перечисление этих цветного элементов.
Свяжите типы токена, возвращаемые из анализатора или читателя с перечисленными значениями.
Например, значения, представляющие типы токена, могут быть одинаковыми значениями в пользовательском цветного перечислении элементов.
В реализации ColorizeLine метод в своем IVsColorizer объект, заполнить список атрибутов значениями из пользовательского цветного перечисления элементов, соответствующих типам токена, возвращаемым из анализатора или средства чтения.
В одном и том же классе, который реализует GetColorableItemинтерфейс реализует IVsLanguageInfo интерфейс и его методов, 2 IVsProvideColorableItems и GetItemCount .
Реализуйте интерфейс IVsColorableItem.
Если требуется поддержка 24 бита или значения высокого цвета, то также реализовать IVsHiColorItem интерфейс.
В объекте службы языка, создайте список, в котором содержится IVsColorableItem объекты, по одному для каждого цветного элемента пользовательское средство синтаксического анализа или средство чтения может указать.
Можно открыть каждый элемент списка с помощью соответствующих значений, полученных в результате пользовательского перечисления элементов цветного. Используйте значения перечисления, что и индекс в списке. Первый элемент списка никогда не осуществляется доступ, так как он соответствует стилю, то по умолчанию текст Visual Studio всегда обрабатывает. Можно возмещали потере это путем введения элемента заполнителя цветного в начале списка.
В реализации GetItemCount метод возвращает количество элементов в пользовательском цветного списке элементов.
В реализации GetColorableItem метод возвращает запрошенный элемент цветного из списка.
Пример реализации IVsColorableItem и IVsHiColorItem интерфейсы см. в разделе IVsHiColorItem.
См. также
Задачи
Практическое руководство. Использование встроенных Colorable элементов
Основные понятия
раскраска синтаксических конструкций в специализированных редакторах