Использование шаблонов редактор для создания расширения
Можно использовать шаблоны, которые включены в Visual Studio 2010 Пакет SDK для создания основных расширения редактора, которые добавляют классификаторы, элементы оформления и поля в редактор.
Предварительные требования
Для использования шаблонов расширения редактора, необходимо устанавливать Visual Studio 2010 пакет SDK.
Примечание
Дополнительные сведения о пакете SDK для Visual Studio см. в разделе интеграция SDK Visual Studio.Чтобы узнать, как загрузить пакет SDK для Visual Studio см. в разделе Центр разработчиков расширяемости Visual Studio на веб-сайте MSDN.
Создание расширения классификатора
Шаблон классификатора редактор создает классификатор редактора, соответствующее цвета текста (в этом случае все) в любом текстовом файле.
Создание расширения классификатора с помощью шаблона классификатора редактора
На Файл меню наведите курсор на пункт NEW затем перейдите Создать проект. в Создать проект разверните диалоговое окно Visual c# OR Visual Basic затем перейдите Расширение среды. в Шаблоны выберите панель Классификатор редактора. в Имя окно, тип TestClassifier. Нажмите кнопку ОК.
Проект TestClassifier открыт.
Откройте файл source.extension.vsixmanifest и правка он выглядит следующим образом:
Имя продукта. TestClassifier
Автор. Fabrikam
Версия. 1.0
Описание. это расширение классификатора теста.
Не изменяйте идентификатор. Он создается автоматически.
Содержимое заголовок определяет тип содержимого в этом проекте (каталоге шаблонов проектов каталоге шаблонов элементов, помощью мастера шаблонов, VSPackage компонентом MEF или настраиваемый тип расширения). Один проект может содержать один или несколько типов содержимого, например VSPackage и компонент MEF. Это расширение компонент MEF и содержимое определено в TestClassifier.
3 Файла кода следующим образом:
Содержит TestClassifierType OrdinaryClassificationType класс.
Содержит TestClassifierFormat OrdinaryFormat класс.
Содержит TestClassifier OrdinaryClassifier и класс OrdinaryClassifierProvider класс.
OrdinaryClassificationType экспортирует класс ClassificationTypeDefinitionи определяет текст, в котором используются (в этом случае весь текст). Этот класс будет экспортирован вместе с NameAttribute, который используется для определения того, этот классификатор. Дополнительные сведения о классификациях см. в разделе "расширение типы классификации и классификация формат" Точки расширения редактора.
OrdinaryFormat класс наследует из ClassificationFormatDefinitionи определяет визуальные эффекты, форматирование создаст в этом случае a BlueViolet цвет шрифта и a Underline. Этот класс должен экспортироваться как EditorFormatDefinition этот тип. Можно указать, следует ли виден пользователю, используя форматирование UserVisibleAttributeи можно указать порядок формат применяется к тексту с помощью OrderAttribute.
GetClassificationSpans класс реализует OrdinaryClassifier метод, определяющий текст, который должен расклассифицированным с помощью "обычного" функции-классификатора (в этом случае весь текст).
GetClassifier класс наследует из OrdinaryClassifierProvider и реализует IClassifierProviderметод, который создает классификатор. Этот класс будет экспортирован вместе с ContentTypeAttribute, указывающий тип содержимого (текста, кода или поэтому on), к которому применяется этот классификатор. Он также принимает TextViewRoleAttribute, указывающий тип представления текста которого могут быть любые значения PredefinedTextViewRoles.
При построении это решение копии сборки и манифеста, помещаются в экспериментальном каталог.
Если запустить этот проект в отладчике, второй экземпляр Visual Studio создается. Если открыть текстовый файл, то весь текст подчеркнут показано, как с лилового фона.
Создание Текст-Относительное расширение элемента оформления
Шаблон элемента оформления текста, редактор создает текст-относительный оформление, оформляет все экземпляры символа "a" текст с помощью окна, которое содержит красную структуру и синий фон. Он текст-относительн поскольку окно всегда overlays символы "a", даже если они перемещаются или переформатированных.
Для создания расширения элемента оформления текста с помощью редактора отправить СМС шаблон элемента оформления
На Файл меню наведите курсор на пункт NEW затем перейдите Создать проект. в Создать проект разверните диалоговое окно Visual c# OR Visual Basic затем перейдите Расширение среды. в Шаблоны выберите панель Оформление текста редактора. в Имя окно, тип TestTextAdornment. Нажмите кнопку ОК.
Проект TestTextAdornment открыт.
Откройте файл source.extension.vsixmanifest и правка он выглядит следующим образом:
Имя продукта. TestTextAdornment
Автор. Fabrikam
Версия. 1.0
Описание. это расширение крайнего элемента теста текст-относительное.
Не изменяйте идентификатор. Он создается автоматически.
Содержимое заголовок определяет тип содержимого в данном проекте. Это расширение компонент MEF и содержимое определено в TestTextAdornment.
2 Файла кода следующим образом:
Содержит TestTextAdornment ScarletCharacter класс.
Содержит TestTextAdornmentFactory EditorAdornmentFactory класс.
ScarletCharacter класс предоставляет функции пользовательского интерфейса (пользовательского интерфейса) элемента оформления в его конструкторе и дескрипторах LayoutChanged событие путем найти все вхождения знака "a" в IWpfTextView и добавление крайний элемент ScarletCharacter.
TextViewCreated класс наследует из EditorAdornmentFactory и реализует IWpfTextViewCreationListener метод путем создания экземпляра крайний элемент. Этот класс также объявляет AdornmentLayerDefinition это соответствует элементу ScarletCharacter крайнему и экспортирует его вместе с NameAttribute" OrderAttributeи TextViewRoleAttribute.
При построении это решение копии сборки и манифеста, помещаются в экспериментальном каталог.
Если запустить этот проект в отладчике, второй экземпляр Visual Studio создается. Если открыть текстовый файл, то все символы "a", как описано в тексте отображаются красным цветом от синего фона.
Создание окна просмотра-Относительное расширение элемента оформления
Шаблон элемента оформления окна просмотра редактор создает окно просмотра-относительный крайний элемент, который добавляет лиловое окно, которое содержит красную структуру к верхнему правому углу окна просмотра.
Примечание
Окно просмотра область представления текста, который в настоящий момент.
Создание расширения элемента оформления окна просмотра с помощью шаблона элемента оформления окна просмотра редактора
На Файл меню наведите курсор на пункт NEW затем перейдите Создать проект. в Создать проект разверните диалоговое окно Visual c# OR Visual Basic затем перейдите Расширение среды. в Шаблоны выберите панель Оформление окна просмотра редактора. в Имя окно, тип TestViewportAdornment. Нажмите кнопку ОК.
Проект TestViewportAdornment открыт.
Откройте файл source.extension.vsixmanifest и правка он выглядит следующим образом:
Имя продукта. TestViewportAdornment
Автор. Fabrikam
Версия. 1.0
Описание. Это расширение элемента оформления теста окно просмотра-относительное.
Не изменяйте идентификатор. Он создается автоматически.
Содержимое заголовок определяет тип содержимого в данном проекте. Это расширение компонент MEF и содержимое определено в TestViewportAdornment.
2 Файла кода следующим образом:
Содержит TestViewportAdornment PurpleCornerBox класс
Содержит TestViewportAdornmentFactory AdornmentFactory класс
PurpleCornerBox класс предоставляет функции пользовательского интерфейса элемента оформления в конструкторе и обрабатывает ViewportHeightChanged и ViewportWidthChanged события путем удаления и повторно добавить оформление в правом верхнем углу окна просмотра.
TextViewCreated класс наследует из AdornmentFactory и реализует IWpfTextViewCreationListenerметод путем создания экземпляра крайний элемент. Этот класс также объявляет AdornmentLayerDefinition это соответствует элементу PurpleCornerBox крайнему и экспортирует его вместе с NameAttribute" OrderAttributeи TextViewRoleAttribute.
При построении это решение копии сборки и манифеста, помещаются в экспериментальном каталог.
Если запустить этот проект в отладчике, второй экземпляр Visual Studio создается. Если открыть текстовый файл, лиловое окно, которое содержит красную структуру показано в правом верхнем углу окна просмотра.
Создание расширения полей
Шаблон полей редактор создает зеленые поля, отображаемые вместе с миром машинных слова "hello world!" под горизонтальной полосе прокрутки.
Создание расширения полей с помощью шаблона полей редактора
На Файл меню наведите курсор на пункт NEW затем перейдите Создать проект. в Создать проект разверните диалоговое окно Visual c# OR Visual Basic затем перейдите Расширение среды. в Шаблоны выберите панель Поле редактора. в Имя окно, тип TestMargin. Нажмите кнопку ОК.
Проект TestMargin открыт.
Откройте файл source.extension.vsixmanifest и правка он выглядит следующим образом:
Имя продукта. TestMargin
Автор. Fabrikam
Версия. 1.0
Описание. это расширение полей теста.
Не изменяйте идентификатор. Он создается автоматически.
Содержимое заголовок определяет тип содержимого в данном проекте. Это расширение компонент MEF и содержимое определено в TestMargin.
2 Файла кода следующим образом:
Содержит TestMargin GreenMargin класс.
Содержит TestMarginFactory MarginFactory класс.
GreenMargin класс наследует из Canvas и реализует IWpfTextViewMargin. Он предоставляет функции пользовательского интерфейса полей в конструкторе.
CreateMargin класс реализует MarginFactory и его реализация IWpfTextViewMarginProviderсоздает метода поля. Этот класс будет экспортирован вместе с NameAttribute" OrderAttribute" MarginContainerAttribute" ContentTypeAttributeи TextViewRoleAttribute.
При построении это решение копии сборки и манифеста, помещаются в экспериментальном каталог.
Если запустить этот проект в отладчике, второй экземпляр Visual Studio создается. Если открыть текстовый файл, зеленые поля, имеющие машинных слова "hello world!" отображается под горизонтальной полосе прокрутки.