C++ Team Blog
The latest in C++, Visual Studio, VS Code, and vcpkg from the MSFT C++ team
Latest posts
Latest and Greatest in Visual Studio 2017 for C++ developers
Daniel Moth and Steve Carroll shared what's new in VS 2017 and Updates for C++ developers at CppCon yesterday. You can grab the slides from the talk here, or here in PDF format. A video of the talk is available on YouTube: If you're at the conference stop by our booth on the fourth floor to ask questions, grab a T-shirt, and take our developer survey for a chance to win an Xbox One S.
The Microsoft C++ team is at CppCon 2017
The Microsoft C++ team is at CppCon 2017. Take our survey, attend talks by our team members, and drop by our booth to say hello! Visual Studio team members are presenting in a great set of talks this year: We'll also be participating on a few panels: There are also some talks from other Microsofties you don't want to miss: We'll also be hanging around the Visual Studio booth from Monday through Thursday. It's on the fourth floor right in the middle, across from room 406. Stop by and see our demos, fill out our developer survey, and grab a Visual C++...
CMake support in Visual Studio – CMake 3.9, Linux targeting, feedback
点这里看中文版 Visual Studio 2017 15.4 Preview 2 is now available and includes enhancements to Visual Studio’s CMake tools. The latest preview upgrades CMake to version 3.9, includes better support for independent CMakeLists, and supports targeting Linux directly. Please check out the preview and try out the latest CMake features. If you are just getting started with CMake, follow the link to learn more about CMake support in Visual Studio. We are looking forward to your feedback. CMake Tools Upgraded to CMake 3.9 You can find the full lists of enhancements in the CMake 3.9 release notes. Better Support for Folders...
Two-phase name lookup support comes to MSVC
点这里看中文版 This post written by Tanveer Gani, Stephan T. Lavavej, Andrew Marino, Gabriel Dos Reis, and Andrew Pardoe "Two-phase name lookup" is an informal term that refers to a set of rules governing the resolution of names used in a template declaration. These rules were formalized more than two decades ago in an attempt to reconcile two opposing compilation models for templates: the inclusion model (what most developers know of templates today), and the separation model (the basis of the original design for templates). You can find the genesis of dependent names in the foundational paper Proposed Revisions to t...
Visual Studio extensions for C++ developers in Visual Studio 2017
点这里看中文版 ⏱ Updated on Jan 17, 2018 with information on ImageWatch and Child Process Debugging In this blogpost we want to highlight several Visual Studio extensions that can make your life better as a C++ developer if you’re using Visual Studio 2017 or considering upgrading. We have also heard from many of you that not having certain C++ extensions available on Visual Studio 2017 was preventing you from moving to the latest version. We wanted to let you know that we are addressing this feedback and many of the extensions you have mentioned are now available on Visual Studio 2017. We happy to announce t...
A new C++/WinRT update is available
A new update of C++/WinRT is available on GitHub! C++/WinRT is a standard C++ language projection for the Windows Runtime, implemented solely in header files. The C++/WinRT team has been quiet since their announcements at CppCon 2016. They've made a lot of progress in this update, leading up to the first public release of the CppWinRT compiler. You can read the announcement on the ModernCpp website. We on the Visual C++ team find C++/WinRT to be one of the best test cases for our compiler as MSVC approaches conformance with the C++ Standard. As you try new, standards-conforming features out in MSVC, please be s...
Visual C++ for Linux Development with CMake
In Visual Studio 2017 15.4 you can now target Linux from your CMake projects. This enables you to work on your existing code base that uses CMake as your build solution without having to convert it to a VS project. If your code base is cross-platform you can target both Windows and Linux from within Visual Studio. This post will give an overview of the CMake support for Linux in Visual Studio. You can go here to learn more about CMake in Visual Studio generally. Update 10/24/2017: 15.4.1 is in the Release channel now and addresses the setup issue previously noted here. 15.5 is in the Preview channel and removes...
Visual Studio Code C/C++ extension August 2017 Update
Last week we shipped the August 2017 update to the Visual Studio Code C/C++ extension. Besides several bug fixes, this update includes a new command for resetting the IntelliSense database file and continued improvements to the new compiler-based IntelliSense engine. Thanks to everyone who provided us feedback on the new IntelliSense engine in the past couple months! “Reset IntelliSense Database” command The extension ships the “Tag Parser”, which is used to provide quick, but "fuzzy" results for some of the IntelliSense features. It is also used as the fallback solution for the other IntelliSense features powere...
Changes to Project Templates and Code Wizards in 15.3
Visual Studio 2017 Update 15.3 is a major release with many different improvements coming to the product. You can learn more about these changes in the 15.3 Release Notes. One aspect I want to highlight in this blog post pertains to changes made to the C++ templates in File > New Project and code wizards. We made these changes to account for feedback we received from you and to optimize the templates you use the most often. Let’s start by looking at the New Project dialog in 15.2. Many of you will be familiar with the way everything is laid out. There are a number of different templates under Visual C++, inc...