C++ extension for Visual Studio Code ready for prime time, hugs Arm devs

visual studio code c++

The team behind free code editor Visual Studio Code has announced the first major release of its C++ extension, which sees the component gaining new formatting settings, and support for Linux on ARM and ARM64.

After being worked on for a couple of years already, the extension now “meets the high bar we [..] have set for quality,” wrote program manager Visual C++ Julia Reid in a post accompanying the release. It is meant to provide C++ developers with amenities such as code completion, formatting support, renaming helpers, and other features that would out-of-the-box only be available for web developers, while also offering debugging capabilities.

Those interested in using the editor to come up with ARM and ARM64 applications will find version 1.0 especially noteworthy, since it introduces support for running the extension on Linux ARM devices. It also learned to work with non-UTF-8 file encodings and includes a formatting option more in-line with the general style of Visual Studio as opposed to the one used in clang.

Other than that, the current iteration doesn’t bring about a ton of change, but performance improvements and a couple of fixes and enhancements should give developers reason enough to at least consider an upgrade. The team for example continued working on the tool’s C++20 support and made sure that comments in json files no longer go missing when they are modified by the extension.

It now also validates crypto signatures of downloaded binaries for added security, and includes more diagnostics to let log readers know which paths were traversed as well as provide insight into “potentially conflicting recursive includes.” 

To use the new version, the installed VS Code must be on 1.44 or later. Developers who are already familiar with the extension should be aware, though, that it comes with a couple of tweaks that could lead to changes in behaviour. If, for example, a wrong intelliSenseMode was being used it is now fixed internally. Also commentContinuationPatterns, enhancedColorization, and codeFolding are no longer available in per-folder settings.

In other IDE news, Microsoft also pushed a third preview for Visual Studio 2019 version 16.8 out of the door, which improves support for the recently approved C++20 standard. The latest version is supposed to let developers use modules, concepts, coroutines, and the majority of ranges (as well as the algorithms based on them) and offers some IntelliSense support for the new additions.

Visual Studio’s C++ library manager has learned to work with manifest files and allows binary caching. Meanwhile C users can finally draw on all required features of C11 and C17 when using the IDE. This includes keywords like “restrict” for pointer declarations or the Microsoft compiler specific __pragma for coding pragma directives into macro definitions. 

And since Microsoft seems to want to improve its standing in Linux circles, Visual Studio can now be used to debug Linux core dumps on remote Linux systems or WSL. It also alerts devs about missing tools on Linux projects instead of just throwing errors in all sorts of working stages.