Zitat von Bernd Kreuss <[email protected]>:
Bernd Kreuss wrote:
The understanding of the codetools seems to be essential for doing any
non-trivial thing inside the IDE.
For example as an application of the codtools I have a tool in mind that
would help me exploring a big codebase with a lot of calls through
different abstraction layers that can easily confuse me when trying to
read the code and follow wrapper calls 3 or 4 levels deep and still
remember where I came from. I will soon have 5 editor windows open and
some of then are scrolled to a different position because the calls go
back and forth throughout all these files.
That's what the jump history and bookmarks are good for. And the
ability to open the same source multiple times.
This tool would help me build a tree starting with the current method,
listing all calls to other methods inside the method body as subnodes of
this node and when I click on one of the subnodes it will again list all
method calls inside the called method as subnodes of *this* node,
letting me grow this tree only into the branches that are of interest to
me. Whenever I click a node the editor window will immediately
open/scroll directly to the *implementation* so I can always see the
actual code and can quickly jump around in what could be described as
the "callstack" of the simulation in my brain, without ever losing track
of where I came from or where I have been already.
Keep in mind that methods are often overridden. And properties can be
function calls and can be overridden too. And often there are many
implicit function calls.
To be honest I doubt that showing *all* calls of a function is
helpful, because the list is too big big to show in one tool window
and because it does not show the really called overrides.
IMO what is really needed is a tool to find the overrides of a call
and show the list sorted for relationship, and to jump to them easily.
I'm writing a tool to find overrides and sorting them. But that
requires some extensions to the codetools.
For implementing this tool I need a deep understanding of the codetools
and what can be done with them and how they are used to their full
potential.
Mattias
--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus