Skip to content

Commit e8c2fb5

Browse files
committed
Adding what's new pages, renaming the old "visual cpp in visual studio" page, commented out a bit on the VS installer since it's not valid for 2017, but will need to be updated.
1 parent 091e6dc commit e8c2fb5

9 files changed

Lines changed: 189 additions & 334 deletions

docs/top/TOC.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
# [What's New for Visual C++ in Visual Studio 2015](what-s-new-for-visual-cpp-in-visual-studio-2015.md)
2-
# [Visual C++ in Visual Studio 2015](visual-cpp-in-visual-studio-2015.md)
1+
# [What's New for Visual C++ in Visual Studio 2017](what-s-new-for-visual-cpp-in-visual-studio-2017.md)
2+
# [Visual C++ in Visual Studio 2017](visual-cpp-in-visual-studio-2017.md)
33
# [Visual C++ Samples](visual-cpp-samples.md)
44
# [How to Report a Problem with the Visual C++ Toolset](how-to-report-a-problem-with-the-visual-cpp-toolset.md)
55
# [Visual C++ Help and Community](visual-cpp-help-and-community.md)

docs/top/media/CppCoreCheck.png

50.8 KB
Loading

docs/top/media/ErrorList1.png

4.43 KB
Loading

docs/top/media/ErrorList2.png

9.67 KB
Loading

docs/top/media/cmake_cpp.png

97.2 KB
Loading

docs/top/media/mlfiltering.png

9.85 KB
Loading

docs/top/visual-cpp-in-visual-studio-2015.md renamed to docs/top/visual-cpp-in-visual-studio-2017.md

Lines changed: 50 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,48 @@
1-
---
2-
title: "Visual C++ in Visual Studio 2015 | Microsoft Docs"
3-
ms.custom: ""
4-
ms.date: "11/04/2016"
5-
ms.prod: "visual-studio-dev14"
6-
ms.reviewer: ""
7-
ms.suite: ""
8-
ms.technology:
9-
- "devlang-cpp"
10-
ms.tgt_pltfrm: ""
11-
ms.topic: "article"
12-
f1_keywords:
13-
- "visual c++"
14-
- "visual c"
15-
- "vc"
16-
dev_langs:
17-
- "C++"
18-
helpviewer_keywords:
19-
- "unmanaged code, C++"
20-
- "development environment, Visual C++"
21-
- "unmanaged code"
22-
- "Visual C++"
23-
- "Visual C++, reference"
24-
ms.assetid: e8dcc44c-a3e2-4ffe-887c-fd15b18dc458
25-
caps.latest.revision: 61
26-
author: "mikeblome"
27-
ms.author: "mblome"
28-
manager: "ghogen"
29-
translation.priority.ht:
30-
- "de-de"
31-
- "es-es"
32-
- "fr-fr"
33-
- "it-it"
34-
- "ja-jp"
35-
- "ko-kr"
36-
- "ru-ru"
37-
- "zh-cn"
38-
- "zh-tw"
39-
translation.priority.mt:
40-
- "cs-cz"
41-
- "pl-pl"
42-
- "pt-br"
43-
- "tr-tr"
44-
---
45-
# Visual C++ in Visual Studio 2015
1+
---
2+
title: "Visual C++ in Visual Studio 2017 | Microsoft Docs"
3+
ms.custom: ""
4+
ms.date: "11/04/2016"
5+
ms.prod: "visual-studio-dev15"
6+
ms.reviewer: ""
7+
ms.suite: ""
8+
ms.technology:
9+
- "devlang-cpp"
10+
ms.tgt_pltfrm: ""
11+
ms.topic: "article"
12+
f1_keywords:
13+
- "visual c++"
14+
- "visual c"
15+
- "vc"
16+
dev_langs:
17+
- "C++"
18+
helpviewer_keywords:
19+
- "unmanaged code, C++"
20+
- "development environment, Visual C++"
21+
- "unmanaged code"
22+
- "Visual C++"
23+
- "Visual C++, reference"
24+
ms.assetid: e8dcc44c-a3e2-4ffe-887c-fd15b18dc458
25+
caps.latest.revision: 61
26+
author: "mikeblome"
27+
ms.author: "mblome"
28+
manager: "ghogen"
29+
translation.priority.ht:
30+
- "de-de"
31+
- "es-es"
32+
- "fr-fr"
33+
- "it-it"
34+
- "ja-jp"
35+
- "ko-kr"
36+
- "ru-ru"
37+
- "zh-cn"
38+
- "zh-tw"
39+
translation.priority.mt:
40+
- "cs-cz"
41+
- "pl-pl"
42+
- "pt-br"
43+
- "tr-tr"
44+
---
45+
# Visual C++ in Visual Studio 2017
4646
The [!INCLUDE[vcprvc](../build/includes/vcprvc_md.md)] programming language and development tools help you develop native Universal Windows apps, native desktop and server applications, cross-platform libraries that run on Android and iOS as well as Windows, and managed apps that run on the .NET Framework.
4747

