Table of contents

Visual Studio "15" Preview 2

May 10, 2016

Today, we are happy to announce the release of the Visual Studio "15" Preview 2. This new release includes our most recent feature innovations and improvements.

Important Note: This is an unsupported prerelease version of Visual Studio. We do not advise that you use it in a production environment. However, we welcome your feedback! For problems, let us know via the Send Feedback option in Visual Studio. For suggestions, let us know through UserVoice.

You can install the new Visual Studio release from the following link:

Download: Visual Studio Enterprise "15" Preview 2

To learn more about other related downloads, see the Downloads page.

What's New?

Visual Studio:

Other Changes:

Visual Studio Tools for Apache Cordova

New in Preview 2 Visual Studio "15" Preview includes Visual Studio Tools for Apache Cordova Update 9, with the following improvements:

  • Support for Cordova 6.1.1 Now all new projects created from the template, or from existing code will be targeting Cordova 6.1.1

  • Add plugin by ID We added a new option in the custom tab of the config designer that allows you to add a plugin by plugin id. Plugin ids are the npm package name of each plugin (eg cordova-plugin-device )

    Add Plugin By ID

  • New Start Page We've updated our start page to make it more actionable and useful for devs getting started with our tools.

  • Better npm integration (using a sandbox version and respecting system proxy settings)

    Start Page

For more information about this release, see the Visual Studio Tools for Apache Cordova release notes.

Important Note: This release of Visual Studio does not support Windows Store 8.1 projects. We recommend that you update your Cordova projects to target Windows 10.

Visual Studio Tools for Universal Windows App Development

Visual Studio "15" Preview includes the following features for Universal Windows Platform Tools:

  • Updated.NET Native Toolchain. This updated .NET Native toolchain adds several optimizations to improve runtime performance for managed UWP apps in Visual Studio. The release includes over 600 bug fixes and features to address key customer feedback and improve the overall quality of the toolchain.
  • 5.1.0 Microsoft.NETCore.UniversalWindowsPlatform package. This update to the .NET Core NuGet framework libraries addresses a number of key issues reported by customers since Visual Studio 2015 RTM. Existing UWP projects can use the NuGet reference manager to update to this new version.

Visual C++

C++ Compiler

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. The most notable compiler changes are support for Variable Templates and constexpr improvements.

Visual Studio "15" Preview allows using /SDL with /AWAIT. We also removed /RTC limitation with Coroutines. Coroutines still are experimental, but ready for quality production code now.

Additionally, we've fixed more than 300 compiler bugs, including many submitted by customers through Microsoft Connect — thank you! (Some of these bug fixes address code generation issues in the compiler, and fixing them required source-breaking changes. For more information, review the Breaking Changes in Visual C++ 2015 Update 2 list on MSDN.

C++ Libraries

We’ve implemented every C++ Standard Library feature that's been voted into C++11, C++14, and the C++17-so-far Working Paper N4567 (pre-Jacksonville).

For UWP packages, ucrtbased.dll(debug) has been removed from the Microsoft.VCLibs, Version 14.0 framework package. We made this change to avoid lock-in to a specific version of the Windows 10 SDK. Visual Studio/MSBuild will automatically inject a reference to the Microsoft Universal CRT Debug Runtime Extension SDK for projects that reference the VCLibs framework package, which will then include the ucrtbased.dll in the application’s appx. For non-MSBuild build systems, you must manually include the ucrtbased.dll in the application’s appx file (App Local).

New in Preview 2 In Preview 2, we fixed an issue where the atomic assign operator for UDTs (atomic::operator=()) would return the previous value instead of the current value. (The atomic and atomic assign operators for UDTs were unaffected by this bug.)

C++ IDE

The new SQLite-based database engine is now being used by default. This will speed up database operations like Go To Definitions 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).

Clang/C2 Platform Toolset

The Clang/C2 toolset that ships with Visual Studio "15" Preview 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.

C++ MDD

Android

The Android offering now supports Gradle builds. Developers can use Gradle to build Android artifacts (.aar, .apk’s). To get started, take a look at the Gradle template provided as a part of the File -> New -> Visual C++ -> Cross-platform menu.

iOS

Visual Studio now allows importing existing Xcode projects into Visual Studio through an entry-point wizard.

The iOS experience now also provides an improved edit-build-debug cycle as a result of using the following feature set, as follows:

  • iOS developers can use provisioning profiles in Visual Studio.
  • iOS developers can leverage frameworks and dylibs for their iOS offering.
  • Visual Studio now provides an improved experience for dynamically refreshing debug targets.
  • We've applied multiple bug fixes for clean-builds.

For scenarios where Xcode is still required—for example, signing your iOS application for the store or using Xcode instruments—developers can leverage the ‘Open in Xcode’ feature Visual Studio, which provides the ability to port a Visual Studio iOS project to Xcode and get going.

C# and Visual Basic

We added/updated three new style analyzers to help you customize and enforce coding conventions on your team, as follows:

  • Naming style rules
  • Use of “var” or explicit types
  • Use of “this.” or “Me.” on member accesses

    CSharp and Visual Basic

Look for the following improvements to the IDE experience that are also in Visual Studio 2015 Update 2:

  • Refactorings that simplify delegate invocations and raising events using the null condition operator.
  • Refactorings to make async methods synchronous where applicable.
  • Improvements to Add Using command to support "fuzzy" matching for misspelled types, including adding any needed project or metadata references.

This release also previews some proposed new language extensions that we are working on for the next version of C#. To try out these experimental compiler features, you must use the corresponding feature flag, as follows:

  • Nested local functions extend the language to support declaration of functions in a block scope (use /features:localFunctions)
  • Pattern matching extensions enable many of the benefits of algebraic data types and pattern matching from functional languages (/features:patterns)
  • Ref returns enable functions to return values by reference (/features:refLocalsAndReturns)

To add a feature flag, right-click on your project in the Solution Explorer and “Unload Project”. Right-click on your project again to edit the project’s .csproj file. Once in the .csproj file, go to the first PropertyGroup tag and add a Features tag, for example:

<Features> localFunctions; patterns; refLocalsAndReturns </Features>

This release also previews new Analyzer APIs that make it simpler to author analyzers that focus only on code semantics (as opposed to language syntax). These new IOperation APIs allow analyzers to inspect a language-neutral representation of method bodies.

For more information, follow our development on GitHub to learn more about these and other proposed language extensions and APIs.

XAML Diagnostics

New in Preview 2 The runtime toolbar now has an option to track focus. When enabled, the Live Visual Tree in VS will automatically select whichever element has focus every time focus changes in the running app. This feature is designed to help developers track down focus related issues such as elements that are incorrectly set as tab stops.

Edit & Continue for XAML apps

New in Preview 2

Visual Studio now allows you to edit XAML while your WPF or Universal Windows App is running, and to see those changes in your running app. In the code editor, you can make a change to the markup and the change will be reflected in the running app without having to recompile the application. This preview includes some improvements and bug fixes as part of our ongoing developement on the feature.

XAML Edit & Continue for Universal Windows apps requires that Visual Studio be installed on a current Windows 10 Insider release and that you have the corresponding Windows 10 SDK for that Insider release. To install these, see the Windows Insider Program page.

NuGet

NuGet 3.4

The following features are available in NuGet 3.4:

  • NuGet clients can now read gzip content-encoding from services.
  • You can copy PDBs from packages in xproj projects that are compiled.
  • Support for iOS and Android build actions in contentFiles element.
  • Support for the netstandard and netstandardapp monikers.
  • Support for running NuGet in Linux and Apple environments.
  • NuGet package manager UI now supports searches across all repository sources.
  • Significant performance improvements in package restore, and update actions.
  • User interface performance tuning and improvements in the Update, Consolidate, and Installed views.
  • Now restoring packages for projects in parallel.
  • Support for gzip compressed HTTP traffic, allowing NuGet clients to read gzip content-encoding from services.
  • Improved handling of configuration files to prevent unnecessary edits and formatting.

For more information, see the complete technical release notes on the NuGet site.

Debugging and Diagnostics

Add Conditions to Exception Settings

When you configure the debugger to break on thrown exceptions, you can add conditions so that the debugger will only break when exceptions are thrown in specified modules.

Edit Conditions dialog box

Visual Studio IDE

Overall Improvements

  • Pre-release license expiration messages more clearly communicate the current license state.
  • The very first launch of Visual Studio is 30-35% faster.

New in Preview 2

  • The Account Settings dialog is now more accessible to screen readers.
  • The version control status bar makes it easier to publish local repos to an SCC host and keep track of uncommitted and un-pushed work.

    Version Control - Unpublished commits example

    Version Control - No pending changes example

Also, in Preview 2, we simplified debug configuration in Folder View, as follows:

  • We added a file context menu to edit the debug and launch settings.
  • We added IntelliSense support for launch.json editing.
  • The new default configurations can apply to all files in a folder.
  • You can place launch.json anywhere in a folder and add it to source code control to share with your team.

New Feature: Open Folder

