Code::Blocks Forums

User forums => Using Code::Blocks => Topic started by: kfs1 on June 13, 2007, 05:21:09 am

Title: VI-Like tag stack
Post by: kfs1 on June 13, 2007, 05:21:09 am
VI has a feature like CBs "Find Implementation", CTRL-] jumps to the tag of the function under the cursor. VI compliments this with an unwind feature - pressing CTRL-T returns to previous point from which you CTRL-].

This is implemented as a stack, which makes tracing non-running code incredibly easy: You can descend down thru a dozen calls and then unwind - like returning up the stack in the debugger.

Is there a plugin for CB that does something like this?
Title: Re: VI-Like tag stack
Post by: kfs1 on June 13, 2007, 10:55:00 am
Doesn't have to be a plugin. Unfortunately the systems I'm working with use an awful lot of glue/api/interface layers so tracking code frequently involves branching across 3 files only to suddenly land back in the file I started at, but at a different position, and then revisit one or more of the other files.

An unwind capability would be a god send. If there's no such capability at the minute, you can bet I'll be suggesting it :)
Title: Re: VI-Like tag stack
Post by: Pecan on June 13, 2007, 01:41:47 pm
BrowseTracker might help.

http://forums.codeblocks.org/index.php/topic,6093.msg46703.html#msg46703 (http://forums.codeblocks.org/index.php/topic,6093.msg46703.html#msg46703)
http://wiki.codeblocks.org/index.php?title=BrowseTracker_plugin (http://wiki.codeblocks.org/index.php?title=BrowseTracker_plugin)
Title: Re: VI-Like tag stack
Post by: kfs1 on June 14, 2007, 02:28:51 am
That's definitely a help, but quite often I'm moving back and forth between points in the same modules.

E.g.

mod1.cpp:outerCall -> mod2.h:member -> mod3.cpp:innerCall -> mod1.cpp:referenceCall -> mod1.h:member -> mod1.cpp:member -> mod2.h:member -> mod2.cpp:member ... etc

FWIW - I'm trying to refactor reasonably good code, its just grown into spaghetti code over 6 years of active maintenance.