Code Browser

The CodeBrowser makes browsing through projects with multiple files and lots of functions easy, convenient and pleasant.


  • Igor Pro version 6.3.0 or later


  1. Install Igor.
  2. Start Igor. This creates a folder called WaveMetrics in Documents. Close Igor.
  3. Extract the zip file into a folder somewhere on your disc.
  4. Create a link from CodeBrowser-v*/procedures to Documents\WaveMetrics\Igor Pro [6-8] User Files\Igor Procedures.
  5. Start Igor. You can now find CodeBrowser/Open in the main menu.


  • Shows all functions/macros from a procedure file including parameter types, return types and special properties like static and threadsafe.
  • Shows Menu/Constant/StrConstant/Structure entries.
  • Shows the structure name for window hook and background tasks for easier searching.
  • Allows jumping to the definition of these elements within the code by mouse and keyboard.
  • Optionally alphabetically sorted lists.
  • Shows function comments as tooltips (IP8 only).
  • Works with Independent Modules.

For reasons of ease-of-use the function declarations are displayed as myFunction(var, str) -> var for a function taking a variable and string parameter and returning a variable. Programmers might recognize this as being inspired by the trailing return types from C++11.

  • CTRL+0: Open the panel.
  • Jump to the definition of the listbox selection with .
  • Pressing any character while the ListBox has the focus activates the first listbox entry which starts with that character.


  • No parameter types are shown for macros


Screenshot of the Code Browser



Project Details

Current Project Release

Release File:
Version Date: Mon, 02/18/2019 - 03:11 pm
Version Major: 1
Version Patch Level: 3
OS Compatibility: Windows Mac-Intel
Release Notes:


  • Add for Namespace and Procedures to select all items in the current listbox.
  • Add option to filter procedure files according to certain patterns like CodeBrowser*.
  • save last selected procedure, namespace, search, filter and listbox item in package preferences on codebrowser exit.
  • Add menu items to the list of elements.
  • Display the comment lines above the function definition as html formatted help text (QT, requires IP8)
  • Make CodeBrowser a floating panel
  • Performance enhancement by calling ProcedureText() only once.
  • Switch to rolling releases under BSD 3-clause on
  • Support for structure name parsing in functions with only one structure as input like Window Hooks with WMWinHookStruct.
  • Partly switch to doxygen comments.
  • Internal changes to the BeforeQuitHook.
  • Internal changes to the global variable management and package folder cleanup.


  • Fix a bug where an empty function list was marked valid in "not compiled" state.
  • Fix variable deletion on Igor Exit.
  • Move initialized state from userdata to global variable because BeforeQuitHook is behaving strangly in some occasions.
  • Allow to jump to the selected procedure file in uncompiled state.
  • Fall back to last compiled state for display when procedures are not compiled.
  • Fix and enhance constant parsing.
  • Searching in empty procedures lead to a crash.
  • Fix parsing of nested Independent Modules.


The following people have contributed to this release:

$ git shortlog --no-merges -s -n v1.2..
    48  Matthias Kastner
    17  Thomas Braun

View All Releases




Igor Pro 8

Learn More

Igor XOP Toolkit

Learn More

Igor NIDAQ Tools MX

Learn More