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


Практическое руководство. Определение и установка расширения моделирования

В Visual Studio Ultimate можно определять расширения схем моделирования. Таким образом, пользователь может адаптировать схемы и модели к собственным потребностям. Например, можно определить команды меню, UML-профили, ограничения проверок и элементы панели элементов. В одном расширении можно определить несколько компонентов. Кроме того, эти расширения можно распределять другим пользователям Visual Studio Ultimate в форме расширения Visual Studio Integration Extension (VSIX). Для создания VSIX можно воспользоваться проектом VSIX в Visual Studio.

Необходимо установить SDK для Visual Studio.

Требования

Создание решения расширения моделирования

Чтобы определить расширение моделирования, необходимо создать решение, содержащее эти проекты.

  • Проект Visual Studio Integration Extension (VSIX). Создает файл, выступающий установщиком компонентов расширения. В диалоговом окне Новый проект разверните узел Visual C# или Visual Basic, а затем узел Расширение среды. В среднем столбце щелкните Проект VSIX.

  • Проект библиотеки классов, необходимый для компонентов, включающих код программы.

Если требуется создать расширение, включающее несколько компонентов, их можно разрабатывать в виде единого решения. Необходим один проект VSIX, и компоненты добавляются в виде оглавления в определение VSIX.

Компоненты, не требующие кода, например пользовательские элементы панели элементов или пользовательские UML-профили, могут быть добавлены непосредственно в проект VSIX; использование отдельных проектов не требуется. Такие компоненты как команды меню, требующие программного кода, проще определить в виде отдельных проектов.

Настройка проекта VSIX

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

  2. Создание проекта VSIX.

    1. В окне Обозреватель решений щелкните правой кнопкой мыши решение, выберите Add, затем щелкните Новый проект.

    2. В разделе Установленные шаблоны разверните узелVisual C# или Visual Basic, а затем выберите пункт Расширение среды. В среднем столбце щелкните Проект VSIX.

  3. Сделайте проект VSIX автоматически загружаемым проектом решения.

    • В обозревателе решений щелкните правой кнопкой мыши проект VSIX, затем щелкните Назначить запускаемым проектом.
  4. Откройте source.extension.vsixmanifest. Файл откроется в редакторе манифестов.

  5. Задайте имя и поля описания VSIX.

  6. Щелкните Выбрать выпуски и выберите выпуски Visual Studio, на которых следует запускать расширение.

  7. Добавьте компоненты в список Содержимое.

    1. Щелкните Добавить содержимое.

    2. Для компонентов, включающих код, выполните следующее.

      В поле Выбор типа содержимого выберите MEF Component.

      В списке Выбор источника щелкните Проект и выберите имя проекта библиотеки классов.

      Для остальных типов компонентов см. ссылки в следующем разделе.

Разработка компонента

Для каждого компонента (команда меню или обработчик жестов) нужно определить отдельный обработчик. Сводная информация по основным типам обработчиков представлена в следующей таблице.

Тип расширения

Раздел

Стандартный способ объявления каждого компонента

Команда меню

Практическое руководство. Определение команды меню на схеме моделирования

[ClassDesignerExtension]

// or other diagram types

[Export(typeof(ICommandExtension))]

public class MyCommand : ICommandExtension

{...

Перетаскивание или двойной щелчок

Практическое руководство. Определение обработчика перетаскивания и двойного щелчка на схеме моделирования

[ClassDesignerExtension]

// or other diagram types

[Export(typeof(IGestureExtension))]

public class MyGesture : IGestureExtension

{...

Ограничение проверки

Практическое руководство. Определение ограничений проверки для моделей UML

[Export(typeof( System.Action<ValidationContext, object>))]

[ValidationMethod(ValidationCategories.Save

| ValidationCategories.Menu)]

public void ValidateSomething

(ValidationContext context, IClassifier elementToValidate)

{...}

Обработчик события ссылки рабочего элемента

Практическое руководство. Определение обработчика связей рабочего элемента

[Export(typeof(ILinkedWorkItemExtension))]

public class MyWorkItemEventHandler : ILinkedWorkItemExtension

{...

UML-профиль

Практическое руководство. Определение профиля для расширения UML

Не определен в программном коде. Вместо этого необходимо определить тип компонента в файле source.extension.vsixmanifest следующим образом.

Тип компонента = Пользовательское расширение.

Тип = Microsoft.VisualStudio.UmlProfile.

Элемент панели элементов

Практическое руководство. Определение настраиваемого элемента панели элементов моделирования

Не определен в программном коде. Вместо этого необходимо определить тип компонента в файле source.extension.vsixmanifest следующим образом.

Тип компонента = Пользовательское расширение.

Тип = Microsoft.VisualStudio.ArchitectureTools.CustomToolboxItems

Запуск расширения во время разработки

Запуск расширения во время разработки

  1. В меню Visual Studio Отладка щелкните Начать отладку.

    Создается проект, и новый экземпляр Visual Studio запускается в экспериментальном режиме.

    • Кроме того, можно щелкнуть Запустить без отладки. Это позволяет быстрее запустить программу.
  2. Создайте или откройте проект моделирования в экспериментальном экземпляре Visual Studio и создайте или откройте схему.

    Это позволит загрузить и запустить расширение.

  3. Если был выбран вариант Запустить без отладки, но необходимо использовать отладчик, следует вернуться к основному экземпляру Visual Studio. В меню Отладка выберите пункт Присоединение к процессу. В диалоговом окне выберите экспериментальный экземпляр Visual Studio с программным именем devenv.

Чтобы запустить расширение в основном экземпляре Visual Studio, выполните действия, описанные в разделе Установка и удаление расширения.

Установка и удаление расширения

Расширение Visual Studio можно установить как на своем компьютере, так и на других.

Установка расширения

  1. Найдите на компьютере файл .vsix, который был создан проектом расширения.

    1. В Обозревателе решений щелкните проект правой кнопкой мыши и выберите Открыть папку в проводнике.

    2. Найдите файл bin\*\Ваш_проект.vsix

  2. Скопируйте файл .vsix на конечный компьютер, на котором необходимо установить расширение. Это может быть ваш компьютер или любой другой.

    • На конечном компьютере должен быть установлен один из выпусков Visual Studio, заданный в source.extension.vsixmanifest.
  3. Дважды щелкните файл .vsix на конечном компьютере.

    Visual Studio Extension Installer откроет и установит расширение.

  4. Запустите или перезапустите Visual Studio.

Удаление расширения

  1. В меню Сервис выберите пункт Диспетчер расширений.

  2. Разверните Установленные расширения.

  3. Выберите расширение и щелкните Удалить.

Иногда не удается загрузить ошибочное расширение. В этом случае создается отчет в окне ошибок, но расширение не отображается в диспетчере расширений. В этом случае расширение можно удалить, удалив файл из следующего расположения, где %LocalAppData% — это обычно ИмяДиска:\Users\ИмяПользователя\AppData\Local:

%LocalAppData%\Microsoft\VisualStudio\10.0\Extensions

См. также

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

Практическое руководство. Определение профиля для расширения UML

Практическое руководство. Определение ограничений проверки для моделей UML

Практическое руководство. Определение команды меню на схеме моделирования

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

Практическое руководство. Определение настраиваемого элемента панели элементов моделирования