C++ Team Blog
The latest in C++, Visual Studio, VS Code, and vcpkg from the MSFT C++ team
Latest posts
Siemens Healthineers manages C++ libraries with vcpkg in an offline build environment
vcpkg is a free and open-source C/C++ package manager maintained by Microsoft and the C++ community that runs on Windows, macOS, and Linux. Over the years we have heard from companies using vcpkg to manage dependencies at enterprise-scale. For this blog post, I spoke to Shrey Chauhan, a Senior DevOps Engineer with Siemens Healthineers. Siemens Healthineers adopted vcpkg in late 2023 after a successful proof of concept. Their main motivation was to improve their versioning and overall dependency management for C++ libraries in their offline, air-gapped build environment. They also like vcpkg’s integration with ...
What’s New for C++ Developers in Visual Studio 2022 17.12
We are happy to announce that Visual Studio 2022 version 17.12 is now generally available! This post summarizes the new features you can find in this release for C++. You can download Visual Studio 2022 from the Visual Studio downloads page or upgrade your existing installation by following the Update Visual Studio Learn page. Standard Library and MSVC Compiler As always, you can find all the details about our STL work in the changelog on GitHub. Thanks to everyone who contributed changes for this release! On the conformance side, we have finished the implementation of C++23’s P2286R8 Formatting Ranges by im...
What’s New in vcpkg (October 2024)
This blog post summarizes changes to the vcpkg package manager as part of the 2024.10.21 registry release, 2024-10-18 tool release, as well as changes to vcpkg documentation throughout October. This release adds support for Azure universal packages as a binary caching provider and other minor improvements. CppCon Talk on Managing C++ Dependencies I also gave a talk at CppCon about 10 Problems Large Companies Have with Managing C++ Dependencies and How to Solve Them. Here is a video recording of the talk: In particular, I talked about several vcpkg features that can help: Some stats f...
Microsoft C++ Team at CppCon 2024: Trip Report
The Microsoft C++ team attended CppCon, the largest C++ conference in the world. This year, the conference was held in Aurora, Colorado from September 16-20. Microsoft Booth Our team managed a booth from Monday to Thursday of the week. This gave us an amazing opportunity to interact with the C++ community and discuss many topics of interest as well as hear feedback from our customers. The following people worked at the booth (from left to right in the picture above): Microsoft works on several developer tools for C++, including the Visual Studio IDE, Visual Studio Code, the M...
Analyzing the Performance of the “Proxy” Library
This article analyzes the performance of the "Proxy" library in various scenarios, demonstrating its significant advantages in indirect invocations and lifetime management across different platforms.
Enhanced Breakpoint Expressions for C++ Debugging in Visual Studio
Conditional Breakpoints Performance Improvement Debugging C++ code can be a time-consuming process, especially when dealing with complex scenarios. As a developer, it's frustrating to go through extensive setup and wait for a specific conditional breakpoint to trigger so you can analyze your application in a specific state. In Visual Studio 2022 version 17.10, we optimized the implementation of conditional breakpoints in C++ to enhance performance. We further improved this in version 17.11 to boost performance even more. Key Improvements Conditional breakpoints in Visual Studio for C++ pause code execution w...
New Contextual Tools for GitHub Copilot in Visual Studio
Visual Studio 2022 17.11 now allows you to pass your entire workspace or specific classes and functions as context for GitHub Copilot Chat. By referencing your entire codebase, down to specific classes and functions, Copilot Chat can deliver refined and accurate results tailored to your code. @workspace for project references You can now use GitHub Copilot Chat to refer to your entire C++ project using the @workspace command. This feature allows you to ask questions about your project, and GitHub Copilot will provide you with detailed responses. An example use case for the @workspace command in GitHub C...
What’s New in vcpkg (September 2024)
This blog post summarizes changes to the vcpkg package manager as part of the 2024.09.23 and 2024.09.30 releases, 2024-09-18 and 2024-09-30 tool releases, as well as changes to vcpkg documentation throughout September. This month’s release includes some minor changes and bug fixes, 18 new ports, and 319 updates to existing ports. When updating vcpkg, we recommend moving to the 2024.09.30 release, which fixes some regressions in the 2024.09.23 release. Some stats for this period: vcpkg changelog (2024.09.23 & 2024.09.30 releases) The following notable changes were made in Septem...
Configure GitHub Copilot Access via Content Exclusion
Have you ever wanted greater control over the sensitive content AI-powered tools can access in your repositories? You can now customize Copilot’s access to your files with the newly announced GitHub Copilot Content Exclusion in both Visual Studio and Visual Studio Code. Through this new process you can configure Copilot to ignore certain files in your repository – such as sensitive files or information - when generating responses.  Once content has been excluded from Copilot:  GitHub Copilot’s granular control over content exclusion gives you the flexibility to enact company-wide security po...