Änderungen V9.2 Changes V9.2 

Liste der Änderungen und Neuerungen in EasyCODE 9.2

 

Struktogramm goes UML: Der Symbolmodus

Für Struktogramme gibt es nun einen Symbolmodus.
Die Umschaltung der Struktogramme in den Symbolmodus und zurück erfolgt über den Menübefehl Ansicht > Struktogramme mit Symbolen (Strg+Umschalt+I).

Der Symbolmodus schlägt eine Brücke von Struktogrammen zu UML2-Aktivitätsdiagrammen:
Er zeigt in Konstrukten, für die es eine Entsprechung in Aktivitätsdiagrammen gibt, UML2-Symbole an.
Dabei wird gegebenenfalls das Schlüsselwort, das den Konstrukttyp kennzeichnet, durch das entsprechende UML2-Symbol ersetzt.

Beispiel:
Ein if-then-else-Struktogrammelement entspricht in einem UML2-Aktivitätsdiagramm einem Entscheidungsknoten mit zwei ausgehenden Kontrollflüssen.
Das Schlüsselwort if wird durch das UML2-Symbol für den Entscheidungsknoten ersetzt.

Wenn die Maus über das Symbol bewegt wird, erscheint ein ToolTip, das die UML2-Bezeichnung des Konstrukts, die Bezeichnung in der aktuellen Programmiersprache sowie den Zielcode inklusive der ersetzten Schlüsselwörter anzeigt.

Die neuartige Floating-Anzeige der Symbole sorgt beim Scrollen im Struktogramm für eine optimale Orientierung und Navigation:
Auch wenn sich der Beginn eines Konstrukts nicht mehr innerhalb des sichtbaren Struktogramm-Ausschnitts befindet, verbleibt das Symbol am oberen Bildrand, solange noch ein Teil des Konstrukts sichtbar ist. Auch bei tiefen Konstruktschachtelungen haben Sie so immer die Symbole aller Elternkonstrukte im Blick und können deren ToolTip-Informationen abrufen.

 

Brotkrumen-Navigation (Breadcrumb Navigation)

Oberhalb des Struktogramms wird nun optional eine Brotkrumen-Navigationsleiste angezeigt.
(Ein-/Ausschaltbar für jedes Struktogramm separat im Menü Ansicht. Standard-Einstellung unter Optionen > Struktogramm-Einstellungen > Ansicht/Druck.)

Die Brotkrumen-Navigationsleiste zeigt den Pfad zum aktuell ausgewählten Struktogrammelement an.

Wenn Sie auf ein Element dieses Pfades klicken, navigiert EasyCODE im Struktogramm zu diesem Element.
Wenn Sie auf den Pfeil hinter einem Pfadelement klicken, erscheint ein Menü mit der Liste aller untergeordneten Elemente.

 

Anbindung an das Versionskontrollsystem des TFS (Microsoft Team Foundation Server)

EasyCODE unterstützt nun die Versionsverwaltung des Microsoft Team Foundation Server 2012:

Die Anbindung prüft automatisch - falls aktiviert - ob ein Projekt in einem vom TFS verwalteten Verzeichnis liegt.
Ist dies der Fall, wird automatisch der Status aller Projektdateien angezeigt.
Außerdem werden diverse Versionsverwaltungsfunktionalitäten wie Einchecken, Auschecken, Hinzufügen, Löschen, Letzte Version abrufen und Historie anzeigen zur Verfügung gestellt.
Auch kann man im Menü Projekt > Einstellungen für das aktuelle Projekt > Versionsverwaltung durch Doppelklick auf Team Foundation Server DB verschiedene EasyCODE-Schlüsselereignisse mit dem TFS verknüpfen, z.B. dass beim Öffnen eines Projekts automatisch die letzten Versionen aller im Projekt befindlichen Dateien abgerufen werden.

 

Integration von Doxygen (Dokumentationswerkzeug)

