Better Code Explorer filters in VisualGDB 5.6R6

Today we are excited to announce VisualGDB 5.6R6. This is a maintenance release mostly focusing on improving compatibility with various tools, however it includes one major usability improvement worth noting separately.

VisualGDB 5.6 introduced Code Explorer – a set of tool windows designed to quickly and efficiently navigate through huge code bases. Code Explorer supports the Outline view where it displays the structure of a single file, and the Globals view where it can search all symbols in the entire solution.

To help navigate through huge amount of symbols, both views support filtering, that is optimized for nearly instant operation. Following the feedback from our users, the new VisualGDB 5.6R6 expands the capabilities of the filter to support basic expressions and remember previously used options:

A single filter line can now contain multiple substrings (e.g. “timer;uart”) will find all functions containing either “timer” or “uart” in their name. The “-” prefix can be used to exclude specific substrings. E.g. “timer;-start;-stop” will find all timer functions except the ones with “start” or “stop” in the name.

Furthermore, you can use the regex-like “^” and “$” syntax to only match prefixes and suffixes. E.g. “print$” will match “line_print” but not “printf“. Due to the way the strings are indexed for huge projects, supporting full-scale regular expressions would slow down the search too much, but this approach still offers very high speed and reasonable flexibility.

Once a filter is used (remains selected for 10 seconds, or explicitly applied by pressing “Enter”), it is added to the history stored in the .visualgdb\CodeExplorer\FilterHistory.txt file, so you can always pick it from the list later.

The filter box is now also automatically stretched to fit all the remaining space in the toolbar, ensuring it is still visible when the view is narrow, and maximizing its use with the wide layouts.

Other Improvements

VisualGDB 5.6R6 also contains numerous improvements to other components. We have improved integration with STM32CubeMX 6.5.0, Xilinx Vitis 2022.01, Ubuntu 22.04 restricting the default SSH authentication mechanisms, added support for toolchains producing DWARF5 symbols, and fixed numerous other issues. You can find a detailed change log here.

Try it out

You can download the latest VisualGDB 5.6R6 from our download page.