Erweitern/ auslesen von Bookmarks und Haltepunkten im Source

Für Installationen unter MacOS u.a. Betriebssystemen

Erweitern/ auslesen von Bookmarks und Haltepunkten im Source

Beitragvon corpsman » 2. Jun 2011, 09:56 Erweitern/ auslesen von Bookmarks und Haltepunkten im Source

Guten Morgen allerseits,

wie ja evtl. einigen bewusst habe ich 2 Lazarus Komponenten geschrieben / übersetzt, damit sich das Entwickeln ein klein wenig erleichtern lässt.

Viele meiner benötigten Informationen stehen ja Hier und haben mir auch sehr geholfen.

Nun habe ich aber z.b. bei meinem CodeFormater das Problem, dass er den Kompletten Source ändert und alle in dem Fenster gesetzten Haltepunkte, sowie Bookmarks gehen dabei verloren. In meinen Codeviewer kann ich das Problem mittels
Code: Alles auswählen
SynEdit1.GetBookMark
SynEdit1.SetBookMark


umgehen, Haltepunkte gibt es da ja nicht ..

Wenn ich das Wiki richtig verstehe müsste ich die Bookmarks evtl über

Code: Alles auswählen
SourceEditorManagerIntf.GetEditorControlSettings( .. );


kriegen, aber setzten kann ich sie nicht da es keine Setter Routine für die EditorControlSettings gibt.

Ist hier im Forum jemand, der mir da weiter helfen kann ?

Corpsman
--
Just try it
corpsman
 
Beiträge: 1043
Registriert: 28. Feb 2009, 08:54
Wohnort: Stuttgart
OS, Lazarus, FPC: Kubuntu 14.04, Lazarus SVN Trunk, FPC 3.0 | 
CPU-Target: 32Bit
Nach oben

Beitragvon martin_frb » 5. Jun 2011, 14:27 Re: Erweitern/ auslesen von Bookmarks und Haltepunkten im Source

Wieso EditorControlSettings ?

EditorControlSettings initialisiert einen SynEdit mit den Werten der Editor-Optionen. (Font, Farben, Tab, ....)

Bookmarks, breakpoints, all of them =>in der IDE unter SourceMarks (unit)

var
SourceEditorMarks: TSourceMarks;

Hab jetzt nicht weiter gesucht, in wieweit da irgendwas via SourceEditorInterface verfuegbar ist.....
martin_frb
 
Beiträge: 401
Registriert: 25. Mär 2009, 21:12
OS, Lazarus, FPC: Laz trunk / fpc latest release / Win and other | 
CPU-Target: mostly 32 bit
Nach oben

Beitragvon corpsman » 6. Jun 2011, 16:22 Re: Erweitern/ auslesen von Bookmarks und Haltepunkten im Source

das ist ein Anhaltspunkt den ich noch nicht kannte, danke ich werde suchen und dann berichten ..
aus SourceMarks.pas

Edit :

Abstract:
All source editor marks, except the bookmarks, are managed by the
SourceEditorMarks. It extends the TSynEditMark and combines all marks of
all editors.


Das scheint die Falsche Unit zu sein, ..
--
Just try it
corpsman
 
Beiträge: 1043
Registriert: 28. Feb 2009, 08:54
Wohnort: Stuttgart
OS, Lazarus, FPC: Kubuntu 14.04, Lazarus SVN Trunk, FPC 3.0 | 
CPU-Target: 32Bit
Nach oben

Beitragvon martin_frb » 7. Jun 2011, 01:07 Re: Erweitern/ auslesen von Bookmarks und Haltepunkten im Source

Right, ouch.
Scheint ich war ein wenig vorschnell....

Ok, Du kannst aber über den sourceeditor an den synedit (sourceeditor.editorcomponent oder ähnlich) kommen.

SynEdit.Marks is definitiv die volle liste

Allerdings ist das trotzdem problematisch.
- Wenn du Text löscht, verschiebt SynEdit alle marks an den begin des gelöschten Text
(AFAIK wird nix gelöscht, ...)

Du kannst sie zwar zurück schieben.... Aber wenn z.b der debugger laueft, gibt das Chaos, weil alle Änderungen direkt auch an gdb gehen.... (Zeilen die verschoben werden gehen nicht an GDB, weil die original Zeile in den blauen dots gespeichert ist...)
Außerdem gehn dir dann die blauen dots verloren...


------------
Was hast du vor zu machen?

Kannst du die Änderungen nicht in kleinen schritten vornehmen (e.g Zeilenweise)?

Außerdem
SynEdit.Lines[x] := 'foo'
SynEdit.Text := 'bar'
=> SynEdit legt keine undo info an, undo funktioniert nicht.

SynEdit.TextBetweenPoints[p1, p2]:= 'abc'; // mit undo
oder SynEdit.TextBetweenPointsEx


----
btw, das Problem mit den Bookmarks existiert auch in der IDE bereits. zb. "uppercase selection"... und andere
martin_frb
 
Beiträge: 401
Registriert: 25. Mär 2009, 21:12
OS, Lazarus, FPC: Laz trunk / fpc latest release / Win and other | 
CPU-Target: mostly 32 bit
Nach oben

Beitragvon corpsman » 7. Jun 2011, 17:39 Re: Erweitern/ auslesen von Bookmarks und Haltepunkten im Source

Ich nutze für mein delforlaz und für mein lazcomment
Code: Alles auswählen
E: TSourceEditorInterface;
zumindest bei lazcomment müsste ich die SynEdit.TextBetweenPoints[p1, p2]:= variante benutzen können.

Sobald ich wieder Zeit hab will ich mal versuchen an das Synendit via "E" ran zu kommen.
--
Just try it
corpsman
 
Beiträge: 1043
Registriert: 28. Feb 2009, 08:54
Wohnort: Stuttgart
OS, Lazarus, FPC: Kubuntu 14.04, Lazarus SVN Trunk, FPC 3.0 | 
CPU-Target: 32Bit
Nach oben

Beitragvon martin_frb » 7. Jun 2011, 19:39 Re: Erweitern/ auslesen von Bookmarks und Haltepunkten im Source

SynEdit := TSourceEditorInterface.EditorControl;// need typecasting

of course if someone made source editor use something else but Synedit....; but that is not to be expected....
martin_frb
 
Beiträge: 401
Registriert: 25. Mär 2009, 21:12
OS, Lazarus, FPC: Laz trunk / fpc latest release / Win and other | 
CPU-Target: mostly 32 bit
Nach oben

Beitragvon corpsman » 8. Jun 2011, 16:53 Re: Erweitern/ auslesen von Bookmarks und Haltepunkten im Source

thanks that works great.
--
Just try it
corpsman
 
Beiträge: 1043
Registriert: 28. Feb 2009, 08:54
Wohnort: Stuttgart
OS, Lazarus, FPC: Kubuntu 14.04, Lazarus SVN Trunk, FPC 3.0 | 
CPU-Target: 32Bit
Nach oben

• Themenende •

Zurück zu Sonstige



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

porpoises-institution
accuracy-worried