Open Folder is a convenient way to navigate code bases without projects and solutions. The Solution Explorer has a new button to switch between Solution and Folder views. If MSBuild-based projects exist in the folder, the editor will provide IntelliSense for C# or Visual Basic files, and you can build or debug by using F5 and the file context menu in the Solution Explorer. Python and Node.js scripts can also be debugged after the respective Visual Studio tools are installed. Version control operations are available in the Solution Explorer for folders under Git version control.

The new Open Folder feature in the Visual Studio IDE

JavaScript and TypeScript

JavaScript Language Service

A preview of the new JavaScript language service is available; you can enable it by toggling a registry key. The new service uses TypeScript definition files to improve IntelliSense, and includes IntelliSense support for JSDoc comment annotations and ES6 and Common JS module formats. It also supports JSX syntax, and features from ES2016, such as generators, modules and decorators.

For specific instructions to enable the new language service and for more information, see the Salsa documentation on GitHub.

Application Insights

Application Insights for Visual Studio "15" Preview includes several new features and improvements over v4.0 that shipped with Visual Studio 2015 Update 1. Noteworthy additions include:

  • Ability to search Application Insights telemetry emitted in the local debug session.
  • Better targeted Application Insights toasts in Visual Studio.
  • Streamlined experience to configure collection of traces from logging frameworks like log4net, NLog, and System.Diagnostics.

We've also made several improvements to Application Insights search functionality, as follows:

  • Ability to jump from an exception stack trace to method in source code.
  • Ability to search for related telemetry.
  • Support for finding telemetry property values in code.
  • Forward/Back history in search.

For more detailed information, see the technical release notes on Microsoft Azure.

Team Explorer

Work Item Forms

If you connect to Visual Studio Team Services from Visual Studio “15” Preview and open a work item, the work item form will appear in your web browser. However, if you connect to Team Foundation Server 2015 or earlier, you will see the legacy work item forms.

Work Item Form in Team Explorer

Visual Studio SDK

New in Preview 2

With Visual Studio "15", there is a breaking change with how Visual Studio consumes project and item templates. This change requires that you define these templates in template manifest files. Those Visual Studio templates that you do not define in a template manifest file will stop working. If you have Visual Studio templates released as MSI deployment, you must manually generate template manifest files. For more information, visit the Upgrading Custom Project and Item Templates for Visual Studio "15" MSDN page.

SQL Server Data Tools

Visual Studio "15" Preview includes the latest updates of SQL Server Data Tools, which enable support for the latest features in Azure SQL Database and SQL Server 2016.

This release brings together the ease of developing, testing, and deploying a database on all supported versions of SQL Server and database platforms, both on-premises and cloud, by using Visual Studio. The release also includes database programmability surface area enhancements, and it improves the SQL connection experience in SQL Server Data Tools, which now automatically discovers SQL Server and Azure SQL Databases that you can connect to with a simple click.

Additionally, Visual Studio "15" Preview addresses new Azure SQL Database authentication types, as well as Azure Active Directory Integrated and Password authentications.

Office Developer Tools for Visual Studio

Visual Studio "15" Preview includes Office Developer Tools with the latest features and updates, as follows:

  • New Office Add-in templates specific to Excel, Word, PowerPoint, and Outlook
  • Support for new Office Add-in features such as add-in commands, Fabric UI, and a new version of Office.js
  • New starter code in the templates that showcase how to get started with new Office Add-in features
  • Support of SharePoint 2016 in SharePoint solutions and add-in templates

Known Issues

For a complete description of known issues in this release, see the following MSDN article.

Learn More: Known Issues in Visual Studio "15" Preview 2

Visual Studio "15" Preview 2 with new installer

As an alternative to the traditional installation experience, we're previewing a new, experimental installer that supports more configurable, faster installations of Visual Studio. The Visual Studio "15" Preview release includes the first public preview of a new lightweight installer for our environment, which has been redesigned from the ground up to do the following:

  • Reduce the minimum footprint of Visual Studio
  • Install more quickly and with less system impact
  • Make it easier for you to select and install just the features you need

With the minimum core editor install, you get basic code editing support for over twenty languages, the ability to open and edit code from any folder without requiring a project, managed and native debugging support, and integrated source code control. You can also choose to add additional support for other languages, with initial support for .NET desktop development, C++, Unity, or Python included in the Preview release.

But, because this is an early preview release, it doesn’t yet support the full set of Visual Studio features. It does, however, install side-by-side with other Visual Studio instances. If you want to install a fuller set of components, please install Visual Studio Enterprise "15" Preview 2 instead.

You can download the Visual Studio "15" Preview 2 with the new installer from this Visual Studio download page. Detailed release notes for this release are available at http://aka.ms/vsnewinstallerreadme.

© 2016 Microsoft