As the name suggests, this is a preview update ahead of a full release. Microsoft seems to have been busy, making a myriad fixes and adding some new features too. Debugging and Diagnostic changes are a big part of this release. Microsoft has added the IntelliTrace step-back feature. This now allows debugging in .NET Core. Additionally, the script debugger can now be attached to Microsoft Edge for ASP.NET. C++ has also gained some debugging tools, such as more robust debugging for PDBs and C++ Core Check being integrated as part of the default toolset for native code analysis. Visual Studio 2017 is different to previous versions and can install faster. This is because Microsoft allows users to customize elements that they want to use. In terms of Xamarin support, the platform now has Automatic Android SDK Management, while Python support a limited preview of a new Python debugger. The changelog is extensive, as you can see below: “Debugging and Diagnostics IntelliTrace’s step-back debugging feature is now supported for debugging .NET Core projects.
To enable the feature, go to Tools > Options > IntelliTrace settings, and select the option IntelliTrace events and snapshots.
Launch and attach script debugger to Microsoft Edge is now supported for ASP.NET projects.
You can now debug both JavaScript and TypeScript directly in Visual Studio when using Google Chrome as your browser of choice. All you should do is to select Chrome as your browser in Visual Studio and hit F5 to debug. See the Client-side debugging of ASP.NET projects in Google Chrome for additional information.
C++
Debugging large solutions with /Debug:fastlink PDBs is more robust. Changes in the PDB lead to reduced latency and a 30% reduction in heap memory consumption in the VS Debugger. Extend template argument deduction for functions to constructors of template classes – when you construct a class template you no longer have to specify the arguments. C++ Core Check is now part of the default toolset for native code analysis. Whenever code analysis is executed over a project, a subset of rules is enabled from C++ Core Check in addition to default recommended rules. Added parallel compilation support for Linux projects, which may significantly improve build times. This can be enabl ed via Property Pages > C/C++ > Max Number of Parallel Compilation Jobs. Added the “Public Project Include Directories” Linux project property to improve consumption of includes from project-to-project references in Linux solutions. Added ClangFormat support for C++ developers in the IDE. Similar to EditorConfig, you can use ClangFormat to automatically style and format your code as you type, in a way that can be enforced across your development team.
Visual Studio Tools for Xamarin This release includes Xamarin.iOS 11.10 and Xamarin.Android 8.3. Automatic Android SDK Management When a Xamarin.Android project is loaded, Visual Studio can now determine if the Android API level used by the project is missing from your machine and automatically install it for you in the background. To enable this feature, go to Tools > Options > Xamarin > Android Settings > Auto Install Android SDKs. Python Added a limited preview of a new Python debugger based on the popular open source pydevd debugger. The limited preview currently offers basic debugging functionality with significantly faster debugging performance for Django applications. Check out the PyDevD Debugger Limited Preview in Visual Studio blog post for instructions on trying it out. Web Tools
Improved Kestrel HTTPs support during debugging. ASP.NET Core applications now support multiple semi-colon separated values in the “App URL” field under project properties. When multiple URLs are present in this field, the first one is the one used to launch the browser. New scaffolder called “Identity” is now available via the command line (GUI support coming soon), which adds identity management UI to your ASP.NET Core 2.1 applications.
Tools for Universal Windows Developers
The Windows 10 Insider Preview SDK, Build 17110, can now be installed as an optional component with the Universal Windows Platform. Windows Machine Learning automatic code generation support allows WinML wrapper classes to be generated by adding your ONNX model files as an existing item in the project.
NuGet Client We added support for NuGet package signatures. Installing or restoring signed packages validates the digital signature before extracting the packages content. If the signature validation fails (e.g. the content has been tampered with, invalid certificate, etc…) the operation will be blocked with a build error that is shown in the Error List.”
Download
The new Preview version of Visual Studio 2017 can be downloaded here. As usual, Microsoft is asking preview users to provide feedback to find issues and fix broken features. That feedback can be given through the developers forum.