Visual Studio 2019 v16.7 Preview 3 Boosts Linux-Based C++ Development – Visual Studio Magazine


Visual Studio 2019 v16.7 Preview 3 Boosts Linux-Based C++ Development

We reported that Visual Studio 2019 v16.7 Preview 2 — released early last month — sported a C++ focus, and that holds true for Preview 3.

In fact, the Visual Studio dev team today (July 8) published a blog post specifically on C++ Linux development in the third preview (released June 23), emphasizing two new Linux-specific features:

  • Improved build incrementality for MSBuild-based Linux projects
  • Support for a wider range of Linux distributions and shells

Regarding the former, Microsoft’s Erika Sweet said, “You can now leverage Ninja for faster incremental builds in MSBuild-based Linux projects. To enable building with Ninja, navigate to Property Pages > General and set ‘Enable Incremental Build’ to ‘With Ninja’.”

Meanwhile, the team added support for a wider range of Linux distributions and shells, which now include: sh, csh, bash, tcsh, ksh, zsh, and dash. The updated support applies to CMake projects and MSBuild-based Linux projects targeting a remote Linux system or Windows Subsystem for Linux (WSL).

As per the Preview 3 release notes, other items of interest include:

  • Improved in-app toolbar functionality for XAML Hot Reload tooling workflow for Windows Presentation Foundation (WPF) and Universal Windows Platform (UWP) projects
  • Several improvements to the XAML Designer, including: expanded design-time data support for WPF and UWP; a refresh button; and extensibility for “Suggested Actions,” letting developers customize and build their own suggestion dialog for their controls
  • Improved XAML binding failures diagnostics

    [Click on image for larger view.] Improved right-click menu and combine duplicates for XAML binding failure diagnostics (source: Microsoft).
  • A refined color visualizer in the XAML code editor for WPF .NET Core, WPF .NET Framework and Xamarin.Forms projects
  • .NET Productivity: The team added a warning and code fix when a suppression operator is present but has no effect, while a second code fix suggesting the correct negating expression is also available
  • Git Productivity:
    • Create a new Git repository, starting from any folder or a brand new folder
    • View and manage Git branches in a tree view within a new Git Repository window
    • Switch between and interact with the history graph of each branch in the new Git Repository window

Several bug fixes were also provided by the community.