C++ Team Blog

The latest in C++, Visual Studio, VS Code, and vcpkg from the MSFT C++ team

Latest posts

Jun 22, 2021
Post comments count 0
Post likes count 0

Address Sanitizer Now in “Early Release” for Xbox Developers

David Li

Address Sanitizer is now available on Xbox, developers can leverage this powerful technology to help debug memory issues in their titles.  Combined with the crash dump changes detailed here, it should provide all the flexibility required to support your automated tests suites and enable you to find issues quickly and easily.

Jun 10, 2021
Post comments count 0
Post likes count 0

Static Analysis Fixes, Improvements, and Updates in Visual Studio 2019 version 16.10

Jordan Maples

The C++ static analysis team is committed to making your C++ coding experience as safe as possible. We are adding richer code safety checks and addressing high impact customer feedback bugs posted on the  C++ Developer Community page. Thank you for engaging with us and giving us great feedback on the past releases and early previews leading to this point. Below is the compilation of improvements and bug fixes that were made from Visual Studio 2019 versions 16.9 to 16.10 for code analysis and CppCoreCheck. New features: Analysis crash fixes: Bug fixes and optimizations:...

Jun 9, 2021
Post comments count 28
Post likes count 0

<format> in Visual Studio 2019 version 16.10

Charlie Barto

C++20 adds a new text formatting facility to the standard library, designed primarily to replace and friends with a fast and type safe interface. The standardized library is based on the existing {fmt} library, so users of that library will feel at home. Before diving into how works I want to thank Victor Zverovich, Elnar Dakeshov, Casey Carter, and miscco, all of whom made substantial contributions to this feature, and were the reason why we could complete it so quickly. Overview To start using you just need to be using Visual Studio 2019 version 16.10 or later and you need to be compiling with . You can...

Jun 1, 2021
Post comments count 3
Post likes count 0

C++20’s Extensions to Chrono Available in Visual Studio 2019 version 16.10

Miya Natsuhara

While the header has been available as part of the STL since C++11, among the changes included in C++20 there were several extensions to chrono including support for calendrical types, time zones, leap seconds, and integration with format. A great deal of innovation and work was required in order to complete these additional features; shipping these new C++20 additions so soon would not have been possible without the amazing support of the open-source community. In particular, I would like to recognize the significant contributions from Matt Stephanson, statementreply, and Daniel Marshall in helping complete our...

May 27, 2021
Post comments count 1
Post likes count 0

Preview of using CMake Presets for Azure Sphere development

Marc Goodner

We are happy to announce that CMake Presets preview support is available in the Visual Studio 16.10 release as well as CMake Tools version 1.7 for Visual Studio Code. Erika introduced CMake Presets and why you should use them, this post will focus on how they can be used for Azure Sphere development across Visual Studio, VS Code, and GitHub Actions for consistent build settings across your development team and CI system. Azure Sphere is a comprehensive IoT security solution that is beyond the scope of this article. Azure Sphere projects are CMake based, and application development is in C (get started here)...

May 26, 2021
Post comments count 1
Post likes count 0

C++20 Ranges are complete in Visual Studio 2019 version 16.10

Casey Carter

We are proud to announce completion of our implementation of C++20 Ranges in the Standard Library in the VS2019 v16.10 release under. We announced the first useful user-visible parts of Ranges in VS 2019 v16.6 in mid 2020, the trickle accelerated into a gushing stream, and the final parts are now in place. This represents a huge body of work with input from multiple open-source contributors over the last two years. Ironically enough, ranges are nothing new to the Standard Library. STL algorithms have always operated on ranges of elements whose bounds are denoted by an iterator that denotes the first element an...

May 24, 2021
Post comments count 0
Post likes count 0

How to start using registries with vcpkg

Nicole Mazzuca

For many users of vcpkg, the built-in repository of packages is completely sufficient. If you only need public, non-experimental libraries, the default vcpkg registry is completely fine. However, once you go outside of this world - once you have company-internal libraries, or you want to use experimental libraries, the recommended solution is to use a registry. Quite a few people have already set up their own registries, and if you want to learn to set up your own, you can check out the last blogpost. However, if you want to use an existing registry, this tutorial is for you. We also have reference document...

May 19, 2021
Post comments count 3
Post likes count 0

All vcpkg enterprise features now generally available: versioning, binary caching, manifests and registries

Augustin Popa

We are announcing today that all major vcpkg enterprise features are no longer experimental. The latest vcpkg release makes versioning, binary caching, manifests and registries generally available to any developer, team or enterprise. We have steadily been adding to vcpkg over the years. What started as a small open source project to migrate developers to newer versions of Visual Studio has expanded into a cross-platform C/C++ library manager with over 1600 libraries that can be used in a wide variety of environments to serve the entire C/C++ ecosystem. In this blog post, we go over the latest vcpkg pr...

May 13, 2021
Post comments count 0
Post likes count 0

Microsoft C++ Code Analysis supports SARIF 2.1

Hwi-sung Im

Starting with Visual Studio 16.8, MSVC Code Analysis officially supports SARIF 2.1.0 standard. SARIF is an industry standard for representing static analysis logs and we've been one of the earliest collaborators with the SARIF Technical Committee. Behind the scenes, analysis log files in the SARIF format powers Visual Studio IDE to provide a richer experience that was not possible with the legacy XML logs. In this blog post we will present one of those enhanced experiences – code analysis defects with different severity levels in Error List and color-coded squiggles for offending code segments.    What is SAR...