Eclipse als Matlab Editor: Unterschied zwischen den Versionen

Aus Physik
Zur Navigation springen Zur Suche springen
Zeile 36: Zeile 36:
 
===Lösungsvorschläge für das Verwalten mehrerer Workspaces mit Matlab===
 
===Lösungsvorschläge für das Verwalten mehrerer Workspaces mit Matlab===
 
* Speichern aller Variablen vor der Ausführung eines Beispiels und nachträgliches Wiedereinspielen
 
* Speichern aller Variablen vor der Ausführung eines Beispiels und nachträgliches Wiedereinspielen
  +
  +
  +
==Grundlagen (Editoren in Eclipse)==
  +
  +
Wie nicht anders zu erwarten stellt Eclipse ein umfassendes Framework für das Erstellen eigener Editoren zur Verfügung. Damit kann man sich bei der Programmierung auf die Kernfunktionalitäten konzentrieren, allerdings
  +
muss man sich erst mal im Framework zurechtfinden (es sind seehr viele Klassen und Interfaces, mit denen man es zu tun hat).
  +
  +
Die gröbste Einteilung der grundlegenden Texteditor-Funktionen ist:
  +
* Inhaltsassistenz
  +
* Syntaxhervorhebung
  +
* Formatierer
  +
Die hier streng durchgezogene Aufteilung ist für unseren Editor, abgesehen von der schönen Trennung von Funktionalitäten, auch deshab sehr angenehm, da man sich so einer Aufgabe nach der anderen widmen kann.

Version vom 28. Oktober 2005, 09:26 Uhr

Editor-Plugin

Gewüschte Features

  • Syntax-Highlighting mit allen Keywords
  • Syntax-Highlighting funktioniert auch bei folgenden Konstrukten: y=x'; %kljdsad
  • Templates über Strg+Leertaste
  • Code-Completion
  • Automatische Einrückung
  • Tab verschiebt ganze Zeile wie im emacs
  • Automatische Codeausrichtung des ganzen Skripts
  • Matching Brackets

Status

  • Syntax-Highlighting mit allen Keywords implementiert
  • Matching Brackets

Builder-Plugin

Gewünschte Features

  • Matlab Syntax wird wie in Eclipse üblich sofort überprüft
  • Prüfung soll anhand der Sprachgrammatik ausgeführt werden.

Status

Bis jetzt ist eine Syntaxprüfung implementiert, die 1. mit mlint (bei installiertem Matlab) und 2. mit einem Matlabsyntaxcheck, welches über jython aufgerufen wird, gemacht wird. Das ist jedoch nicht in jedem Fall eine befriedigende Lösung, da wenn die Sprachgrammatik wirklich im Editor Plugin implementiert wäre, dies sehr viel einfacher über diese ablaufen könnte. Beim python-Plugin wird jedoch auch auf pylint gesetzt und das funktioniert auch wunderbar. Also ich denke, der Benutzer sollte zusätzlich zumindest mlint zur Verfügung gestellt bekommen, da dort auch auf nicht vorhandene Befehle und ähnliches, was nicht über die Grammatik funktioniert gecheckt wird. Das matlabsyntaxcheck wäre durch eine Implementierung der Sprachgrammatik wie in Eclipse üblich zu ersetzen.

Debug (bzw. Konsole?)-Plugins

  • Matlab startet nicht wie eingestellt mit ${workspace_loc:/${project_path}} sondern immer mit ~/matlab als wokspace.
Ist nur bei den "neueren" StudentInnen so (Matrikelnummer >= 2001?), da bei ihnen im Homedirectory ein script startup.m hineinkopiert wurde, welches automatisch in dieses Verzeichnis hupft. Man müsste beim Starten von Matlab durch den Parameter -r "cd pfad" das Verzeichnis angeben in dem die Daten liegen. Aber siehe unten..
  • Autovervollständigung mit der TAB Taste funktioniert in der integrierten Matlab Console nicht.
Matlab wird normalerweise nicht auf diese Art (als externes Tool) gestartet. Daher ist der "Fehler" mit der nicht
funktionierenden TAB-Taste (unter anderem funktionieren auch die Cursor-Tasten nicht) relativ egal. Das war eine Notlösung, da das
einloggen per ssh (und somit der Aufbau) nicht funktioniert hat. Siehe unten... Wenn man zusätzlich eine Matlab-Konsole haben möchte,
dann müsste man wie bei den externen Tools eine Art Terminal Emulator machen, der auch auf diese Tasten reagiert.

Es gibt sowieso ein Problem mit einer integrierten Matlab-Konsole. Wir haben bis jetzt noch keine Lösung gefunden, mehrere Workspaces mit Matlab zu verwalten. Bei der Ausführung eines Beispiels muss man ja zuerst alle Variablen löschen, damit keine Beeinträchtigungen auftreten. Damit würden auch alle selbsteingegebenen Variablen wegsein. Wenn man jedoch noch zusätzlich eine Matlab-Konsole startet braucht man zwei verschiedene Matlab-Lizenzen, was zuviel sein kann. Im Moment sind zum Beispiel gerade alle verbraucht und bei 80 Studienanfängern, die jeweils mit 2 Matlabs gleichzeitig arbeiten ..

Deswegen ist es daweil geplant, dass Beispiele (bzw. selbstgeschriebene Programme) einfach über die Pipe ausgeführt werden, die Variablen nachher über den Workspace-Viewer angezeigt werden) und der Rest gar nicht da ist. Wenn dann jemand auf die Idee kommt, sich selbst Matlab als externes Tool (wie jetzt geschehen) einzubinden, kann man auch nix machen.

Lösungsvorschläge für das Verwalten mehrerer Workspaces mit Matlab

  • Speichern aller Variablen vor der Ausführung eines Beispiels und nachträgliches Wiedereinspielen


Grundlagen (Editoren in Eclipse)

Wie nicht anders zu erwarten stellt Eclipse ein umfassendes Framework für das Erstellen eigener Editoren zur Verfügung. Damit kann man sich bei der Programmierung auf die Kernfunktionalitäten konzentrieren, allerdings muss man sich erst mal im Framework zurechtfinden (es sind seehr viele Klassen und Interfaces, mit denen man es zu tun hat).

Die gröbste Einteilung der grundlegenden Texteditor-Funktionen ist:

  • Inhaltsassistenz
  • Syntaxhervorhebung
  • Formatierer

Die hier streng durchgezogene Aufteilung ist für unseren Editor, abgesehen von der schönen Trennung von Funktionalitäten, auch deshab sehr angenehm, da man sich so einer Aufgabe nach der anderen widmen kann.