Jump to Next/Previous Function Definition

I prefer to browse my code manually rather than using MSVC's Wizard Bar. These simple macros move the cursor up and down one function at a time in a cpp file. This is accomplished by searching for a newline character followed by an open brace ('{'). Simple as they may be, they help me get the cursor where I want it quickly and easily. I map these functions to Ctrl-Page Up and Ctrl-Page Down.

Note: They do not work with functions that have the open brace on the function definition line.


Sub GotoFunctionHeaderUp()
'DESCRIPTION: Moves cursor to the previous function definition.
	ActiveDocument.Selection.FindText "^{", dsMatchBackward + dsMatchRegExp
	ActiveDocument.Selection.LineUp
	ActiveDocument.Selection.StartOfLine
End Sub

Sub GotoFunctionHeaderDown()
'DESCRIPTION: Moves cursor to the previous function definition.
	ActiveDocument.Selection.LineDown dsMove, 2
	ActiveDocument.Selection.FindText "^{", dsMatchRegExp
	ActiveDocument.Selection.LineUp
	ActiveDocument.Selection.StartOfLine
End Sub

Josi Manuel Muilledes suggests using DevStudio commands WBGotoNext and WBGotoPrevious from WizardBar category.

Updated on: October 15, 1998.