EasyCODE unterstützt nun Doxygen zur Generierung einer Quellcode-Dokumentation für C/C++.
Dazu wurde ein neues Menu Doxygen eingefügt, wo die Dokumentationsgenerierung gestartet, der Inhalt angezeigt und Doxygen für EasyCODE konfiguriert werden kann.
Auch das Standardlayout der Doxygen-Kommentare kann hier eingestellt werden.
Darüber hinaus gibt es in der C/C++-Toolbar neue Doxygen-Elemente, die dabei helfen, Kommentar-Bausteine mit dem definierten Layout in C/C++-Dateien einzufügen.
Zusätzlich kann man einstellen, dass beim Einfügen neuer Funktionen, Klassen und Dateien automatisch ein Doxygen-Kommentar mit eingefügt wird.
Außerdem ist es hier möglich festzulegen, ob beispielsweise beim Speichern einer Datei automatisch im Hintergrund die Dokumentation neu generiert werden soll.

 

Kleinere Erweiterungen / Änderungen

 

Plugin für Microchip MPLAB X (für den Austausch von Debug-Informationen zwischen MPLAB X und EasyCODE):
Es gibt nun eine neue Version des Plugins, das MPLAB X auch ab Version 1.85 unterstützt.

In EasyCODE-Projekten kann nun eine Projektbeschreibung angegeben werden.
(Unter Menü Projekt > Einstellungen für das aktuelle Projekt > Sonstiges.)
Diese Beschreibung wird auch bei der Erstellung einer Doxygen-Dokumentation verwendet.

Für die Einstellung, ob die Strukturbaumansicht beim Öffnen von Struktogrammen standardmäßig angezeigt werden soll, befindet sich nun eine Checkbox unter Menü Optionen > Struktogramm-Einstellungen > Ansicht/Druck.
(Wie für die Einstellung Brotkrumennavigation standardmäßig anzeigen auch.)

Struktogramm-Ebene auf-/zuklappen:
Unter Optionen > Struktogramm-Einstellungen > Bearbeitung kann nun eingestellt werden, ob ein Struktogramm als geändert markiert werden soll, wenn eine Ebene auf- oder zugeklappt wird (per "+"/"-"-Button).

Es gibt nun einige Video-Tutorials für EasyCODE:
http://www.youtube.com/channel/UCRdE1C-CS59TFDoloYJAjOQ

 

Benutzerdefinierte Erstellung:

Neue vordefinierte Erstellungsstufen:

  • Aktuelles Dokument speichern
  • Aktuelles Struktogramm als ETF (*.etf) speichern
  • Aktuelles SPX-Dokument generieren

 

Automationsschnittstelle:

Alle vordefinierten Erstellungsstufen der Benutzerdefinierten Erstellung sind nun auch über die Automationsschnittstelle aufrufbar.
Darunter auch die neuen Methoden:

  • saveCurrentDoc( strFilePath ): Aktuelles Dokument speichern, optional mit Angabe eines Dateipfads
  • saveCurrentDocAsETF(): Aktuelles Struktogramm als ETF (*.etf) speichern
  • generateCurrentSPXDoc(): Aktuelles SPX-Dokument generieren

Außerdem gibt es eine neue Eigenschaft:

  • LastEditedText: Liefert den zuletzt im Editierfeld angezeigten Text (auch wenn er nicht geändert wurde).

Beispiel für die Anwendung in einem Automationsskript:
    EasyCODE.saveCurrentDoc("Filename.cpp");
    MessageBox.Show(EasyCODE.LastEditedText);

 

Statecharts:

Die Auswahlliste bei der Eingabe von Ereignissen, Guards und Aktionen wurde bzgl. der Behandlung von Tab- und Return-Taste verbessert:
Zunächst ist in der Auswahlliste kein Eintrag selektiert. Solange nicht durch Pfeil-auf/abwärts eine Selektion stattfindet, wird bei Betätigung der Tab- oder Return-Taste die Auswahlliste nur geschlossen.
Falls dagegen ein Eintrag selektiert ist, bewirken Tab- oder Return-Taste eine Übernahme des ausgewählten Textes.

