Visual Studio 16.9 Preview 3 brings Chromium WebView debugging, noisy tests for visually impaired, and more

Also: Survey shows IDE's dominance among .NET Core developers, despite cross-platform options


Preview 3 of Visual Studio 2019 16.9, the next big release of Microsoft's Windows IDE, features debugging for Chromium-based WebView, audio cues in tests, and updated C++ support.

The Visual Studio release cycle is based around minor version updates every three or four months with previews in between. Version 16.9 will be a "servicing baseline" release, which means it has longer support than most, extended to one year.

A key new component for Windows desktop developers is WebView2, a browser control based on Edge Chromium rather than the old Internet Explored-based Trident. This is in preview, but how do you debug it if things are not as expected?

Built-in developer tools can be used by clicking on the control at runtime and pressing F12, but now there is also an option to enable the Visual Studio JavaScript debugger in Project Properties. JavaScript devs also get new options for running test frameworks such as Mocha and Jest and the built-in Test Explorer, including in .NET and .NET Core project types.

Chromium-based WebView2 has improved debugging support in the latest Visual Studio preview.

Chromium-based WebView2 has improved debugging support in the latest Visual Studio preview

Another new feature can configure sounds to play when a test succeeds or fails. "We had some fun with this," said the Visual Studio team, though it is also intended to be an accessibility feature for developers with visual impairments.

We looked in vain at the Test options in our version, but they can be found in Windows Sound Settings under Microsoft Visual Studio. On the subject of accessibility, Visual Studio support for Windows High Contrast Settings is now optional as it caused problems for some.

There are a bunch of new features for C++, including better CMake support for remote development (such as deploying and debugging on Windows ARM64), support for the LLVM version of the OpenMP runtime, and improved IntelliSense. There is gradually improving support for C++ 20.

Also a work in progress, according to the roadmap, is the ability to build and debug natively on Windows Subsystem for Linux 2. There are also bug fixes including one for a bad optimisation that generated incorrect code in infinite loop constructs – note that these are not intended to run infinitely, but rather until an explicit break statement is hit.

A recent survey of 4,000 developers conducted by the Entity Framework Core team gave some clues about how Visual Studio is used, at least among .NET Core developers. Despite the popularity of Visual Studio Code in the wider development world, the great majority of respondents said they use Visual Studio: 2,814 versus 386 using VS Code and 364 using JetBrains Rider. A factor in this is that most develop on Windows, nearly 90 per cent, with the other 10 per cent split mainly between Linux and Mac.

Entity Framework Core developers largely target ASP.NET but Windows Presentation Framework and Windows Forms both have significant use.

Entity Framework Core developers largely target ASP.NET but Windows Presentation Framework and Windows Forms both have significant use

The apps they are writing are dominated by ASP.NET Core Web API and ASP.NET Core MVC or Razor, though there is substantial interest in ASP.NET Core Blazor for both server and WebAssembly. WPF is the most popular desktop framework, but the ancient Windows Forms is not far behind – and, yes, there are actually new features in Windows Forms for .NET 5.0 now that the community is able to submit changes.

Another survey question asked about how developers address issues. At the top of the list was "Search for the issue on StackOverflow". The Microsoft team said that devs may undervalue what can be learnt from logs and from searching GitHub issues for an open-source project like Entity Framework Core.

That said, those deeply involved with a library like this may not appreciate that for many developers, the issues are not so much about intricate details, and more about trying to understand the basics of how the stuff is meant to work. ®


Biting the hand that feeds IT © 1998–2021