VisualGDB 5.4 Preview 4 is Out

Today we are proud to announce the release of VisualGDB 5.4 Preview 4. The main focus of this release is the new out-of-the-box support for Arduino projects on AVR, ARM, ESP8266 and ESP32, although it also introduces numerous usability improvements across the board.arduino

Arduino Projects

If you were playing around with basic Arduino sketches, or developing complex Arduino-based projects using multiple libraries, you could have used VisualGDB before by importing the code base into a custom project and configuring VisualGDB to pick up numerous settings. The new VisualGDB 5.4 Preview 4 radically simplifies this. With the new Arduino Project Wizard all you need to do is pick your target board and a matching debug method and VisualGDB will do the rest:wroverThis has been made possible due to our open-source fork of the Arduino builder tool that can report the detailed structure of the project and all involved libraries, so VisualGDB knows exactly what it’s dealing with. As a result, you can easily browse through the Arduino core and library sources in Solution Explorer and easily search for code references across all relevant sources:printfWe have also updated our Clang IntelliSense engine to properly handle the main difference between Arduino projects and the regular C++ projects – dynamically generated function prototypes. Our IntelliSense engine sees the code in exactly the same way as the regular compiler does, so it will show relevant suggestions even if your project contains multiple sketch files:senseThe Clang IntelliSense is also aware of the library discovery performed by the Arduino project builder, so it will automatically show you the headers for available libraries. Once the header is included, the library will appear in the Solution Explorer and will get indexed for quickly searching for references:inclWe have also added convenient GUI for downloading existing Arduino libraries and creating new ones from scratch (and managing them afterwards), so you won’t need to do it manually:libraryArduino projects can easily support multiple boards/platforms. Simply use the new platform manager window to pick which platforms your project will support:boardsVisualGDB 5.4 Preview 4 comes with out-of-the-box support for Arduino devices based on AVR, ARM, ESP8266 and ESP32 architectures.

Clang-Format

This version of VisualGDB also introduces a new code formatting engine based on Clang-Format. You can enable it via the Formatting Engine setting:clangformat

It will automatically convert basic VS formatting settings into a clang-format style file and will use it to format your code. The formatter is fully integrated into our IntelliSense engine and runs in the background with minimum latency, providing the same level of integration as the old formatter. To make configuration easier, VisualGDB now includes a graphical editor for .clang-format style files. Simply open a style file via File->Open (or use the Style icon in the quick navigation bar) and VisualGDB will let you edit the style graphically with a live preview of the changes:format

Other improvements

VisualGDB 5.4 Preview 4 also includes numerous usability improvements, fixes and adds support for newer tools and frameworks. Check out the changelog for a detailed list of improvements.

Try it out

You can download VisualGDB 5.4 Preview 4 on the download page. If you have any feedback, don’t hesitate to use our support form or the VisualGDB forum.