views:

333

answers:

4

There is no way to list the functions in a C++ solution for me... I have a class browser but that isn't helpful since this project has no classes. I need a simple list of all the functions in a c++ file and then just double click one to jump to its source (as a side pane, NOT as a dropdown)... I have to be missing something here as I have looked and googled for something so simple.

+4  A: 

I've never found a built-in way to do this, in 10 years of working with Visual Studio. However, Visual Assist X will do this for you in its Outline View. The down side is that it's not free, but I've found it to be an essential tool for working with C++ in Visual Studio. Well worth the money IMHO.

MattK
Seconded! A superb tool and I'm amazed I went without it for so long.
Rob
+2  A: 

The object browser / class view lists free-floating functions and types under "global functions and variables", "global type definitions" and "macros and constants" (might read a little different in the English version). It shows all functions from the solution though, not only the ones from a C++ file.

The navigation bar between the tabs and the code editor shows all functions in the current C++ file, though it's a combo box, so you need to click once to open it and again to jump to it :)

OregonGhost
A: 

Within a source file, if you right-click on a function (e.g. where it's declared in the header, or used/invoked from another function) then I think there's a "Go to definition" on the context menu.

Similarly, the browser database (i.e. the *.bsc file) window (which is displayed by, what <Alt><F12>, according to some key bindings): doesn't that list global functions too, perhaps prefixed by "::"?

ChrisW
A: 

It's not very intuitive I agree, but I think the closest you'll get is to go to the Class View and select "Global Functions and Variables". As the name implies, this will give you a list of all global functions and variables in the project, all in the Class View pane. There's no way to do it for the entire solution as far as I know.

Stu Mackellar