Spectre mitigation changes in Visual Studio 2017 Version 15.7 Preview 3

With Visual Studio 2017 version 15.7 Preview 3 we have two new features to announce with regards to our Spectre mitigations. First, the /Qspectre switch is now supported regardless of the selected optimization level. Second, we have provided Spectre-mitigated implementations of the Microsoft Visual C++ libraries. Complete details are available in context in the original… Read more

C++ code analysis: configure rules from the command line

This post written by Sunny Chatterjee and Andrew Pardoe Visual Studio version 15.7 Preview 3 introduces a new MSVC compiler switch, /analyze:ruleset, that configures code analysis runs. The primary motivation for this switch is to enable developers who are using C++ Code Analysis without using MSBuild to filter rules. But developers who are using code… Read more

MSVC now correctly reports __cplusplus

The MSVC compiler’s definition of the __cplusplus predefined macro leaps ahead 20 years in Visual Studio 2017 version 15.7 Preview 3. This macro has stubbornly remained at the value “199711L”, indicating (erroneously!) that the compiler conformed to the C++98 Standard. Now that our conformance catch-up work is drawing to a close we’re updating the __cplusplus… Read more

Visual Studio Code C/C++ extension March 2018 update

Today we are excited to announce the March 2018 update to the Visual Studio Code C/C++ extension! This update includes improved auto-complete for local and global scopes and a simplified configuration process for system includes and defines, enabling a better out-of-box IntelliSense experience. You can find the full list of changes in the release notes…. Read more

Configuring C++ IntelliSense and Browsing

Whether you are creating a new (or modifying an existing) C++ project using a Wizard, or importing an project into Visual Studio from another IDE, it’s important to configure the project correctly for the IntelliSense and Browsing features to provide accurate information.  This article provides some tips on configuring the projects and describes a few… Read more

C++ Core Checks in Visual Studio 2017 15.7 Preview 2

This post was written by Sergiy Oryekhov. The C++ Core Guidelines Check extension received several new rules in Visual Studio 2017 15.7 Preview 2. The primary focus in this iteration was on the checks that would make it easier to adopt utilities from the Guidelines Support Library. Below is a quick summary of these additions…. Read more

Build Time Improvement Recommendation: Turn off /MAP, use PDBs

点这里看中文版 Map file is a plaintext file that contains information about where certain names and symbols exist in a binary produced by the linker. It also contain detailed information on all sections in your binary (code, data, etc.) and which OBJ/LIB each symbol is defined in. The Windows debuggers (like windbg.exe) can use map files to help locate where a program… Read more

ClangFormat Support in Visual Studio 2017

⏱ Updated on March 14, 2018 to talk about which version of clang-format.exe we ship in the product. Visual Studio 2017 15.7 Preview 1 comes with built-in ClangFormat support for C++ developers. Specifically, we ship version 5.0 of the clang-format.exe. ClangFormat is a utility that makes it easy to style and format your code based… Read more

C++ Code Analysis Improvements for Visual Studio 2017 15.7 Preview 1

点这里看中文版 We’re making it easier to configure and use the C++ code analysis features with a set of changes targeting 15.7. In the first 15.7 preview we’ve cleaned up the UI, fixed our documentation links and, most importantly, simplified the way analysis extensions are configured.  If you’re not familiar with C++ Core Check, it’s a… Read more

Linux C++ Workload improvements to the Project System, Linux Console Window, rsync and Attach to Process

点这里看中文版 In Visual Studio 2017 15.7 Preview 1 we have made a number of improvements to our support to the Linux C++ workload based on your feedback. You can learn more about our Linux C++ workload in Visual Studio here. MSBuild Project System improvements We added some new properties to Linux projects on the C/C++… Read more