Heute habe ich eine schmerzliche Lernerfahrung über die Undo-Funktion von Eclipse hinter mir. Ich hatte eine neue Datei angelegt und regelmäßig gespeichert. In einer anderen Datei, die schon offen war, habe ich dann etwas rückgängig machen wollen. Und bam!, da war meine “neue” Datei weg. Ungefragt, versteht sich.
Man kann das folgendermaßen nachvollziehen:
- Mache eine beliebige Perl-Datei mit dem Epic-Editor auf.
- Lege eine neue Datei an. z.B. eine normale Textdatei
- Schau in die Undo-Liste. Dort steht jetzt “undo new file”
- Schreib was und speichere
- Schau in die Undo-Liste. Dort steht jetzt “undo typing”
- Mach es rückgängig und die Undo-Liste ist jetzt leer
So weit so gut. Aber jetzt:
- Gehe in den Reiter der Perl-Datei
- In der Undo-Liste steht dort immer noch “undo new file”
- Ein mal undo ausführen und staunen.
Ist die “neue” Datei aktuell gespeichert, sind also keine weiteren Änderungen vorhanden, verschwindet der Reiter einfach samt der Datei auf der Platte. Ist die Datei geändert und nicht gespeichert, bleibt immerhin das Fenster bestehen.
Hart ist, dass das sogar dann Funktioniert, wenn die Datei geschlossen wurde. Das undo bleibt in der Epic-Undo-Historie. Man muss also alle Epic-Editoren schließen, wenn man das verhindern will. Oder man legt die Dateien nicht mehr direkt in Eclipse, sondern in der Shell an 😕
Das ganze funktioniert bei mir unter Linux in der Perl-View mit Epic v0.5.39 in Eclipse v3.3.
Also: Vorsicht mit Undo! Ich hab noch nicht groß gesucht, ob der Fehler bekannt ist. Mach ich demnächst mal, wenn ich wieder Zeit für so was hab.
Fazit: Hoch leben die einfachen Editoren. Mit vi, gedit und Konsorten ist mir sowas noch nicht passiert.