Porady: definiowanie profilu w celu rozszerzenia UML
W Visual Studio Ultimate, można zdefiniować Profil UML, aby dostosować standardowe elementy modelu do konkretnych celów.Profil, który definiuje jeden lub więcej Stereotypów UML.Stereotyp może służyć do oznaczenia typu, reprezentując obiekt określonego typu.Stereotyp może także rozszerzać listę elementu właściwości.
Kilka profilów jest instalowanych razem z Visual Studio Ultimate.Aby uzyskać więcej informacji o tych profilach i sposobie stosowania stereotypów, zobacz Dopasowanie modelu z profilami i stereotypami.
Można zdefiniować własne profile adaptowanie i rozszerzanie UML do własnych obszarów działalności lub architektury.Na przykład:
Jeśli często definiujesz witryny sieci Web, możesz zdefiniować własny profil, który zapewnia stereotyp «WebPage», który może być stosowany do klas na diagramach klas.Można na przykład utworzyć diagramów, aby zaplanować witrynę sieci Web.Każda klasa «WebPage» miałaby dodatkowe właściwości dla zawartości strony, stylu i tak dalej.
W przypadku opracowania oprogramowania bankowego, można zdefiniować profil, który zawiera stereotyp «Konto».Diagramy klas można używać do definiowania różnych typów kont i pokazanie relacji między nimi.
Można dystrybuować własne profile do swojego zespołu.Każdy członek zespołu może zainstalować profil.Umożliwia to edytowanie i tworzenie modeli, które używają tych stereotypów.
[!UWAGA]
Jeśli zastosujesz stereotypy profili w modelu edytowanym, a następnie udostępnisz model innym użytkownikom, powinni oni zainstalować ten sam profil na swoich komputerach.W przeciwnym razie nie będą mogli zobaczyć stereotypów, które były używane.
Profil jest często częścią większego rozszerzenia Visual Studio.Na przykład można zdefiniować polecenie, które tłumaczy niektóre części modelu do kodu.Można zdefiniować profil, który użytkownicy muszą stosować do pakietów, które chcą tłumaczyć.Będziesz dystrybuować swoje nowe polecenie wraz z profilem w jednym Visual Studio rozszerzeniu.
Można również zdefiniować zlokalizowane warianty profilu.Użytkownicy ładowania rozszerzenia zobacz wariant, który jest odpowiedni do ich własnej kultury.
W jaki sposób zdefiniować profil
Aby zdefiniować profil UML
Utwórz nowy plik XML z rozszerzeniem nazwy pliku .profile.
Dodaj definicje stereotypu zgodnie z wytycznymi opisany w Struktury profilu.
Dodaj profil do rozszerzenia programu Visual Studio (plik .vsix).Możesz utworzyć nowe rozszerzenie dla profilu lub dodać profil do istniejącego rozszerzenia.
Zobacz w następnej sekcji W jaki sposób dodać profil do rozszerzenia programu Visual Studio
Zainstaluj rozszerzenie na komputerze.
Kliknij dwukrotnie plik rozszerzenia, który ma rozszerzenie nazwy pliku .vsix.
Uruchom ponownie program Visual Studio.
Sprawdź, czy profil został pomyślnie zainstalowany.
Wybierz model w Eksploratorze UML.
W oknie Właściwości kliknij właściwość Profile.Twój profil powinien pojawić się w menu.Ustaw znacznik wyboru obok profilu.
Zaznacz element, dla którego profil definiuje stereotypy.W oknie Właściwości kliknij właściwość Stereotypy.Twoje stereotypy pojawią się na liście.Ustaw znacznik wyboru przeciwko jednemu ze stereotypów.
Jeśli Twój profil definiuje dodatkowe właściwości tego stereotypu, rozwiń właściwości stereotypu, aby je zobaczyć.
Wyślij rozszerzenie pliku do innych użytkowników Visual Studio , aby zainstalowali je na swoich komputerach.
W jaki sposób dodać profil do rozszerzenia programu Visual Studio
Aby zainstalować profil i umożliwić wysyłanie go do innych użytkowników, należy dodać profil do rozszerzenia programu Visual Studio.Aby uzyskać więcej informacji, zobacz Wdrażanie rozszerzeń programu Visual Studio.
Aby zdefiniować profil w nowym Rozszerzeniu Visual Studio
Utwórz projekt rozszerzenia Visual Studio.
[!UWAGA]
Aby skorzystać z tej procedury, musisz posiadać zainstalowane Visual Studio SDK.
W menu Plik, wskaż Nowy, a następnie kliknij przycisk Projekt.
W oknie dialogowym Nowy projekt w polu Zainstalowane szablony, rozwiń Visual C#, kliknij Rozszerzalność, a następnie kliknij Projekt VSIX.Ustaw nazwę projektu i kliknij przycisk OK.
Dodaj własny profil do projektu.
- W Eksploratorze rozwiązań kliknij prawym przyciskiem myszy projekt, wskaż Dodaj, a następnie kliknij przycisk, a następnie kliknij Istniejący element.W oknie dialogowym zlokalizuj plik profilu.
Ustaw plik profilu właściwości Kopię do wyjścia.
W Eksploratorze rozwiązań kliknij prawym przyciskiem myszy plik profilu, a następnie kliknij Właściwości.
W oknie Właściwości ustaw właściwość Kopiuj do katalogu wyjściowego na Zawsze kopiuj.
W Eksploratorze rozwiązań otwórz source.extension.vsixmanifest.
Plik otwiera się w edytorze manifesty rozszerzenia.
Na stronie Aktywa, dodaj wiersz opisu profilu:
Kliknij Nowy.Ustaw pola w oknie oknie dialogowym Dodaj nowe aktywa w następujący sposób.
Ustaw TYp na Microsoft.VisualStudio.UmlProfile
Nie jest jedną z opcji listy rozwijanej.Wprowadź tę nazwę przy użyciu klawiatury.
Kliknij Plik w systemie plików i wybierz nazwę pliku profilu, na przykład MyProfile.profile
Kompiluj projekt.
Aby debugować profil, naciśnij klawisz F5.
Otwiera doświadczalne wystąpienie programu Visual Studio.W tym wypadku otwórz projekt modelowania.W Eksploratorze UML wybierz element główny modelu i w oknie Właściwości, wybierz swój profil.Następnie wybierz elementy wewnątrz modelu i ustawi Stereotypy zdefiniowane dla nich.
Aby wyodrębnić VSIX dla wdrażania
W Eksploratorze Windows otwórz folder .\bin\Debug lub .\bin\Release, aby znaleźć plik .vsix.Jest to Visual Studio rozszerzenie pliku.Może być zainstalowany na tym komputerze i wysyłany do innych użytkowników programu Visual Studio.
Aby zainstalować rozszerzenie:
Kliknij dwukrotnie plik .vsix.Zostanie uruchomiony Instalator rozszerzenia programu Visual Studio.
Ponownie uruchom wystąpienia programu Visual Studio, które są uruchomione.
Poniższa alternatywna procedura może służyć do małych rozszerzeń małych, jeśli nie zainstalowano Visual Studio SDK.
Aby zdefiniować rozszerzenie profilu bez korzystania z programu Visual Studio SDK
Utwórz katalog systemu Windows, który zawiera następujące trzy pliki:
YourProfile.profile
extension.vsixmanifest
[Content_Types].xml — wpisz nazwę, jak pokazano tutaj z nawiasami kwadratowymi
Edytuj [Content_Types].xml, aby włączyć następujący tekst.Należy zauważyć, że zawiera on wpis dla każdego rozszerzenia nazwy pliku.
<?xml version="1.0" encoding="utf-8"?> <Types xmlns="https://schemas.openxmlformats.org/package/2006/content-types"> <Default Extension="profile" ContentType="application/octet-stream" /> <Default Extension="vsixmanifest" ContentType="text/xml" /> </Types>
Kopiuje istniejący extension.vsixmanifest i edytuje za pomocą edytora XML.Zmień identyfikator, nazwę oraz zawartość węzłów.
Przykład można znaleźć extension.vsixmanifest w tym katalogu:
drive**:\Program Files\Microsoft Visual Studio 12.0\Common7\IDE\Extensions\Microsoft\Architecture Tools\UmlProfiles**
Węzeł zawartości powinien wyglądać tak:
<Content> <CustomExtension Type="Microsoft.VisualStudio.UmlProfile" >YourProfile.Profile</CustomExtension> </Content>
Skompresuj trzy pliki w plik spakowany.
W Eksploratorze Windows, wybierz trzy pliki, kliknij prawym przyciskiem myszy, wskaż polecenie Wyślij do, a następnie kliknij Folder skompresowany (zip).
Zmień nazwę pliku zip i zmień rozszerzenie nazwy pliku z .zip na .vsix.
Aby zainstalować profil na każdym komputerze z odpowiedniej wersji programu Visual Studio, kliknij dwukrotnie .vsix pliku.
Aby zainstalować profil UML z rozszerzenia programu Visual Studio
Kliknij dwukrotnie plik .vsix w Eksploratorze Windows lub otwórz go w programie Visual Studio.
Kliknij Zainstaluj w wyświetlonym oknie dialogowym.
Aby odinstalować lub tymczasowo wyłączyć rozszerzenie, otwórz Menadżer rozszerzenia z menu Narzędzia.
W jaki sposób zdefiniować zlokalizowane profile
Można zdefiniować różne profile dla różnych kultur lub języków i spakować je wszystkie w tym samym rozszerzeniu.Gdy użytkownik wczytuje twojego rozszerzenia, zobaczy profil, który zostały zdefiniowane dla jego kultury.
Należy zawsze podać domyślny profil.Jeśli nie zdefiniowano profilu dla kultury użytkownika, zobaczysz profil domyślny.
Aby zdefiniować zlokalizowany profil
Utwórz profil, zgodnie z opisem w poprzednich sekcjach Sposób definiowania profilu i Sposób dodawania profilu do rozszerzenia programu Visual Studio.To jest domyślny profil i będzie używany w każdej instalacji, dla której nie zostanie zlokalizowany profil.
Dodaj nowy katalog w tym samym katalogu, co plik profilu domyślnego.
[!UWAGA]
Jeśli tworzysz rozszerzenie za pomocą projektu rozszerzenia Visual Studio, skorzystaj z Eksploratora rozwiązań, aby dodać nowy folder do projektu.
Zmień nazwę nowego katalogu na krótki kod ISO dla zlokalizowanej kultury, tj. bg dla języka bułgarskiego lub fr dla języka francuskiego.Należy używać kodu kultury neutralnej, zazwyczaj dwóch liter, określonej kultury takiej jak fr-CA.Aby uzyskać więcej informacji na temat kodów kultury, zobacz Metoda CultureInfo.GetCultures, która zawiera pełną listę kodów kultur.
Dodaj kopię profilu domyślnego do nowego katalogu.Nie zmieniaj nazwy pliku.
Przykładowy folder rozszerzenia Visual Studio, zanim zostanie skompilowany lub skompresowany do pliku .vsix, będzie zawierać następujące foldery i pliki:
extension.vsixmanifest
MyProfile.profile
fr\MyProfile.profile
de\MyProfile.profile
[!UWAGA]
Nie należy wstawiać do extension.vsixmanifest odwołania do wersji zlokalizowanej profilerów.Pliki kopiowanego profilu muszą mieć taką samą nazwę jak profil w folderze nadrzędnym.
Edytuj tę nową kopię profilu, co przekłada się na język docelowy wszystkich części, które będą widoczne dla użytkownika, takie jak atrybuty displayName.
Można tworzyć foldery dodatkowe kultury i zlokalizowane programy profilowania dla tylu kultur, jak chcesz.
Kompiluj rozszerzenia programu Visual Studio, przez kompilację Projektu rozszerzeń lub kompresowanie wszystkich plików zgodnie z opisem w poprzedniej sekcji.
Struktura profilu
Plik XSD dla profilów UML można znaleźć w następującym przykładzie: ustawienie stereotypów i profili XSD.Aby edytować pliki profilu, zainstaluj .xsd plik w:
%ProgramFiles%\Microsoft Visual Studio 11.0\Xml\Schemas
Ta sekcja używa profilu C# jako przykładu.Definicję kompletnego profil można zobaczyć w:
drive**:\Program Files\Microsoft Visual Studio 12.0\Common7\IDE\Extensions\Microsoft\Architecture Tools\UmlProfiles\CSharp.profile**
Pierwsze części tej ścieżki mogą różnić się od instalacji.
Aby uzyskać więcej informacji na temat profilu .NET, zobacz Standardowe stereotypy dla modeli UML.
Główne sekcje definicji profilu UML
Każdy profil zawiera następujące treści:
<?xml version="1.0" encoding="utf-8"?>
<profile dslVersion="1.0.0.0"
name="CSharpProfile" displayName="C# Profile"
xmlns="https://schemas.microsoft.com/UML2.1.2/ProfileDefinition">
<stereotypes>...</stereotypes>
<metaclasses>...</metaclasses>
<propertyTypes>...</propertyTypes>
</profile>
[!UWAGA]
Atrybut o nazwie name nie może zawierać spacji i znaków przestankowych.Atrybut displayName, który pojawia się w interfejsie użytkownika powinien być prawidłowym ciągiem XML.
Każdy profil zawiera trzy główne sekcje.W odwrotnej kolejności są one następujące:
<propertyTypes> — lista typów, które są używane dla właściwości zdefiniowanych w sekcji stereotypów.
<metaclasses> — lista typów elementów modelu, do których mają zastosowanie stereotypy w tym profilu, takie jak IClass, IInterface, IOperation, IDependency.
<stereotypes> — definicje stereotypu.Każda definicja obejmuje nazwy i typy właściwości, które są dodawane do elementu modelu docelowego.
Typy właściwości
<propertyTypes> sekcja określa listę typów, które są używane dla właściwości w <stereotypes> sekcji.Istnieją dwa rodzaje typów właściwości: zewnętrzne i wyliczenie.
Typ zewnętrzny deklaruje w pełni kwalifikowaną nazwę standardowej platformy .NET typu:
<externalType name="System.String" />
Typ wyliczany definiuje zestaw wartości literałów:
<enumerationType name="PackageVisibility">
<enumerationLiterals>
<enumerationLiteral name="internal" displayName="internal" />
<enumerationLiteral name="protectedinternal" displayName="protected internal" />
</enumerationLiterals>
</enumerationType>
Metaklasy
<metaclasses> sekcja jest listą typów elementu modelu, do których można zdefiniować stereotypy w tym profilu:
<metaclass
name="Microsoft.VisualStudio.Uml.Classes.IClass" />
<metaclass
name="Microsoft.VisualStudio.Uml.Classes.IInterface" />
<metaclass
name="Microsoft.VisualStudio.Uml.Components.IComponent" />
Aby uzyskać pełną listę typów elementów modelu i relacji, które można użyć jak metaklasy, zobacz Typy elementów modelu.
Definicja stereotypu
<stereotypes> sekcja zawiera jedną lub więcej definicji stereotypu:
<stereotype name="CSharpClass" displayName="C# Class"> ...
Każdy stereotyp wyświetla listę jednego lub więcej elementu lub typów relacji modeli, do których ma zastosowanie.Można nadać nazwę typu podstawowego, aby uwzględnić jego typy pochodne.Na przykład, jeśli określisz Microsoft.VisualStudio.Uml.Classes.IType, stereotyp można zastosować do IClass, IInterface, IEnumerationi kilku innych typów elementów.
<metaclasses>
<metaclassMoniker name=
"/CSharpProfile/Microsoft.VisualStudio.Uml.Classes.IClass" />
</metaclasses>
name Atrybut metaclassMoniker jest to łącze do elementu w <metaClasses> sekcji.
[!UWAGA]
Nazwa Monikera musi zaczynać się od /yourProfileName/, gdzie yourProfileName jest zdefiniowany w name atrybut profilu ("CSharpProfile" w tym przykładzie).Moniker kończy się nazwą jednego z wpisów w sekcji metadanych.
Każdy stereotyp może zawierać zero lub więcej właściwości, które dodaje do dowolnego elementu modelu, do którego ma zastosowanie.<propertyType> zawiera łącze do jednego z typów, które są zdefiniowane w <propertyTypes> sekcji.Łącze musi być albo <externalTypeMoniker> do odwoływania się do <externalType>, lub <enumerationTypeMoniker> do odwoływania się do <enumerationType>.Ponownie, łącze zaczyna się od nazwy profilu.
<properties>
<property name="IsStatic"
displayName="Is Static" defaultValue="false">
<propertyType>
<externalTypeMoniker
name="/CSharpProfile/System.Boolean" />
</propertyType>
</property>
<property name="PackageVisibility"
displayName="Package Visibility"
defaultValue="internal">
<propertyType>
<enumerationTypeMoniker
name="/CSharpProfile/PackageVisibility"/>
</propertyType>
</property>
</properties>
</stereotype>
Typy elementów modelu
Zestaw typów, dla których można zdefiniować stereotypy znajduje się w Typy elementów modelu.
Rozwiązywanie problemów
Moje stereotypy nie pojawiają się w moich modelach UML.
Musisz wybrać profil w paczce lub modelu.Stereotypy pojawiają się na elementach wewnątrz pakietu lub modelu.Aby uzyskać więcej informacji, zobacz Porady: dodawanie stereotypów do elementów modelu.Następujący błąd pojawia się, gdy otwieram model UML: VS1707: The following profiles cannot be loaded because a serialization error occurred: MyProfile.profile
Sprawdź poprawność podstawową składnia XML profilu.
Upewnij się, że każda nazwa Moniker jest w postaci /profileName/nodeName.Nazwa_profilu jest wartością atrybutu nazwy w węźle głównym profilu.Nazwa Węzła jest wartością atrybutu nazwy Metaklasa, externalType lub enumerationType.
Upewnij się, że składnia została tutaj opisana, jak przedstawiono w drive**:\Program Files\Microsoft Visual Studio 12.0\Common7\IDE\Extensions\Microsoft\Architecture Tools\UmlProfiles\**.
Odinstaluj wadliwe rozszerzenie.W menu Narzędzia kliknij Menedżer rozszerzeń.
- Jeśli rozszerzenie nie pojawia się, zobacz następną sekcję.
Rekonstruowanie pliku VSIX i otwarcie go w Eksploratorze Windows, aby zainstalować go ponownie.Uruchom ponownie Visual Studio.
Rozszerzenie nie pojawia się w Menedżerze rozszerzeń, ale podczas próby zainstalowania go ponownie zostanie wyświetlony następujący komunikat: The extension is already installed to all applicable products.
Usuń rozszerzenie pliku z podfolderu LocalAppData\Microsoft\VisualStudio\12.0\Extensions\
Aby zobaczyć LocalAppData musisz ustawić ukryte pliki i foldery w zakładce Widok Opcji Folderów Windows Eksplorer.
LocalAppData zazwyczaj znajduje się w C:\Users\userName\AppData\Local\
Uruchom ponownie Visual Studio.
Zobacz też
Zadania
Porady: dodawanie stereotypów do elementów modelu
Koncepcje
Standardowe stereotypy dla modeli UML
Inne zasoby
Dopasowanie modelu z profilami i stereotypami