Also ich ziehe über die IOTA-Funktionen die Breakpunkte heraus, die zur aktuellen
pas-Datei gehören.
Im Quelltext setze ich Marker, die ggf. mit verschoben werden.
An den Marker-Stellen stelle ich Breakpoints wieder her.
Gleiches mit Bookmarks und der Cursorposition.
Das ist ziemlich aufwendig (aufwendiger als es sich anhört
) aber funktioniert augenscheinlich gut.
Das ist definitiv besser als das der Formatter in GExperts macht. Der liest lediglich die Zeilennummern aus, formatiert und setzt anschließend die Breakpoints in dieselben Zeilen. Das passt natürlich nicht mehr, wenn sich Zeilen verschoben werden. Dasselbe passiert für Bookmarks. Trotzdem war das schon ein grosser Fortschritt gegenüber vorher, da wurden sowohl Breakpoints als auch Bookmarks einfach gelöscht. (Man muss sich auch mal selbst loben.
)
Aber wo wir gerade über Code Formatting reden: Kann Deiner auch nur den aktuell markierten Bereich formatieren? Das ist definitiv ein Feature, das sehr nützlich wäre, wenn man z.B. das Format der
Unit beibehalten will, aber den gerade bearbeiteten Bereich (z.B. eine neue Procedure) formatieren will (damit man das nicht manuell manchen muss).
Puristen werden jetzt natürlich aufheulen und sich beschweren, dass dann ja die
Unit unterschiedliche Format-Stile enthält, aber ich sehe das pragmatich: Besser unterschiedlich formatiert als einen Bug übersehen, weil man manuell formatiert. (Der Klassiker: if/then/while Blöcke falsch eingerückt und schon passt die Formatierung nicht mehr zur Programmlogik.)