4848
**Who is this documentation for?**
@@ -54,12 +54,14 @@ The [!INCLUDE[vcprvc](../build/includes/vcprvc_md.md)] programming language and
5454
- If you are looking for an introduction to C++ programming concepts, go to one of the many websites that offer this content, or get a copy of [Programming -- Principles and Practice Using C++ (Second Edition)](http://stroustrup.com/Programming/) by the inventor of C++, Bjarne Stroustrup. The Visual C++ content assumes you already have a basic familiarity with C++.
5555

5656
- If you are looking for the Visual C++ compiler, you need to download a paid or free edition of Visual Studio 2015 from [https://www.visualstudio.com/](https://www.visualstudio.com/).
57-
57+
58+
<!-- FIXME
5859
> [!WARNING]
5960
> In Visual Studio 2015, Visual C++ is not installed by default. When installing, be sure to choose **Custom** installation and then choose the C++ components you require. Or, if Visual Studio is already installed, choose **File &#124; New &#124; Project &#124; C++** and you will be prompted to install the necessary components.
60-
61+
-->
62+
6163
## General Information about Visual C++
62-
[What's New for Visual C++](../top/what-s-new-for-visual-cpp-in-visual-studio-2015.md)
64+
[What's New for Visual C++](../top/what-s-new-for-visual-cpp-in-visual-studio-2017.md)
6365
Find out what’s new in Visual C++.
6466

6567
[Visual C++ change history 2003 - 2015](../porting/visual-cpp-change-history-2003-20151.md)

docs/top/what-s-new-for-visual-cpp-in-visual-studio-2015.md

Lines changed: 0 additions & 284 deletions
This file was deleted.
Lines changed: 137 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,137 @@
1+
---
2+
title: "What's New for Visual C++ in Visual Studio 2017 RC"
3+
ms.custom: ""
4+
ms.date: "11/16/2016"
5+
ms.prod: "visual-studio-dev15"
6+
ms.reviewer: ""
7+
ms.suite: ""
8+
ms.technology:
9+
- "vs-ide-general"
10+
ms.tgt_pltfrm: ""
11+
ms.topic: "article"
12+
ms.assetid: 8801dbdb-ca0b-491f-9e33-01618bff5ae9
13+
author: "BrianPeek"
14+
ms.author: "brpeek"
15+
manager: "ghogen"
16+
translation.priority.ht:
17+
- "cs-cz"
18+
- "de-de"
19+
- "es-es"
20+
- "fr-fr"
21+
- "it-it"
22+
- "ja-jp"
23+
- "ko-kr"
24+
- "pl-pl"
25+
- "pt-br"
26+
- "ru-ru"
27+
- "tr-tr"
28+
- "zh-cn"
29+
- "zh-tw"
30+
---
31+
32+
# What's New for Visual C++ in Visual Studio 2017 RC
33+
34+
Visual Studio 2017 RC brings many updates and fixes to the Visual C++ environment. We've fixed over 250 bugs and reported issues in the compiler and tools, many submitted by customers through [Microsoft Connect](https://connect.microsoft.com/VisualStudio "Microsoft Connect"). Thank you for reporting bugs!
35+
36+
The compiler and tools version number in Visual Studio 2017 RC is 14.10.24629.
37+
38+
## C++ Code Analysis
39+
40+
The C++ Core Checkers for enforcing the [C++ Core Guidelines](https://github.com/isocpp/CppCoreGuidelines) are now distributed with Visual Studio. Simply enable the checkers in the Code Analysis Extensions dialog in the project's property pages and the extensions will be included when you run code analysis.
41+
42+
![CppCoreCheck](media/CppCoreCheck.png "CppCoreCheck properties page")
43+
44+
## C++ Compiler
45+
46+
In this release, we've updated the C++ compiler and standard library with enhanced support for C++11 and C++14 features, as well as preliminary support for certain features expected to be in the C++17 standard. With support for generalized constexpr and NSDMI for aggregates, the compiler is complete for features added in the C++14 Standard. Note that the compiler still lacks a few features from the C++11 and C++98 Standards.
47+
Visual Studio 2017 RC allows using /sdl with /await. We removed /rtc limitation with Coroutines.
48+
This release brings several improvements in optimization and code generation. Some notable improvements include:
49+
50+
- Improved code generation of loops: Support for automatic vectorization of division of constant integers, better identification of memset patterns.
51+
- Improved code security: Improved emission of buffer overrun compiler diagnostics, and /guard:cf now guards switch statements that generate jump tables.
52+
53+
The /debug:fastlink option has been improved to provide 30% faster link times on large components than in VS 2015.
54+
55+
## C++ Libraries
56+
57+
### Standard Template Library:
58+
59+
* Minor basic_string _ITERATOR_DEBUG_LEVEL != 0 diagnostics improvements. Tripping an IDL check in string machinery will now report the specific behavior that caused the trip. For example, instead of "string iterator not dereferencable" you'll get "cannot dereference string iterator because it is out of range (e.g. an end iterator)".
60+
* Performance improvement: made basic_string::find(char) overloads only call traits::find once. Previously this was implemented as a general string search for a string of length 1.
61+
* Performance improvement: basic_string::operator== now checks the string's size before comparing the strings' contents.
62+
* Performance improvement: removed control coupling in basic_string which was difficult for the compiler optimizer to analyze. Resolves VSO# 262848 "<string>: reserve() does too much work". Note that for all short strings, calling reserve still has nonzero cost to do nothing.
63+
* We added \<any\>, \<string_view\>, apply(), make_from_tuple().
64+
* std::vector has been overhauled for correctness and performance: aliasing during insertion/emplacement is now correctly handled as required by the Standard, the strong exception guarantee is now provided when required by the Standard via move_if_noexcept() and other logic, and insertion/emplacement perform fewer element operations.
65+
* The STL now avoids dereferencing null fancy pointers.
66+
* Added \<optional\>, \<variant\>, shared_ptr::weak_type, and \<cstdalign\>.
67+
* Enabled C++14 constexpr in min/max/minmax(initializer_list) and min_element/max_element/minmax_element().
68+
* Improved weak_ptr::lock() performance.
69+
* Fixed std::promise's move assignment operator, which previously could cause code to block forever.
70+
* Fixed compiler errors with atomic\<T \*\>'s implicit conversion to T \*.
71+
* pointer_traits\<Ptr\> now correctly detects Ptr::rebind\<U\>.
72+
* Fixed a missing const qualifier in move_iterator's subtraction operator.
73+
* Fixed silent bad codegen for stateful user-defined allocators requesting propagate_on_container_copy_assignment and propagate_on_container_move_assignment.
74+
* atomic\<T\> now tolerates overloaded operator&().
75+
* To increase compiler throughput, STL headers now avoid including declarations for unnecessary compiler intrinsics.
76+
* Slightly improved compiler diagnostics for incorrect bind() calls.
77+
78+
## C++ IDE
79+
80+
* 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).
81+
82+
* We've improved IntelliSense performance on projects and files not using precompiled headers – an Automatic Precompiled Header will be created for headers in the current file.
83+
84+
* We've added error filtering and help for IntelliSense errors in the error list. Clicking on the error column now allows for filtering. Also, clicking on the specific errors or pressing F1 will launch an online search for the error message.
85+
86+
![Error List](media/ErrorList1.png "Error List")
87+
88+
![Error List Filtered](media/ErrorList2.png "Error List Filtered")
89+
90+
* Added the ability to filter Member List items by kind.
91+
92+
![Member List Filtering](media/mlfiltering.png "Member List Filtering")
93+
94+
* Added a new experimental Predictive IntelliSense feature that provides contextually-aware filtering of what appears in the Member List.
95+
96+
* The new Find All References UI includes information about whether we are reading from or writing to a variable in the results for C++ code.
97+
98+
* _**New in RC**_ The Dot-to-Arrow IntelliSense feature has been moved from experimental to advanced, and is now enabled by default. The editor features Expand Scopes and Expand Precedence have also been moved from experimental to advanced.
99+
100+
* _**New in RC**_ The experimental refactoring features Change Signature and Extract Function are now available by default.
101+
102+
* _**New in RC**_ We've enabled the new experimental feature for C++ projects ‘Faster project load’. The next time you open a C++ project it will load faster, and the time after that it will load really fast!
103+
104+
* _**New in RC**_ Improvements to the Open Folder experience.
105+
Edit, build and debug your non-MSBuild C++ project by loading your sources through “Open Folder”.
106+
Customize the experience through these json files:
107+
- CppProperties.json to customize the IntelliSense and browsing experience.
108+
- Tasks.json to customize the build steps.
109+
- Launch.json to customize the debugging experience.
110+
111+
* _**New in RC**_ C++ IntelliSense will work without the need to create a CppProperties.json file in the root folder. Along with this, we've added a new dropdown to allow users to easily switch between configurations provided by CMake and CppProperties.json files.
112+
CMake support in Open Folder
113+
Opening CMake projects with “Open Folder” will automatically configure the environment for C++ editing, building and debugging.
114+
115+
* _**New in RC**_ Further configuration is supported via a CMakeSettings.json file that sits in the same folder as the CMakeLists.txt file.
116+
117+
![Cmake Open Folder](media/cmake_cpp.png "CMake Open Folder")
118+
119+
## C++ Installation Workloads
120+
121+
### Windows Desktop Development with C++:
122+
We now provide a more granular installation experience for installing the original C++ workload. We have added selectable components that enable you to install just the tools that you need. Please note that the indicated installation sizes for the components listed in the installer UI are not accurate and underestimate the total size.
123+
124+
### Linux Development with C++:
125+
The popular extension [Visual C++ for Linux Development](https://visualstudiogallery.msdn.microsoft.com/725025cf-7067-45c2-8d01-1e0fd359ae6e) is now part of Visual Studio. This installation provides everything you need to develop and debug C++ applications running on a Linux environment.
126+
127+
### Game Development with C++:
128+
Use the full power of C++ to build professional games powered by DirectX or Cocos2d.
129+
130+
### Mobile Development with C++ (Android and iOS):
131+
You can now create and debug mobile apps using Visual Studio that can target Android and iOS.
132+
133+
### Universal Windows App:
134+
C++ comes as an optional component for the Universal Windows App workload.
135+
136+
## Clang/C2 Platform Toolset
137+
The Clang/C2 toolset that ships with Visual Studio 2017 RC now supports the /bigobj switch, which is crucial for building large projects. It also includes several important bug fixes, both in the front-end and the back-end of the compiler.

0 commit comments

Comments
 (0)