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


Реализация и использование расширителей автоматизации

Обновлен: Ноябрь 2007

Расширители автоматизации — часть модели автоматизации Visual Studio, которая дает возможность добавлять или убирать свойства из списка свойств, отображаемых в указанном типе проекта. Например, Visual Studio включает модель кода Visual Basic с объектом, представляющим класс Visual Basic. Можно использовать расширители автоматизации, например, для добавления новых свойств к существующим свойствам в бизнес-объекте среднего уровня. Эту модель также можно использовать для фильтрации свойств, отображаемых на странице свойств проекта.

Ниже приведен один из возможных сценариев. Пользователь выбирает элемент класса в Обозревателе решений и изменяет созданный мастером код. Также можно поместить курсор в редакторе в определение класса. В результате в окне Свойства могут отображаться дополнительные свойства класса. Свойства относятся к определению бизнес-объектов среднего уровня. Расширители автоматизации позволяют сделать это, а также многое другое.

Ниже приведены объекты в объектной модели расширителей автоматизации.

Имя объекта

Описание

Интерфейс IExtenderProvider

Предоставляет известный поставщик расширителей.

Интерфейс IExtenderProviderUnk

Предоставляет неизвестный поставщик расширителей.

Интерфейс IExtenderSite

Объект узла, содержащий расширитель автоматизации.

Интерфейс IFilterProperties

Если реализован, позволяет расширителю не показывать указанные свойства в окне Свойства.

Объект ObjectExtenders

Предоставляет доступ к расширителям автоматизации.

Использование этих объектов дает следующие возможности.

  • Добавление к объектам в Visual Studio свойств, доступных как в окне Свойства, так и из кода программы.

  • Скрытие свойств так, чтобы они не отображались в окне Свойства.

  • Замена свойства другим, имеющим такое же имя, но принимающим конкретный набор значений.

Пример расширителя автоматизации

Пример использования расширителей автоматизации для добавления свойств и методов к объекту Visual Studio см. в примере надстройки расширителя решений на веб-странице Образцы автоматизации Visual Studio.

Пример SolutionExtender расширяет как объект, отображающий окно Свойства решения, так и объект автоматизации DTE.Solution. Он добавляет четыре новых свойства: Notes, Created, LastAccessed и LastModified. Для создания ссылки на новые свойства можно использовать DTE.Solution, как показано в следующем макросе.

Sub ShowNotes()
    Dim extender As Object
    extender = DTE.Solution.Extender("SolutionMisc")
    MsgBox(extender.Notes)
End Sub

Для выполнение этого примера

  1. Постройте и разверните решение SolutionExtender.

  2. Добавьте регистрационные сведения в SolutionExtender.reg, используя файл реестра командной строки SolutionExtender.reg.

  3. Запустите devenv.exe и откройте или создайте новое решение.

  4. Выберите узел решения в Обозревателе решений для просмотра новых свойств.

См. также

Задачи

Практическое руководство. Добавление и обработка команд

Практическое руководство. Создание надстройки

Пошаговое руководство. Создание мастера

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

Диаграмма модели объектов автоматизации

Другие ресурсы

Создание окон среды и управление ими

Создание надстроек и мастеров

Справочник по автоматизации и возможностям расширения среды