Optionen für den Code-Import

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

Startseite >  Projekte und Code Engineering > Importieren von Quellcode >

Optionen für den Code-Import

Wenn Sie Programmcode in ein UModel-Projekt importieren, müssen Sie die unten aufgelisteten Optionen eventuell definieren oder ändern. Diese Optionen stehen in dem Dialogfeld, das bei Aufruf des Menübefehls Projekt | Quellprojekt importieren oder Projekt | Quellverzeichnis importieren angezeigt wird, zur Verfügung.

um_dlg_import_source_project

Dialogfeld "Quellprojekt importieren"

Die meisten der Optionen im Dialogfeld können auch später jederzeit geändert werden, siehe Codesynchronisierungseinstellungen.

 

Die folgenden Optionen gelten unabhängig von Sprache oder Plattform für alle Projekttypen:

 

Option

Beschreibung

Projekt relativ zur UModel-Projektdatei importieren

Standardmäßig ist diese Option aktiviert, d.h. zwischen dem UModel-Projekt und dem importierten Quellcodeprojekt wird ein relativer Pfad definiert.

 

Nach Import des Quellcodes wird im UModel-Projekt automatisch eine UML-Komponente generiert (sie steht in der Modell-Struktur als Child von "Component View" zur Verfügung). Diese Komponente realisiert die zu erzeugenden Schnittstellen oder Klassen; Sie definiert auch die Optionen für das Code Engineering, einschließlich Pfad zum Quellprojekt oder -verzeichnis. Wenn Projekt relativ zur UModel-Projektdatei importieren aktiviert ist, handelt es sich hierbei um einen relativen Pfad, andernfalls um einen absoluten.

Code in Modell zusammenführen / Modell anhand von Code überschreiben

Wenn Code ...zusammenführen ausgewählt ist, werden potenzielle Namenskonflikte (wie z.B. Paket- oder Klassennamen) durch Anhängen einer Nummer an das zu importierende Element gelöst.

 

Wenn ...überschreiben ausgewählt ist und es Namenskonflikte gibt, hat das importierte Element Vorrang vor einem im Projekt bereits vorhandenen (und überschreibt dieses).

Diagrammgenerierung aktivieren

Aktivieren Sie dieses Kontrollkästchen optional, wenn Sie anhand der importierten Klassen Klassen- und Paketdiagramme generieren möchten. Wenn dieses Kontrollkästchen aktiviert ist, inkludiert der Importassistent zusätzliche Schritte, über die sie das Aussehen der generierten Diagramme anpassen können.

 

Die folgenden Optionen gelten nur für C++-Projekte:

um_dlg_import_source_project_cpp

Dialogfeld für C++-Projekteinstellungen

Option

Beschreibung

Microsoft Visual C++-Kompatibilität

Diese Option ist nur beim Import von mit Visual Studio kompiliertem C++-Code anwendbar. Sie können damit die Microsoft Visual C++ Compiler-Kompatibilität definieren. Wählen Sie hier die von Ihrem Visual Studio C++-Projekt verwendete Compiler-Version (Codedialekt) aus. Beachten Sie, dass sich diese Einstellung auf den Codedialekt der Quellcodedateien bezieht. Das Visual Studio-Projekt (oder die Projektmappe) selbst muss mit Visual Studio-Versionen ab Visual Studio 2010 gespeichert werden, damit Code importiert werden kann. Um Quellcode zu importieren, der mit einer andere IDE als Visual Studio erstellt wurde, verwenden Sie den Befehl Projekt | Quellverzeichnis importieren.

Zusätzliche Compiler-Optionen (clang)

