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 for Converge360.

comments powered by Disqus

Featured

  • Creating Reactive Applications in .NET

    In modern applications, data is being retrieved in asynchronous, real-time streams, as traditional pull requests where the clients asks for data from the server are becoming a thing of the past.

  • AI for GitHub Collaboration? Maybe Not So Much

    No doubt GitHub Copilot has been a boon for developers, but AI might not be the best tool for collaboration, according to developers weighing in on a recent social media post from the GitHub team.

  • Visual Studio 2022 Getting VS Code 'Command Palette' Equivalent

    As any Visual Studio Code user knows, the editor's command palette is a powerful tool for getting things done quickly, without having to navigate through menus and dialogs. Now, we learn how an equivalent is coming for Microsoft's flagship Visual Studio IDE, invoked by the same familiar Ctrl+Shift+P keyboard shortcut.

  • .NET 9 Preview 3: 'I've Been Waiting 9 Years for This API!'

    Microsoft's third preview of .NET 9 sees a lot of minor tweaks and fixes with no earth-shaking new functionality, but little things can be important to individual developers.

  • Data Anomaly Detection Using a Neural Autoencoder with C#

    Dr. James McCaffrey of Microsoft Research tackles the process of examining a set of source data to find data items that are different in some way from the majority of the source items.

Subscribe on YouTube