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


Начало работы с расширениями языковой службы и редактора

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

Чтобы приступить к написанию расширений редактора, используйте шаблоны проектов редактора, установленные в составе пакета SDK Для Visual Studio. Пакет SDK Для Visual Studio — это загружаемый набор средств, упрощающих разработку расширений Visual Studio с помощью VSPackages или с помощью управляемой платформы расширяемости (MEF).

Примечание.

Дополнительные сведения о пакете SDK Для Visual Studio см. в разделе "Пакет SDK для Visual Studio".

Перед написанием собственных расширений редактора рекомендуется ознакомиться со следующими понятиями и технологиями.

Расширения Windows Presentation Foundation (WPF) и редактора

Пользовательский интерфейс редактора Visual Studio реализуется с помощью Windows Presentation Foundation (WPF). WPF предоставляет широкий визуальный интерфейс и согласованную модель программирования, которая отделяет визуальные аспекты кода от бизнес-логики. При создании расширений редактора можно использовать множество элементов и функций WPF. Дополнительные сведения см. в разделе Windows Presentation Foundation.

Расширения управляемой расширяемости (MEF) и редактора

Редактор Visual Studio использует платформу управляемой расширяемости (MEF) для управления компонентами и расширениями. MEF также позволяет разработчикам проще создавать расширения для ведущего приложения, например Visual Studio. В этой платформе вы определяете расширение в соответствии с контрактом MEF и экспортируете его как часть компонента MEF. Ведущее приложение управляет компонентами, найдите их, зарегистрируйте их и убедитесь, что они применяются к правильному контексту.

Примечание.

Дополнительные сведения о MEF в редакторе см. в разделе Managed Extensibility Framework в редакторе.

Точки расширения и расширения редактора Visual Studio

Точки расширения редактора — это части компонентов MEF, которые можно настроить и расширить. В некоторых случаях точка расширения расширяется путем реализации интерфейса и экспорта его вместе с правильными метаданными. В других случаях вы просто объявляете расширение и экспортируете его как конкретный тип.

Ниже приведены некоторые из основных типов расширений редактора:

  • Поля и полосы прокрутки

  • Теги

  • Украшения

  • Параметры

  • IntelliSense

    Дополнительные сведения о точках расширения редактора см. в разделе "Языковые службы" и точек расширения редактора.

Развертывание расширений редактора

В Visual Studio вы развертываете расширения редактора, добавляя файл метаданных с именем source.extension.vsixmanifest в решение, создавая решение, а затем добавляя копию двоичных файлов и манифест в папку, которая известна Visual Studio. Файл манифеста определяет основные факты о расширении (например, имя, автор, версия и тип содержимого). Дополнительные сведения о файле манифеста VSIX и развертывании расширений см. в разделе "Отправка расширений Visual Studio".

При установке расширения на компьютере включите двоичные файлы и манифест в вложенную папку папки, известной в Visual Studio.

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

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

Запуск расширений в экспериментальном экземпляре

Вы можете изолировать рабочую версию Visual Studio при разработке расширения, развернув ее в следующей экспериментальной папке (в Windows Vista и Windows 7):

{%LOCALAPPDATA%}\VisualStudio\10.0Exp\Extensions\{Company}\{ExtensionID}

где %LOCALAPPDATA% — это имя пользователя, вошедшего в систему, компания — это имя компании, которая владеет расширением, а ExtensionID — идентификатор расширения.

При развертывании расширения в экспериментальном расположении он выполняется в режиме отладки. Запускается второй экземпляр Visual Studio и называется Microsoft Visual Studio — экспериментальный экземпляр.

Управление расширениями

Расширения в Visual Studio перечислены в расширениях и Обновленияменю "Сервис"). Если вы тестируете расширение в экспериментальном экземпляре, он указан в расширениях и Обновления в экспериментальном экземпляре, но не указан в экземпляре разработки.

Дополнительные сведения см. в статье "Поиск и использование расширений Visual Studio".

Создание расширений редактора с помощью шаблонов

Шаблоны редакторов можно использовать для создания расширений MEF, которые настраивают классификаторы, украшения и поля. Существуют шаблоны для проектов C# и Visual Basic. Дополнительные сведения: Создание расширения с помощью шаблона элемента редактора.

Вы также можете использовать шаблон проекта VSIX для создания расширений. Этот шаблон предоставляет только элементы, необходимые для развертывания любого типа расширения, и включают файл source.extension.vsixmanifest , необходимые ссылки на сборку и файл проекта, включающий задачи сборки, позволяющие развернуть расширение. Дополнительные сведения см. в разделе Шаблон проекта VSIX.

Вы также можете создавать компоненты MEF редактора из расширения пакета Visual Studio. Дополнительные сведения см. в следующих пошаговом руководстве.