Beim Editieren von Guards und Aktionen werden zusätzlich zu den bislang verwendeten Guards/Aktionen nun folgende nützliche Code Snippets in der Auswahlliste angezeigt:

  • PUBLISH_SIGNAL( XXX )
  • me.extra
  • me.base (in C) bzw. base. (in C++)
  • base_extra
  • sub.

 

Bugfixes


Aktuelle Bugfixes von Version 9.2 auf 9.2.3:

  • Sprachkomponente C/C++:
    Wenn ein auskommentiertes Struktogrammelement in die Zwischenablage kopiert wurde (Strg+C), kam es zu einem Absturz.
  • Sprachkomponente SPX:
    Wenn ein aus mehreren Elementen bestehender Struktogrammabschnitt in die Zwischenablage kopiert wurde (Strg+C), kam es zu einem Absturz.
  • Bei nachträglicher Installation der COBOL-Komponente (per Setup-Modus "Ändern") wurde in der Windows Registry der Pfad zur COBOL-Ini-Datei ("IniFile") nicht gesetzt.
  • Beim Speichern der sprachspezifische Struktogrammeinstellungen wurde in einige, bis dahin leere Felder "C:\" geschrieben.
  • Beim Aufruf des Befehls "Ersetzen in Dateien" erschien anstelle eines Hinweises, dass geänderte Dokumente gespeichert werden sollten, die Meldung "Vorwärts Vorwärts". (Nur in deutscher Version.)

Wenn ein Projektpfad Umlaute enthielt, wurde die BrowseInfo nicht in der Baumansicht angezeigt.
Dieser Fehler ist nun behoben.

Im Sichtenfenster wird nun für neue Dateien kein rotes X mehr angezeigt, sondern stattdessen das EasyCODE-Symbol verwendet. Außerdem werden jetzt auch neue Zustandsdiagramme im Sichtenfenster angezeigt.

Der Dateiauswahl-Dialog Dateien hinzufügen im Projekt-Kontextmenü filtert die Dateien des ausgewählten Ordners nun korrekt - abhängig vom Filter, der für den zugehörigen Projektordner festgelegt wurde.

Fehler beim Auskommentieren in COBOL-Struktogrammen behoben:
Wenn nach einem auskommentierten Bereich direkt ein Anweisungselement folgte, wurde dieses unter Umständen nicht mehr mit eingelesen.

Probleme beim Einlesen von C++-Dateien im Zusammenhang mit "Strukturfremder Text"-Kommentaren und nicht abgeschlossenen Hochkomma-Formationen wurden behoben. Entsprechende Dateien sollten nun eingelesen werden können.

In der Automationsschnittstelle endete die Schnittstellenmethode get_CurrentText (= Eigenschaft CurrentText) bislang mit E_FAIL, wenn beim Verlassen des Textfeldes durch Mausklick außerhalb kein Element mehr selektiert war.
Nun wurde die Methode so geändert, dass sie in jedem Fall mit S_OK endet und einen leeren String liefert, wenn es keinen CurrentText gibt.
Um den zuletzt editierten Text abfragen zu können, wurde die Eigenschaft LastEditedText zur Schnittstelle hinzugefügt.

Bugfix bei SPS-Struktogrammen:
Das erste Struktogrammelement innerhalb einer Ebene, die sich am Anfang eines CASE...OF-Zweigs befindet, wurde beim Speichern des Struktogramms mit falscher Einrückung gespeichert.
Das hatte zur Folge, dass bei jedem erneuten Öffnen des Struktogramms zusätzliche Leerzeichen vor den folgenden Zeilen des Elements erzeugt wurden.

