You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/what-s-new-for-visual-cpp-in-visual-studio.md
+24Lines changed: 24 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -56,6 +56,8 @@ Enable up to 30% faster incremental link times (vs. Visual Studio 2015) by not c
56
56
57
57
[!INCLUDE[vs_dev15_md](misc/includes/vs_dev15_md.md)] allows using /sdl with /await. We removed the /RTC limitation with Coroutines.
58
58
59
+
**Visual Studio 2017 version 15.3**: The Visual C++ compiler supports about 75% of C++17 features, including structured bindings, `constexpr` lambdas, `if constexpr`, inline variables, fold expressions, and adding `noexcept` to the type system. These are available under the /std:c++17 switch. The /permissive- conformance mode includes partial support for two-phase name lookup. For more information, see [C++ Conformance Improvements in Visual Studio 2017](cpp-conformance-improvements-2017.md).
60
+
59
61
### Codegen, security, diagnostics and versioning
60
62
This release brings several improvements in optimization, code generation, toolset versioning, and diagnostics. Some notable improvements include:
61
63
@@ -68,6 +70,9 @@ This release brings several improvements in optimization, code generation, tools
68
70
69
71
**Visual Studio 2017 version 15.3**: Additional improvements to diagnostics in the compiler. For more information, see [Diagnostic Improvements in Visual Studio 2017 15.3.0](https://blogs.msdn.microsoft.com/vcblog/2017/07/21/diagnostic-improvements-in-vs2017-15-3-0/).
70
72
73
+
**Visual Studio 2017 version 15.5**:
74
+
Visual C++ runtime performance continues to improve due to better generated code quality. This means that you can simply recompile your code, and your app just runs faster. Some of the compiler optimizations are brand new, such as the vectorization of conditional scalar stores, the combining of calls sin(x) and cos(x) into a new sincos(x), and the elimination of redundant instructions from the SSA Optimizer. Other compiler optimizations are improvements to existing functionality such as vectorizer heuristics for conditional expressions, better loop optimizations, and float min/max codegen. The linker has a new and faster /OPT:ICF implementation which can result in up to 9% link time speedups, and there are other perf fixes in "incremental linking". For more information, see [/OPT (Optimizations)](https://docs.microsoft.com/en-us/cpp/build/reference/opt-optimizations) and [/INCREMENTAL (Link Incrementally)](https://docs.microsoft.com/en-us/cpp/build/reference/incremental-link-incrementally).
75
+
71
76
## C++ Libraries
72
77
73
78
### Standard Library improvements:
@@ -185,6 +190,19 @@ The CPPRestSDK, a cross-platform web API for C++, has been updated to version 2.
185
190
* Win32 projects are now under the Windows Desktop category in the **New Project** dialog.
186
191
* The Windows Console and Desktop Application templates now create the projects without displaying a wizard. There's a new Windows Desktop Wizard now under the same category that displays the same options as before.
187
192
193
+
**Visual Studio 2017 version 15.5**:
194
+
Several C++ operations that use the IntelliSense engine for refactoring and code navigation run much faster. The following numbers are based on the Visual Studio Chromium solution with 3500 projects:
195
+
|||
196
+
|-|-|
197
+
|Feature|Performance Improvement|
198
+
|Rename|5.3x|
199
+
|Change Signature |4.5x|
200
+
|Find All References|4.7x|
201
+
202
+
203
+
204
+
C++ now supports Ctrl+Click GoTo Definition, making mouse navigation to definitions easy. The Structure Visualizer from the Productivity Power Tools pack is now also included in the product by default.
205
+
188
206
### Intellisense
189
207
* The new SQLite-based database engine is now being used by default. This will speed up database operations like Go To Definition and Find All References, and will significantly improve initial solution parse time. The setting has been moved to Tools > Options > Text Editor > C/C++ > Advanced (it was formerly under ...C/C++ > Experimental).
190
208
@@ -249,6 +267,9 @@ The popular extension [Visual C++ for Linux Development](https://visualstudiogal
249
267
250
268
**Visual Studio 2017 version 15.2**: Improvements for cross-platform code sharing and type visualization. For more information, see [Linux C++ improvements for cross-platform code sharing and type visualization](https://blogs.msdn.microsoft.com/vcblog/2017/05/10/linux-cross-platform-and-type-visualization/).
251
269
270
+
**Visual Studio 2017 version 15.5**:
271
+
The Linux workload has added support for rsync as an alternative to sftp for synchronizing files to remote Linux machines.
272
+
252
273
### Game Development with C++:
253
274
Use the full power of C++ to build professional games powered by DirectX or Cocos2d.
254
275
@@ -276,6 +297,9 @@ The C++ Core Checkers for enforcing the [C++ Core Guidelines](https://github.com
276
297
277
298
**Visual Studio 2017 version 15.3**: Support added for rules related to resource management. For more information, see [Using the C++ Core Guidelines checkers](/visualstudio/code-quality/using-the-cpp-core-guidelines-checkers).
278
299
300
+
**Visual Studio 2017 version 15.5**:
301
+
New C++ Core Guidelines checks cover smart pointer correctness, correct use of global initializers, and flagging uses of constructs like `goto` and bad casts.
302
+
279
303
## Unit Testing
280
304
281
305
New Visual Studio extensions enable you to run your unit tests based on Google Test and Boost.Test directly in Visual Studio. For more information, see [C++ Unit Testing Updates: Announcing Boost.Test Adapter and Improved Google Test Support](https://blogs.msdn.microsoft.com/vcblog/2017/08/04/c-unit-testing-updates-announcing-boost-test-adapter-and-improved-google-test-support/).
0 commit comments