News

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
    Improved right-click menu and combine duplicates for XAML binding failure diagnostic
    [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.

About the Author

David Ramel is an editor and writer at Converge 360.

comments powered by Disqus

Featured

  • Uno Platform Wants Microsoft to Improve .NET WebAssembly in Two Ways

    Uno Platform, a third-party dev tooling specialist that caters to .NET developers, published a report on the state of WebAssembly, addressing some shortcomings in the .NET implementation it would like to see Microsoft address.

  • Random Neighborhoods Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the random neighborhoods regression technique, where the goal is to predict a single numeric value. Compared to other ML regression techniques, advantages are that it can handle both large and small datasets, and the results are highly interpretable.

  • As Some Orgs Restrict DeepSeek AI Usage, Microsoft Offers Models and Dev Guidance

    While some organizations are restricting employee usage of the new open source DeepSeek AI from a Chinese company due to data collection concerns, Microsoft has taken a different approach.

  • Useful New-ish Features in .NET/C#

    We often hear about the big new features in .NET or C#, but what about all of those lesser known, but useful new features? How exactly do you use constructs like collection indices and ranges, date features, and pattern matching?

  • TypeScript 5.8 Beta Speeds Program Loads, Updates

    "TypeScript 5.8 introduces a number of optimizations that can both improve the time to build up a program, and also to update a program based on a file change in either --watch mode or editor scenarios."

Subscribe on YouTube