Synchronisieren von Modell und Code

www.altova.com Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  UModel Plug-in für Visual Studio >

Synchronisieren von Modell und Code

Die Synchronisierung zwischen der UModel .ump-Datei (dem Modell) und dem C#- oder VB.NET-code kann manuell oder automatisch erfolgen.

 

Die automatische Synchronisierung wird durchgeführt, sobald Sie UModel-Unterstützung zu ihrem Visual Studio-Projekt hinzugefügt haben (siehe Hinzufügen von UModel-Unterstützung zu Visual Studio-Projekten). Bei der automatischen Synchronisierung wird von Ihnen neu bearbeiteter Code vom UModel Plug-in für Visual Studio geparst und das Modell wird anhand dieses Codes aktualisiert. Wenn Sie umgekehrt Änderungen am Modell vornehmen (z.B. durch Bearbeiten eines Diagramms) wird der Code entsprechend aktualisiert. Die manuelle Synchronisierung wird hingegen, wie unten gezeigt, nur bei Bedarf gestartet.

 

Sowohl bei der automatischen als auch bei der manuellen Synchronisierung werden die Änderungen im Bulk für das gesamte Projekt aktualisiert. Wenn UModel als Visual Studio-Plug-in ausgeführt wird, steht die Option zum Zusammenführen oder Aktualisieren einer einzigen Klasse in der Modell-Struktur nicht zur Verfügung.

 

Die Befehle zur Durchführung der automatischen oder manuellen Synchronisierung stehen im Menü Projekt | UModel zur Verfügung:

vs_umodel_synchronization_menu

Menübefehle zur Codesynchronisierung (Visual Studio 2010)

In neueren Versionen von Visual Studio ausgewählte Einträge sehen etwas anders aus.

um_vs_menu_synchronize

Menübefehle zur Codesynchronisierung (Visual Studio 2017)

Die einzelnen Befehle haben die folgende Bedeutung:

Programmcode anhand von UModel-Projekt automatisch synchronisieren

Diese Menüoption ist standardmäßig aktiv, d.h. die Synchronisierung des Modells anhand von Code wird automatisch durchgeführt. Um die automatische Synchronisierung zu aktivieren bzw. zu deaktivieren, deaktivieren Sie die Option.

UModel-Projekt anhand von Programmcode automatisch synchronisieren

Wie oben, doch im umgekehrter Richtung (Code wird im Modell übernommen).

Merge Programmcode aus UModel-Projekt

Aktualisiert den Programmcode anhand der im UModel-Projekt vorgenommenen Änderungen (dieselbe Funktionalität wie in der Standalone-Version).

 

Der Name dieses Befehls ändert sich in Überschreibe Programmcode aus UModel-Projekt, wenn Sie diese Option unter Projekt | UModel Projekt | Synchronisierungseinstellungen ausgewählt haben.

Merge UModel-Projekt aus Programmcode

Aktualisiert das UModel-Projekt anhand der im Programmcode vorgenommenen Änderungen (dieselbe Funktionalität wie in der Standalone-Version).

 

Der Name dieses Befehls ändert sich in Überschreibe UModel-Projekt aus Programmcode, wenn Sie diese Option unter Projekt | UModel Projekt | Synchronisierungseinstellungen ausgewählt haben.

UModel-Projekt- / Programmcodesynchronisierung abbrechen

Dient zum Abbrechen einer laufenden Synchronisierung. Wenn gerade keine Synchronisierung im Gang ist, ist diese Option deaktiviert.

Während der Synchronisierung wird der Fortschritt der Operation in der Visual Studio-Statusleiste angezeigt, z.B.

vs_progress_bar_2012

In den folgenden Fällen kann keine Synchronisierung zwischen Code und Modell durchgeführt werden:

 

Code kann nicht geparst werden
Beim letzten Reverse Engineering oder Forward Engineering ist ein Fehler aufgetreten
Bei der Syntaxüberprüfung in UModel wird ein Fehler gefunden.

 

In solchen Fällen werden die Fehlerinformationen im Fenster Meldungen angezeigt. Um die Quelldatei, die den Fehler enthält, zu öffnen, klicken Sie im Fenster Meldungen auf die entsprechende Zeile. Der Cursor wird in die Zeile, die den Fehler enthält, positioniert.

 

Einschränkungen bei der automatischen Synchronisierung

Bei einigen Änderungen am C#- und VB.NET-Code wird kein Visual Studio-Ereignis ausgelöst. Diese Änderungen werden daher nicht automatisch in UModel aktualisiert. In diesen Fällen können Sie entweder eine manuelle Synchronisierung durchführen oder eine andere Änderung vornehmen, aufgrund welcher die Quelldatei aktualisiert wird. Eine manuelle Synchronisierung muss durchgeführt werden, wenn Sie die folgenden Elemente hinzufügen oder ändern:

 

Standardwerte für Attribute
Standardwerte für Operationsparameter
Vorlagenparameter
Vorlagen-Bindings
Summary-Abschnitt für alle Elemente
Remark-Abschnitt für alle Elemente
Alle Änderungen in Method Bodies

 

Beachten Sie, dass die automatische Codesynchronisierung bei Änderung eines der oben angeführten Modellierungselementen ganz normal durchgeführt wird. Bei der automatischen Synchronisierung des Codes anhand des Modells gibt es keine Einschränkungen.

 

Um das Modell manuell anhand des Codes zu synchronisieren, klicken Sie im Code-Editor mit der rechten Maustaste auf die Quellcodedatei und wählen Sie im Kontextmenü den Befehl Reverse Engineering-Vorgang an aktueller Datei ausführen.

Wenn Ihr UModel-Projekt das Sprachprofil für Java enthält, so ist die automatische Synchronisierung für dieses Projekt in Visual Studio automatisch deaktiviert und es wird ein entsprechendes Meldungsfeld angezeigt. Solche Projekte müssen (mit den Befehle UModel | Merge Programmcode aus UModel-Projektect und UModel | Merge UModel-Projekt aus Programmcode) manuell synchronisiert werden. Alternativ dazu können Sie auch das UModel-Plug-in für Eclipse verwenden (siehe UModel Plug-in für Eclipse ).


© 2019 Altova GmbH