Практическое руководство. Определение настраиваемого элемента панели элементов моделирования
Чтобы облегчить создание элемента или группы элементов по часто используемому шаблону, можно добавить новые инструменты в панель элементов схем моделирования в Visual Studio Ultimate. Эти элементы панели можно распределять другим пользователям Visual Studio Ultimate.
Например, можно спроектировать настраиваемый инструмент, позволяющий создавать следующие элементы.
Пакет, связанный с профилем .NET, и класс со стереотипом .NET.
Пара классов, связанная ассоциацией, для представления шаблона Observer.
Этот метод можно использовать для проектирования инструментов, которые позволяют создавать элементы. То есть, существует возможность создавать инструменты, которые можно перетащить из панели элементов на схему. Невозможно создать инструменты, выполняющие функции соединителя.
Определение настраиваемого инструмента моделирования
Определение настраиваемого инструмента моделирования
Создайте UML-схему, которая содержит элемент или группу элементов.
Между этими элементами могут существовать отношения, кроме того, они могут иметь дочерние элементы, например порты, атрибуты, операции или каналы.
В обозревателе решений измените имя схемы на имя, которое необходимо присвоить новому инструменту.
Сохраните схему.
Воспользовавшись проводником, скопируйте два файла схемы в следующую папку или любую подпапку.
ваши_документы**\Visual Studio 2010\Architecture Tools\Custom Toolbox Items**
Создайте эту папку, если она еще не существует. Возможно, потребуется создать и Architecture Tools, и Custom Toolbox Items.
Скопируйте оба файла схемы, один с именем, которое заканчивается на "…diagram", а другой — на "…diagram.layout".
Можно создать неограниченное число настраиваемых инструментов. Используйте одну схему для каждого инструмента.
(Не обязательно). Создайте файл .tbxinfo, следуя инструкциям в разделе Определение свойств настраиваемых инструментов и добавьте его в тот же каталог. Это позволяет определить значок панели элементов, подсказку и т. д.
- Один файл .tbxinfo можно использовать для определения нескольких инструментов. Он может ссылаться на файлы схемы, находящиеся в подпапках.
Перезапустите Visual Studio. На панели элементов отобразится дополнительный инструмент для соответствующего типа схемы.
Что реплицирует настраиваемый инструмент
Настраиваемый инструмент реплицирует большинство функций исходной схемы.
Имена. Если создается элемент из панели элементов, к окончанию имени добавляется число. Это делается для того, чтобы в одном пространстве имен не было одинаковых имен.
Цвета, размеры и фигуры.
Стереотипы и профили пакета.
Значения свойств, такие как Is Abstract
Связанные рабочие элементы.
Количество элементов и другие свойства отношений.
Относительные положения фигур.
Следующие компоненты не сохраняются в пользовательском инструменте.
Простые фигуры. Это фигуры, не связанные с элементами модели, которые можно изобразить на некоторых видах схем.
Маршрутизация соединителя. Если соединители маршрутизируются вручную, маршрутизация не сохраняется при использовании инструмента. Положения некоторых вложенных фигур, таких как порты, не сохраняется относительно владельцев.
Определение свойств настраиваемых инструментов
Файл сведений о панели элементов (.tbxinfo) позволяет задавать имя панели элементов, значок, подсказку, вкладку и ключевое слово справки для одного или нескольких настраиваемых инструментов. Присвойте ему любое имя, например MyTools.tbxinfo.
Файл имеет следующую общую форму.
<?xml version="1.0" encoding="utf-8" ?>
<customToolboxItems xmlns="https://schemas.microsoft.com/visualstudio/2010/ArchitectureTools/CustomToolboxItems">
<customToolboxItem fileName="MyObserverTool.classdiagram">
<displayName>
<value>Observer Pattern</value>
</displayName>
<tabName>
<value>UML Class Diagram</value>
</tabName>
<image><bmp fileName="ObserverPatternIcon.bmp"/></image>
<f1Keyword>
<value>ObserverPatternHelp</value>
</f1Keyword>
<tooltip>
<value>Create a pair of classes</value>
</tooltip>
</customToolboxItem>
</customToolboxItems>
Каждый элемент может иметь любое из следующих значений.
- Как показано в примере, <bmp fileName="…"/> используется для значка панели элементов, а <value>string</value> — для других элементов.
- или -
<resource fileName="Resources.dll"
baseName="Observer.resources" id="Observer.tabname" />
В этом случае предоставляется скомпилированная сборка, значения строк в которой были скомпилированы в качестве ресурсов.
Добавьте узел <customToolboxItem> в каждый элемент панели, который необходимо определить.
В файле .tbxinfo используются следующие узлы. Для каждого узла существует значение по умолчанию.
Имя узла |
Определяет |
---|---|
displayName |
Имя элемента панели элементов. |
tabName |
Вкладка панели элементов, на которой должен отображаться элемент. Можно задать либо имя обычной вкладки для этого типа схемы, либо отдельное имя. |
image |
Расположение файла растрового изображения (.bmp). Необходимая высота и ширина — 16 битов, глубина цвета — 24 бита. |
f1Keyword |
Ключевое слово, определяющее расположение раздела справки. |
tooltip |
Подсказка для этого инструмента. |
Файл растрового изображения можно изменять в Visual Studio, а высоту и ширину 16 битов можно задать в окне свойств.
Примечание
Если начать использовать файл .tbxinfo, имея опыт использования файлов схемы по отдельности, можно обнаружить, что панель элементов содержит как старые, так и новые версии элемента панели.То же самое происходит, если имя файла схемы было неправильно указано в файле .tbxinfo.В этом случае щелкните элемент панели правой кнопкой мыши и выберите Сбросить панель элементов.Настраиваемые элементы панели элементов перестанут отображаться.Перезапустите Visual Studio. После этого отобразятся правильные настраиваемые элементы.
Распределение элементов панели элементов в расширении Visual Studio
Элементы панели элементов можно распределять другим пользователям Visual Studio, упаковав их в файл с расширением Visual Studio (VSIX). Команды, профили и другие расширения можно упаковать в один VSIX-файл. Дополнительные сведения см. в разделе Deploying Visual Studio Extensions.
Стандартным способом построения расширения Visual Studio является использование шаблона проектов VSIX. Для этого необходимо установить SDK для Visual Studio.
Добавление элемента панели элементов в расширение Visual Studio
Создайте и проверьте один или несколько настраиваемых инструментов.
Создайте файл .tbxinfo, который ссылается на эти инструменты.
Откройте существующий проект с расширением Visual Studio.
- или -
Определите новый проект с расширением Visual Studio.
В меню Файл последовательно выберите пункты Создать и Проект.
В диалоговом окне Новый проект под заголовком Установленные шаблоны разверните Visual C#, выберите Расширяемость, затем щелкните проект VSIX. Задайте имя проекта и нажмите кнопку ОК.
Добавьте в проект определения панели элементов. Включите файл .tbxinfo, файлы схемы, файлы растровых изображений и любые файлы ресурсов и убедитесь, что они включены в VSIX.
В обозревателе решений щелкните правой кнопкой мыши проект, выберите команду Добавить и щелкните Существующий элемент. В диалоговом окне задайте Объекты типа: все файлы. Найдите файлы, выделите их все и нажмите кнопку Добавить.
Примечание
В этом проекте невозможно открывать файлы схемы в редакторе моделей.
Задайте следующие свойства всех только что добавленных файлов. Их свойства можно задать одновременно, выделив их все в обозревателе решений. Следите за тем, чтобы не изменить свойства других файлов проекта.
Копировать в выходной каталог = Всегда копировать
Действие построения = Содержимое
Включить в VSIX = true
Откройте source.extension.vsixmanifest. Откроется редактор манифеста расширения.
В разделе Содержимое добавьте строку, описывающую пользовательские инструменты. Щелкните Добавить содержимое и задайте следующие значения в полях диалоговых окон.
Тип содержимого = Пользовательский тип расширения
Тип = Microsoft.VisualStudio.ArchitectureTools.CustomToolboxItems
Путь = Файл проекта. Выберите файл .tbxinfo, например MyTools.tbxinfo.
Поле Название продукта и другие поля можно задать произвольно.
Выполните построение проекта.
Чтобы найти файл .vsix, в проводнике откройте каталог .\bin\Debug или .\bin\Release. Это файл расширения Visual Studio. Его можно установить на данном компьютере или отправить другим пользователям Visual Studio.
Установка настраиваемых инструментов из расширения Visual Studio
Дважды щелкните файл .vsix в проводнике или откройте его в Visual Studio.
В появившемся диалоговом окне щелкните Установить.
Чтобы удалить или временно отключить расширение, откройте Диспетчер расширений в меню Сервис.
Локализация
Можно создать расширение, которое при установке на другой компьютер отобразит имена инструментов и подсказки на языке конечного компьютера.
Предоставление версий инструмента на нескольких языках
Создайте проект с расширением Visual Studio, который содержит один или несколько настраиваемых инструментов.
В файле .tbxinfo используйте метод файла ресурсов, чтобы определить displayName инструмента, tabName панели элементов и подсказку. Создайте файл ресурсов, в котором определяются эти строки, скомпилируйте его в сборку и создайте ссылку на него в файле tbxinfo.
Создайте дополнительные сборки, содержащие файлы ресурсов со строками на других языках.
Разместите каждую дополнительную сборку в папке, имя которой является идентификатором языка и страны для данного языка. Например, разместите версию сборки на французском языке в папке с именем fr.
Следует использовать нейтральный идентификатор языка и страны (как правило, состоящий из двух букв), а не указывать конкретную страну, например fr-CA. Дополнительные сведения об идентификаторах языков и стран см. в разделе Метод CultureInfo.GetCultures, в котором содержится полный список идентификаторов языков и стран.
Создайте расширение Visual Studio и распределите его.
Когда расширение загружается на другой компьютер, автоматически загружается версия файла ресурсов для страны пользователя. Если не предоставлена версия для страны пользователя, используются ресурсы по умолчанию.
Невозможно использовать этот метод для установки разных версий схемы прототипа. В каждой установке используются одинаковые имена элементов и соединителей.
Другие операции панели элементов
Обычно в Visual Studio панель элементов можно персонализировать, переименовывая элементы, перемещая их на другие вкладки панели элементов и удаляя их. Однако эти изменения не сохраняются для настраиваемых инструментов моделирования, созданных с использованием процедур, описанных в данном разделе. При перезапуске Visual Studio настраиваемые инструменты повторно отображаются с определенными именами в определенном месте на панели элементов.
Кроме того, если выполнить команду Сбросить панель элементов, настраиваемые элементы перестанут отображаться. Однако они снова отобразятся, если перезапустить Visual Studio.
См. также
Основные понятия
Практическое руководство. Определение профиля для расширения UML
Практическое руководство. Определение команды меню на схеме моделирования
Практическое руководство. Определение ограничений проверки для моделей UML