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 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:This 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:We 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:The 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:We 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:Arduino projects can easily support multiple boards/platforms. Simply use the new platform manager window to pick which platforms your project will support:VisualGDB 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:
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:
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.