In der Vorlage für Zustandsdiagramm-Projekte ist jetzt für alle Compiler/Linker-Erstellungsstufen die Errorcode-Checkbox gesetzt, damit Fehler beim Kompilieren/Linken sofort im Ausgabefenster erkennbar sind.

Der Menüpunkt Datei > Projekt > Neues Projekt für Zustandsdiagramme ist nun auch vorhanden, wenn ein Zustandsdiagramm oder ein Struktogramm aktiv ist.

Im EcFramework für Zustandsautomaten wurde eine falsche Assertion ersetzt:
Datei EcBaseStatemachine.cpp, Funktion CEcBaseStatemachine::handleEvent() (Zeile 431):
    ASSERT(isRunning());  // must have been checked by calling function
wurde ersetzt durch:
    if ( !isRunning() )
        return FALSE;  // not handled


Ein Anwender meldete Abstürze beim Speichern von Dateien, während EasyCODE geschlossen wird.
Wir konnten die Abstürze nicht reproduzieren, vermuten aber, dass sie mit der automatischen Erstellung der BrowseInfo zusammenhängen.
Darum wird die BrowseInfo nun vorsichtshalber in keinem Fall mehr erzeugt, während EasyCODE gerade beendet wird.

Sporadische Abstürze (Speicherschutzverletzungen) beim Öffnen des Editierfeldes im Struktogramm und im Statechart-Editor sollten nun nicht mehr auftreten.

Folgender Fehler beim Datei-Öffnen wurde beseitigt:
Beim Ziehen einer EasyCODE-Projektdatei aus dem Windows Explorer auf das EasyCODE-Desktop-Symbol wurde EasyCODE zwar geöffnet, aber sofort wieder beendet.
Dasselbe Verhalten, wenn eine Projektdatei aus dem Windows-Startmenü heraus geöffnet wurde.

Folgender Fehler in Zustandsdiagrammen wurde beseitigt:
Sobald in einen bereits manuell größenveränderten Zustand das erste Subelement (Substate, interne Transition, entry-Aktion, ...) eingefügt wurde, verkleinerte sich der Zustand wieder.

Es kam sporadisch zu Abstürzen beim Beenden von EasyCODE, besonders unter Windows 8.
Diese Probleme konnten nun auf Fehler in der Speicherverwaltung zurückgeführt und behoben werden.

Bei Aufruf des Kommandos Bearbeiten > Ersetzen in Dateien... kam es zu einem Absturz.
Dieser Fehler ist nun behoben.

Wenn im Struktogramm innerhalb des Editierfeldes per Shift+Pfeiltaste eine Selektion aufgezogen wird und der Cursor dabei den Rand der Ansicht erreicht, wird nun automatisch gescrollt.

Der Modus zum Verschieben des aktuell ausgewählten Struktogramm-Elements kann jetzt nicht mehr bei geöffnetem Editierfeld aktiviert werden (per Strg+M), weil dies ein unerwünschtes Verhalten beim Scrollen der Ansicht zur Folge hatte.

In COBOL-Struktogrammen kam es beim Verschieben von Elementen zum Absturz.
Dieser Fehler ist nun behoben.

Plugin für MPLAB X:
Bislang wurden unter bestimmten Bedingungen nicht alle Haltepunkte im EasyCODE-Struktogramm angezeigt. Jetzt wurde die Synchronisation der Haltepunkt-Anzeige deutlich verbessert.

Plugin für MPLAB X:
Bei frühere Versionen des Plugins wurden - je nach MPLABX-Version - die Inhalte von Stringvariablen in den ToolTips und im Ausgabefenster fälschlicherweise als Hexadezimalwerte angezeigt. Jetzt werden sie als Schriftzeichen angezeigt.

 

 

EASYCODE GmbH, Löwenberger Str. 50, 90475 Nürnberg | Tel: +49 (0)911 / 99 840 60 | Fax: +49 (0)911 / 99 840 97 | info(at)easycode.de 

Impressum | Datenschutzerklärung