UModel verwendet intern zum Lesen von C++-Code die clang Compiler-Version 3.8. In diesem Textfeld können, falls nötig (wenn auf UModel anwendbar), zusätzliche Code Parsing-Optionen definiert werden, siehe auch clang-Dokumentation (http://releases.llvm.org/3.8.1/tools/docs/UsersManual.html#command-line-options).

Verzeichnisse inkludieren

Mit Hilfe dieser Option können Sie zusätzliche Verzeichnisse definieren, in denen UModel beim Reverse Engineering von C++-Code nach C++-Klassen suchen soll. Das Definieren der zu inkludierenden Verzeichnisse ist optional, wenn es sich um ein Visual Studio-Projekt handelt.

 

Wenn Sie das Kontrollkästchen Systemverzeichnisse automatisch ermitteln und verwenden aktiviert haben, versucht UModel, zusätzlich zu den in diesem Dialogfeld explizit angeführten Verzeichnissen, alle systemweit definierten zu inkludierenden Verzeichnisse automatisch zu ermitteln.

 

Die Systemverzeichnispfade können auch über die Systemumgebungsvariable UMODEL_CPP_INCLUDE definiert werden, siehe Reverse engineering von C++-Projekten. In diesem Fall ersetzen die in der Systemumgebungsvariablen UMODEL_CPP_INCLUDE definierten Verzeichnisse diejenigen, die sonst inkludiert würden, wenn das Kontrollkästchen Systemverzeichnisse automatisch ermitteln und verwenden aktiviert wäre.

Präprozessordefinitionen

Mit Hilfe dieser Option können Sie etwaige für die Codekompilierung benötigte C++-Vorverarbeitungsanweisungen definieren. Wenn es sich beim Quellprojekt um ein Visual Studio-Projekt handelt, werden die Vorverarbeitungsanweisungen automatisch ermittelt.

Importmodus

Mit der Option C++-Quelldateien lesen werden alle Dateien des Quellprojekts geparst. Dies ist die Standardoption. Wenn Sie nur C++-Bibliotheken importieren möchten, aktivieren Sie die Option nur C++-Header lesen, was auch den Import beschleunigt.

 
Standardmäßig werden .h-Dateien als C++-Header behandelt. Deaktivieren Sie das Kontrollkästchen .h-Dateien als C++-Header behandeln, wenn im Quellprojekt eine andere Dateierweiterung für Header-Dateien verwendet wird.

 

Die folgenden Optionen gelten nur für C#- und VB.NET-Projekte:

 

Option

Beschreibung

DocComments als Dokumentation

Aktivieren Sie dieses Kontrollkästchen, um im C#-Code gefundene Kommentare in UModel-Elementdokumentation zu konvertieren (siehe auch Dokumentation).

Aliasnamen auflösen

 

 

 

Dieses Kontrollkästchen ist standardmäßig aktiviert. Wenn Ihr C#- oder VB.NET-Code Namespaces oder Klassenaliasse wie im Codefragment unten enthält, wird empfohlen, dieses Kontrollkästchen aktiviert zu lassen. Andernfalls werden Assoziationen und Abhängigkeiten im Zusammenhang mit Klassen und Namespaces in Ihrem Code beim Import von UModel eventuell nicht automatisch erkannt (und wären daher im Modell auch nicht vorhanden).

 

using Q = System.Collections.Generic.Queue<String>;
Q myQueue;

Beispiel für ein Alias in C#-Code

Potenziell Konflikte verursachende Aliasnamen werden beim Import zum Paket "Unbekannte externe Elemente" des UModel-Projekts hinzugefügt, wenn ihre Verwendung nicht klar ist.

 

Wenn Sie den Code anhand des Modells wieder aktualisieren (Round-Trip Engineering), werden die Aliasse, so wie sie im generierten Code vorhanden sind, beibehalten.

 

Die Option Alialsnamen auflösen kann später jederzeit wieder geändert werden, siehe Codesynchronisierungseinstellungen. Wenn Sie diese Option nach (nicht aber vor) dem Import aktivieren, fordert Sie UModel auf, das Projekt wieder anhand des Codes zu aktualisieren, da die Option sich auch auf das Forward Engineering auswirkt.

Definierte Symbole

Wenn Ihr C#- oder VB.NET-Code Symbole enthält, die über Vorverarbeitungsanweisungen wie #if, #endif definiert sind, können Sie UModel anweisen, diese beim Reverse Engineering von Code zu berücksichtigen.

 

#if DEBUG      

       static void DisplayMessage()

       {

           Console.WriteLine("Please wait...");          

       }

#endif

Beispiel für ein Symbol für bedingte Kompilierung in C#-Code

Wenn Sie z.B. am obigen Code ein Reverse Engineering durchführen, wird die Methode DisplayMessage() nur dann in das Modell importiert, wenn Sie das DEBUG-Symbol definiert haben.

 

Um Symbole für bedingte Kompilierung zu definieren, geben Sie diese, getrennt durch ein Semikolon, in das Textfeld "Definierte Symbole" ein.

 

Beim Reverse Engineering werden alle im Quellcode verwendeten Symbole von UModel im Fenster "Meldungen" ausgegeben.

 

Die folgenden Optionen gelten nur für Java-Projekte:

 

Option

Beschreibung

JavaDocs als Dokumentation

Aktivieren Sie dieses Kontrollkästchen, um im Code gefundene Kommentare im JavaDocs-Stil in UModel-Elementdokumentation zu konvertieren (siehe auch Dokumentation).

 

Anmerkung: Nur Kommentare zu Java-Klassen, Schnittstellen, Operationen und Eigenschaften werden konvertiert.


© 2019 Altova GmbH