One of the best ways to find your way around your source code is using the Source Navigator. It parses the active project's source code and organizes classes, functions, and variables in various ways.

To activate the Source Navigator:

The main part of the Source Navigator window provides an overview of your application's functions, classes, and variables.

SEGGER Embedded Studio displays these icons to the left of each object:

Icon Description
A C or C++ structure or a C++ namespace.
A C++ class.
A C++ member function declared private or a function declared with static linkage.
A C++ member function declared protected.
A C++ member function declared public or a function declared with extern linkage.
A C++ member variable declared private or a variable declared with static linkage.
A C++ member variable declared protected.
A C++ member variable declared public or a variable declared with extern linkage.

Re-parsing after editing

The Source Navigator does not update automatically, only when you ask it to. To parse source files manually, click the Refresh button on the Source Navigator toolbar.

SEGGER Embedded Studio re-parses all files in the active project, and any dependent project, and updates the Source Navigator with the changes. Parsing progress is shown as a progress bar in the in the Source Navigator window. Errors and warnings detected during parsing are sent to the Source Navigator Log in the Output window—you can show the log quickly by clicking the Show Source Navigator Log tool button on the Source Navigator toolbar.

Setting indexing threads

You can configure how many threads SEGGER Embedded Studio launches to index your project.

To set the number of threads launched when indexing a project:

Increasing the number of threads will complete indexing faster, but may reduce the responsiveness of SEGGER Embedded Studio when editing, for example. You should choose a setting that you are comfortable with for your PC. By default, SEGGER Embedded Studio launches 16 threads to index the project and is a good compromise for a desktop quad-core PC.

Sorting and grouping

You can group objects by their type; that is, whether they are classes, functions, namespaces, structures, or variables. Each object is placed into a folder according to its type.

To group objects by type:
  1. On the Source Navigator toolbar, click the arrow to the right of the Cycle Grouping button.
  2. Choose Group By Type