News

What's New for C++, .NET and More in Visual Studio 2019 v16.9 Preview 2

Microsoft shipped Visual Studio 2019 v16.9 Preview 2 while issuing New Year wishes toward the end of "this unpredictable year" that saw the milestone .NET 5 arrive incomplete from the original vision because of tricky problems and pandemic-caused delays but nevertheless saw Visual Studio versions churned out at a steady pace.

The last release sees improvements across a gamut of areas, including C++, .NET productivity, XAML tools (including Xamarin.Forms), web tools, the IDE installer and more.

Here's a high-level summary of what Microsoft highlighted in an announcement blog post and the release notes for Visual Studio 2019 v16.9 Preview 2:

C++

  • Continuing to improve the ASan on Windows (AddressSanitizer), Microsoft Visual Studio C++ (MSVC) can now determine the correct address sanitizer runtimes required for specific binaries being used in a project, something developers previously had to do for themselves.
  • IntelliSense is improved for Android and embedded projects with the new ability of the IDE to use CMake variables from toolchain files to configure IntelliSense in CMake projects. Developers can specify custom IntelliSense options in the CMakeSetttings.json file.
  • Visual Studio's Connection Manager now works with private keys, joining username/password authentication. Developers can now choose to use private key via the Elliptic Curve Digital Signature Algorithm (ECDsa) public key algorithm.
  • The team updated the versions of LLVM and Clang shipped in the installer to v11, with more information to be found in the LLVM and Clang release notes.

.NET Productivity

  • Using directives are now automatically added when a developer copies/pastes types into a new file, saving a little time. This is enabled with a configuration setting to "Add missing using directives on paste" via the Tools menu.
    XXX
    [Click on image for larger, animated GIF view.] Adding Missing Using Directives in Animated Action (source: Microsoft).
  • IntelliSense completion automatically inserts a semicolon commit character for object creation and method completion.
  • Semantic colorization for C# 9.0 records is added. This also enabled from the Tools menu.
  • Refactoring removes unnecessary discards. "We realize that in C#9, discards are unnecessary in particular pattern matching cases. Accordingly, you can now fade unnecessary discards with our code fix to remove them."
    Removing Unnecessary Discards in Visual Studio 2019 v16.9 Preview 2
    [Click on image for larger view.] Removing Unnecessary Discards (source: Microsoft).
  • Refactoring converts a verbatim and regular string to an interpolated string while preserving curly braces that were intended to be included in the output.
  • A Visual Basic code fix deletes the shared keyword when developers convert methods that are shared to a module.

And More
Other various fixes and features include

  • XAML Tools (WPF, WinUI, UWP and Xamarin.Forms): To enhance binding property generation in view-models, a new lightbulb icon appears to help developers quickly create a property in the view-model from a binding in the XAML.
  • IntelliCode: Repeated edit suggestions are now provided directly within a IntelliSense completions list, allowing developers to view a preview of a suggested change, apply it at that location or ignore suggestions like these directly from the completion item. More information about IntelliCode suggestions is available here.
  • .NET Web Tools: Developers can now deploy Steeltoe applications ("Create .NET microservices for modern cloud platforms") to Azure Spring Cloud ("Fully managed Spring Cloud service, jointly built and operated with VMware") using Visual Studio Publish. To enable this, projects must include the NuGet package Microsoft.Azure.SpringCloud.Client version 1.0.0-preview.1 or later.
  • Visual Studio Installer: This was improved in many ways in response to developer feedback:
    • It no longer elevates on launch
    • It now supports HDR displays
    • It supports the Navigator screen reader
    • Installer updates have been streamlined into the Visual Studio update
    • It adds dark theme support
  • Git Productivity: The keyboard shortcut Ctrl+Enter can be used to commit changes.

All of the above and much more is presented in greater detail in an announcement blog post and the Preview 2 release notes.

About the Author

David Ramel is an editor and writer at Converge 360.

comments powered by Disqus

Featured

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube