C++ Team Blog
The latest in C++, Visual Studio, VS Code, and vcpkg from the MSFT C++ team
Latest posts
Continuous Integration for C++ with Visual Studio Team Services
Visual Studio Team Services (VSTS) is an easy way to help your team manage code and stay connected when developing. VSTS supports continuous integration using a shared code repository that everyone on the team uses to check in code changes. Every time any code is checked in, it is fully integrated by running a full automated build. By integrating frequently, it is easier for you to discover where something goes wrong so you can spend more time building features, and less time troubleshooting. You can now take advantage of new documentation that makes it easier for you to use continuous integration with C++ code ...
Vcpkg recent enhancements
Vcpkg simplifies acquiring and building open source libraries on Windows. Since our first release we have continually improved the tool by fixing issues and adding features. The latest version of the tool is 0.0.71, here is a summary of the changes in this version:See the Change Log file for more detailed description: https://github.com/Microsoft/vcpkg/blob/master/CHANGELOG.mdAs usual your feedback and suggestions really matter. To send feedback, create an issue on GitHub, or contact us at vcpkg@microsoft.com. We also created a survey to collect your suggestion.
Targeting the Windows Subsystem for Linux from Visual Studio
Update Jan. 8, 2020: Visual Studio 2019 version 16.1 and later has native support for WSL. This eliminates the need to establish an SSH connection and is the recommended workflow for building and debugging on WSL. The Windows Subsystem for Linux (WSL) was first introduced at Build in 2016 and was delivered as an early beta in Windows 10 Anniversary Update. Since then, the WSL team has been hard at work, dramatically improving WSL’s abilty to run an ever increasing number of native Linux command-line binaries and tools, including most mainstream developer tools, platforms and languages, and many daemons/service...
STL Fixes In VS 2017 RTM
VS 2017 RTM will be released soon. VS 2017 RC is available now and contains all of the changes described here - please try it out and send feedback through the IDE's Help > Send Feedback > Report A Problem (or Provide A Suggestion). This is the third and final post for what's changed in the STL between VS 2015 Update 3 and VS 2017 RTM. In the first post (for VS 2017 Preview 4), we explained how 2015 and 2017 will be binary compatible. In the second post (for VS 2017 Preview 5), we listed what features have been added to the compiler and STL. (Since then, we've implemented P0504R0 Revisiting in_place_t/in_...
Using C++ Resumable Functions with Libuv
Previously on this blog we have talked about Resumable Functions, and even recently we touched on the renaming of the yield keyword to co_yield in our implementation in Visual Studio 2017. I am very excited about this potential C++ standards feature, so in this blog post I wanted to share with you a real world use of it by adapting it to the libuv library. You can use the code with Microsoft’s compiler or even with other compilers that have an implementation of resumable functions. Before we jump into code, let’s recap the problem space and why you should care. Problem Space Waiting for disks or data over a netwo...
`yield` keyword to become `co_yield` in VS 2017
Coroutines—formerly known as “C++ resumable functions”—are one of the Technical Specifications (TS) that we have implemented in the Visual C++ compiler. We’ve supported coroutines for three years—ever since the VC++ November 2013 CTP release. If you’re using coroutines you should be aware that the keyword `yield` is being removed in the release of VS 2017. If you use `yield` in your code, you will have to change your code to use the new keyword `co_yield` instead. If you have generators that use `yield expr`, these need to be changed to say `co_yield expr`. As long as you’re changing your code you might want to...
vcpkg 3 Months Anniversary, Survey
vcpkg, a tool to acquire and build C++ open source libraries on Windows, was published 3 months ago. We started with 20 libraries and now the C++ community has added 121 new C++ libraries. We really appreciate your feedback and we created a survey to collect it. Please take 5 minutes to complete it. The survey measure your overall satisfaction with the tool and the catalog of libraries. It also captures your needs and feedback to prepare the next version. Your input is essential for us to build a tool you need and use, thanks in advance for your time and inputs. As always don’t hesitate to contact us for any is...
CMake support in Visual Studio 2017 – what’s new in the RC.2 update
In case you missed the latest Visual Studio news, there is a new update for Visual Studio 2017 RC available. You can either upgrade your existing installation or, if you’re starting fresh, install it from the Visual Studio 2017 RC download page. This release comes with several enhancements in Visual Studio’s CMake experience that further simplify the development experience of C++ projects authored using CMake. If you’re just getting started with CMake in Visual Studio, a better resource will be the overview blogpost for CMake suport in Visual Studio that will walk you through the full experience including the la...
December Update for the Visual Studio Code C/C++ extension
At //Build this year we launched the C/C++ extension for Visual Studio Code. Keeping with the monthly release cadence and goal to continuously respond to your feedback, this December update introduces the following features: If you haven’t already provided us feedback, please take this quick survey to help shape this extension for your needs. The original blog post has already been updated with these new feature additions. Let’s learn more about each one of them now! Debugger Visualizations by default with Pretty Printing for GDB users Pretty printers can be used to make the output of GDB more usa...