MMM-Experts
Up | Next
Function List
Dialogs | See Also
The function list enables you to view a list of functions in the current source file and quickly jump to the implementation of a given function.
Description
The function list window is pictured below:

 

 

 

This expert lists all functions or methods found in the currently edited source code. You can sort them by clicking on any column.

By default, the focus is set to the Search field, to let you type a few letters that will start filtering the list.

You can choose to filter the items either by looking at the pattern anywhere in the text (default), or only at the beginning.

Once your filter contains enough letters to make the list contain only a few items, you can simply use the up/down arrow keys to navigate the list, and finally press the Enter key to choose a function and go to its definition in the source code.

Of course, you can also use the mouse and double-click any item, but this expert takes its value only by using the shortcuts.

Assuming this expert is mapped to the Alt+X shortcut (default of MMM-Experts), here's a sample session:

 

You're looking at your source code, then you want to access a function that reads something, but you don't remember its exact name.

  • you press Alt+X

  • you type: read

  • the filtered list shows: ReadInteger, ReadFloat, ReadString, ReadNext

  • you want to go to ReadString, so either you press an additional 'S' or you click 3 times on the Down arrow key

  • once you're located on ReadString, you press the Enter key

 

And it took you just a few seconds.

 

Note that if "Search parameters?" is checked, the search will operate on the parameter list instead of the function name.

 

Note that you can also filter the list by using the Objects combobox to view only the methods of a specific class, struct or interface.

 

The Copy button will copy all of the visible functions to the clipboard.

 

Tip: if you're interested in several functions currently displayed, you can multi-select them and then click on the "Bookmark all selected functions" (Ctrl+F). Then in your code editor, you'll be able to move from one function to another one using the "Next bookmark" command of Visual Studio.

 

This expert offers the following options:

  • Exclusion filters for filtering out abstract functions, properties and interfaces

  • Cursor position for specifying if the cursor should be moved to the function's header or inside its body.

  • Function prototype for specifying howmuch information should be displayed in the status bar.
Remarks
  • If your cursor is already inside a function (header or body), then this expert will try to select it in its list, in order to remind you where you are presently.

  • If your source code contains many functions, you may see the message "Constructing function prototypes..." in the status bar, because it is a long process that is done by a background thread, in order to give you immediate access to your functions.
Bugs
Speed issue when browsing a heavy C++ source code, but it is related to Visual Studio's CodeModel that is slow in some cases...
Conditions
This expert works only with an open source code editor and any language supported by Visual Studio.
See Also
Group
Copyright (c) 2003. All rights reserved.