Přizpůsobení a rozšíření jazyka specifického pro doménu
Visual Studio modelování a vizualizace SDK (VMSDK) obsahuje několik úrovní, v nichž můžete definovat nástroje modelování:
Definujte specifické domény jazyk (DSL) pomocí diagramu definice DSL.DSL lze rychle vytvořit graficky notace, čitelné formě XML a základní nástroje, které jsou požadovány pro generování kódu a další artefakty.
Další informace naleznete v tématu Jak se definuje jazyk specifický pro doménu.
Modem DSL doladit pomocí rozšířené funkce definice DSL.Můžete například vytvořit další odkazy, které se zobrazí, když uživatel vytvoří element.Tyto techniky jsou většinou dosáhnout v definici DSL a některé vyžadují několik řádků kódu programu.
Nástroje pro modelování lze rozšířit pomocí kódu programu.VMSDK je specificky navržen pro snadno integrovat vaše rozšíření s kódem, který je generován z definice DSL.Další informace naleznete v tématu Zápis kódu pro úpravu jazyka specifického pro doménu.
[!POZNÁMKA]
Při aktualizaci souboru definic DSL nezapomeňte klepněte na Transformace všechny šablony v panelu nástrojů aplikaci Solution Explorer před opětovné vytvoření řešení.
V tomto oddíle
K dosažení tohoto efektu |
Naleznete v tomto tématu |
---|---|
Umožňuje nastavit barvu a styl vlastnosti obrazce. |
Pravým tlačítkem myši na tvar nebo spojovací třídy, přejděte na Přidat vystavenia klepněte na položku. Viz téma Přizpůsobení prezentace v diagramu. |
Různé třídy prvku modelu vypadat podobně jako v diagramu, sdílení vlastnosti jako původní výšku a šířku, barvu, popisy tlačítek. |
Pomocí dědičnosti mezi obrazce spojnice.Podrobnosti mapování z rodičů, dědí mapování mezi odvozené tvary a třídy odvozené domény. Nebo mapovat do stejné třídy tvaru tříd v jiné doméně. |
Třídy prvku modelu je zobrazen kontexty různých tvarů. |
Více než jeden obrazec Třída mapovat do stejné třídy domény.Při vytváření řešení podle zprávy o chybách a poskytnout požadovaný kód rozhodnout, jaké obrazec. |
Tvar, barvu nebo jiné funkce, jako je například písmo označují aktuální stav. |
Viz téma Aktualizace obrazců a konektorů k vyjádření modelu. Vytvořte pravidlo, že aktualizace vystavených vlastnosti.Viz téma Pravidla šířící změny v modelu. Nebo pomocí OnAssociatedPropertyChanged()-vystaveny funkce, jako je například písmo nebo šipky propojení aktualizovat. |
Ikona se změní obrazec označující stát. |
Nastavte viditelnost decorator mapování v okně Detaily DSL.Vyhledejte sklenářské několik obrázků na stejné pozici.See Aktualizace obrazců a konektorů k vyjádření modelu. Nebo přepsat ImageField.GetDisplayImage().Viz příklad v ImageField. |
Nastavit obrázek pozadí na libovolný obrazec |
InitializeInstanceResources() přidání ukotvených ImageField přepsat.Viz téma Přizpůsobení prezentace v diagramu. |
Hnízdo obrazce do libovolné hloubky |
Nastavte rekurzivní vkládání stromu.Definujte BoundsRules obsahovat obrazce.Viz téma Přizpůsobení prezentace v diagramu. |
Připojte spojnice na pevné body na hranici prvku. |
Definujte vložené terminálu prvky reprezentované malé porty v diagramu.Pomocí BoundsRules oprava porty na místě.Viz Diagram okruh vzorku v vizualizaci a modelování SDK. |
Textové pole zobrazuje hodnoty získané z jiných hodnot. |
Vypočítaná nebo skladování vlastní vlastnost domain mapovat text decorator.Další informace naleznete v tématu Vypočtené a vlastní vlastnosti úložiště. |
Rozšířit změny mezi prvky modelu, nebo obrazce |
|
Rozšířit změny na prostředky, například Další Visual Studio rozšíření mimo úložiště. |
|
Zobrazí se okno Vlastnosti vlastností souvisejících prvků. |
Nastavte vlastnost dál.Viz téma Přizpůsobení okna Vlastnosti. |
Kategorie vlastností |
Okno Vlastnosti rozdělen do oddílů názvem kategorie.Nastavit kategorie vlastnosti vaší domény.Vlastnosti se stejným názvem kategorie se zobrazí ve stejné části.Můžete také nastavit kategorie role vztahu. |
Řízení přístupu uživatele k vlastnosti domény |
Nastavit Je procházet hodnotu false, aby vlastnost domain zobrazování v okně Vlastnosti v době spuštění.Stále ji můžete mapovat na text sklenářské. Je jen pro čtení uživatelského rozhraní zabraňuje uživatelům měnit vlastnosti domény. Přístup k vlastnosti domény není ohrožena. |
Změňte název, ikony a viditelnost uzly v Průzkumníku modelů vaše DSL. |
Viz téma Přizpůsobení Průzkumníka modelů. |
Povolit kopírování, vyjímání a vkládání |
Nastavit Povolit kopírování, vkládání vlastnost Editor uzel v aplikaci Explorer DSL. |
Při každém prvku zkopírováno kopírovat odkazy a jejich cíle.Například kopírovat poznámky připojené k položce. |
Nastavit Šíří kopie vlastnost Zdroj role (představovaný řádku na jedné straně vztah domény v diagramu definice DSL). Zápis kódu potlačit ProcessOnCopy k dosažení složitější efekty. Viz téma Přizpůsobení chování kopírování. |
Odstranit, reparent nebo znovu připojit související prvky při odstranění prvku. |
Nastavit Šíří odstranit hodnotu role vztahu.Složitější efekty přepsat ShouldVisitRelationship a ShouldVisitRolePlayer metod MyDslDeleteClosure třídy definované vDomainModel.cs |
Zachovat tvar rozložení a vzhled na kopii a přetáhněte. |
Přidat tvarů a spojovacích čar zkopírované ElementGroupPrototype.Je nejvhodnější metoda potlačeníElementOperations.CreateElementGroupPrototype() Viz téma Přizpůsobení chování kopírování. |
Vložení obrazců do zvoleného umístění, jako je například aktuální pozice kurzoru. |
Přepsat ClipboardCommandSet.ProcessOnCopy() používat specifické umístění verzi ElementOperations.Merge(). viz Přizpůsobení chování kopírování. |
Vytvořit další odkazy na vložení |
Přepsat ClipboardCommandSet.ProcessOnPasteCommand() |
Povolit přetahování a přetažení z jiných DSL, linky nebo UML diagramu diagramy a prvky systému Windows |
|
Povolit nástroj přetáhnout na podřízený obrazec, jako například port, tvaru nebo, jako by byla přetažena na nadřazený. |
Definujte direktivu sloučit Element, cílové třídy object, předá vyřazených objekt nadřazeného.Viz téma Přizpůsobení vytvoření a přesunutí elementu. |
Povolte přetažení obrazce a mít další odkazy nebo objekty vytvořené nástrojem tvaru nebo.Chcete-li například povolit komentář, který má být přetažen na položku, na kterou je spojen. |
Definovat direktivu sloučit prvek ve třídě cílové domény a definovat propojení generován.Ve složitých případech můžete přidat vlastní kód.Viz téma Přizpůsobení vytvoření a přesunutí elementu. |
Vytvořte skupiny prvků s jeden nástroj.Například komponenta s pevnou sadu portů. |
Přepište metodu inicializace nástrojů v ToolboxHelper.cs.Vytvoření prvek skupiny prototypu (EGP) obsahující prvky a jejich vztah vazby.Viz téma Přizpůsobení nástrojů a panelu nástrojů. Zahrnout EGP obrazce hlavní a port, nebo definovat BoundsRules pro umístění obrazců port, když je vytvořena EGP.Viz téma Umístění a velikost obrazce omezení BoundsRules. |
Pomocí jednoho nástroje připojení ke konkretizaci několik typů vztahů. |
Tvůrce připojení, který je vyvolán nástroj přidáte odkaz připojit směrnic (LCD).Monitorů LCD určují typ relace z typů dva prvky.Chcete-li to závisí na státy prvků, můžete přidat vlastní kód.Viz téma Přizpůsobení nástrojů a panelu nástrojů. |
Nástroje pro rychlé – uživatel poklepáním na libovolný nástroj postupně vytvořit mnoho obrazců nebo spojnice. |
Vyberte v aplikaci Explorer DSL Editor uzel.V okně Vlastnosti nastavit Používá rychlé položky panelu nástrojů. |
Definování příkazů nabídky |
VizPostupy: Úprava příkazu standardní nabídky v jazyce specifickém pro doménu |
Omezit model s ověřovací pravidla |
|
Generování kódu, konfigurační soubory nebo dokumenty z DSL. |
|
Přizpůsobit jak modely uloženo do souboru. |
|
Modely uložte do databáze nebo jiné médium. |
Přepsat YourLanguageDocData |
Integrate několik DSL, linky fungují v rámci jedné aplikace. |
|
Povolit vaše DSL třetími stranami prodloužení a rozšíření řízení. |
Rozšíření vašeho DSL pomocí MEF Sdílení tříd mezi DSL pomocí knihovny DSL Definování zásady zamykání pro vytváření segmentů jen pro čtení |
Viz také
Koncepty
Jak se definuje jazyk specifický pro doménu
Sada Modeling SDK pro sadu Visual Studio – jazyky domény