[Lazarus] New experimantal beta feature - View same source in multiple Windows

Martin lazarus at mfriebe.de
Thu Nov 19 01:45:56 CET 2009


Note this is a beta feature. this is experimental.

The little bit that is there works. But many,many, many things have not 
yet been implemented. => So if you decide to test/use it, don't complain 
about the missing bits.

Compiling Lazarus (SVN / Snapshot) with   -dSynDualView  allows you to 
open a 2nd window for any open source file. The 2nd Window can be 
edited, and all edits made in one window, are also done in the other 
window (they edit the same source).

The extra Window(s) are very basic yet: (do NOT report any of those as bug)
- no statusbar
- no contextmenu
- position and size is *not* savable (see below)
- many keyboard shortcuts not working
- no codetools support at all (no code completion, no jumps, no nothing)
- no code templates
- no search / replace / incremental-search / ...
- no "copy word on nothing selected"
- many others missing
- no session, the IDE does not remember if you had any extra views open

The Window however does:
- show and edit a correctly highlighted version of your code.
- undo works cross both views  (changes made in one window, can be 
undone from the other => this is correct, since the changes happened in 
both windows)
- has it's own caret position
- has it's own selection, which is *not* reset by changes in the other 
window
- has it's own folds (you can fold nodes independent of the other window)
=> however neither caret-pos, nor folds, nor anything else is saved in 
your session => it will all be lost when you close the window, or change 
projects
   (text changes are saved (of course))
- drag/drop selected text between windows. works partly, the source 
window starts/keeps scrolling while you are over the target win


Window position/size  / missing statusbar / etc
=> All this is not likely to be fixed soon => the idea is to wait what 
happens to IDE docking

Therefore this feature will be beta for a considerable time


Martin



More information about the Lazarus mailing list