Visual Studio 2022 version 17.9 Preview 1 released


  • Staff
released Nov 14th, 2023

Summary of What's New in this Release of Visual Studio 2022 version 17.9 Preview 1​

Generated Commit Messages​

Use the new generated Git commit message feature to help you describe your set of changes. To try it out, you'll need an active GitHub Copilot subscription and the preview GitHub Copilot Chat Extension.

Generated Commit Messages


Click on the “Add AI Generated Commit Message” sparkle pen icon in the Git Changes window to generate a suggestion. GitHub Copilot will look at the file changes in your commit, summarize them, and then describe each changes. You can then "Insert AI Suggestion" or "Discard." Share your feedback on this feature here.

Open a Pull Request in Visual Studio or in Browser​

To support GitHub and Azure DevOps users who prefer to use the browser view for creating pull requests, we've added a secondary link to help maintain current user flows.

Open a Pull Request


F#
  • Fixed a bunch of code fix issues, stabilized and extended their functionality (details here).
  • Enhanced autocompletion in many instances, notably:
    • return type annotations:
      autocompletion improvement 1
    • record field names:
      autocompletion improvement 2
    • overrides:
      autocompletion improvement 3
  • Improved go to definition and find references behaviors in some edge cases.
C++
  • You can now specify a custom CMake executable if you want to use a specific executable other than the one shipped with VS. To do so, please select Enable custom CMake executable in Tools > Options Options under CMake > General
Specify CMake executable

  • Include References Diagnostics
You can now use #include diagnostics to view and access the references of each #include directive in your code. To enable it, right-click in your code editor, select #include Directives, and then choose "Turn #include Diagnostics On".

Include References Diagnostics

  • Memory Layout of C++ Classes and Structs
To visualize the memory layout of classes or structs, hover over their names in your code editor, click on the “Memory Layout” link in the Quick Info tooltip, and see the diagram of data members with their padding, offsets, and sizes.

This feature is currently in its experimental stage and will undergo gradual enhancements in the Visual Studio 2022 version 17.9 Preview channels.
SQL

Developer Community Highlights
Debugging, Diagnostics and Profiling

Event Handler Leaks Insights

The "Manage Memory Insights" tab now provides additional helpful information. It can detect "Event Handler Leaks" that can potentially occur, when one object subscribes to another object's event. If the publisher of the event outlives the subscriber, the subscriber remains alive, even if there are no other references to it. This can lead to memory leaks, where unused memory isn't properly freed, causing the application to use more and more memory over time.

EventHandler

Non-modal Debug Visualizers

All of the Debug Visualizers are now non-modal, allowing concurrent interaction with the Editor while the visualizer window is active. It is possible to have multiple types of visualizers open simultaneously, and you have the flexibility to choose whether to float or dock your visualizer window.

Debug Visualizers

Automatic Deoptimization

With .NET 8, the Debugger features automatic deoptimization of release binaries and external code during debugging. When you set breakpoints and step through your code, only the specific portions you pause in will be deoptimized, allowing the remainder of the application to maintain optimal performance. To benefit from this feature, the user needs to disable the "Just My Code" option in the debugger settings. This enhancement offers several advantages, including a reduction in errors within the locals, watch, and immediate windows, as well as a decrease in unexpected code navigation while stepping through the application.

Automatic Deoptimization


Instrumentation "Start with collection pause" option

The Instrumentation tool has introduced support for the "start-pause" option in application profiling. When selected feature enables the temporary suspension of data collection. Basically, it means starting the application under the profiler's control without actually collecting data. Once you resume using the record button the data collection process, it commences.This functionality is particularly beneficial for scenarios such as gaming, where users prefer to immerse themselves in the gameplay and prepare for reproducing issues before data collection begins. The feature is compatible with both native and managed projects.

Automatic Deoptimization


C++ Game Dev​

Improved Unreal EngineBlueprint Experience in Visual Studio

You can now view Blueprint references and Asset Properties without installing the Visual Studio Integration Tool plugin. The update removes the requirement for building your game before gathering Blueprint information. Your Blueprint reference experience will be greatly improved as Visual Studio will now display CodeLens hints with less machine resources and reduced latency.

This is currently an experimental feature and will be gradually made available to Unreal Engine developers in the coming weeks on the Visual Studio 2022 version 17.9 Preview channels.
Improved IntelliSense Support for Unreal Engine Projects

We have improved the handling of Unreal Engine IntelliSense by ensuring consistency and accuracy. . IntelliSense in Visual Studio will now refresh more readily for Unreal Header Tool generated files, reducing the likelihood of displaying unwarranted errors.

Switch between single and multiple tab rows in the document well​

You can now quickly switch between single and multiple tab rows in Visual Studio's document well by scrolling the mouse wheel up or down. The first time you open more tabs in Visual Studio than can fit in a single row in the document well, you'll see a tip letting you know of this new feature.

Scrolling down on the mouse wheel while hovering over the tabs in the document well will shift your view to show multiple tab rows. Conversely, scrolling up on the mouse wheel will collapse the view down to a single tab row.

UI Refresh Preview and Tinted Themes​

The UI Refresh is now available for folks to try out for themselves. To enable the UI Refresh, go to Tools > Manage Preview Features and Check the "Experimental control styles" option. Once the option is checked, Visual Studio will need to be restarted.

Animated image cycling through the various tinted themes


When the UI Refreh preview is enabled, the new tinted themes are available. The new themes can be found under Tools > Theme, or in the "Color Theme" combobox in Tools\Options under Environment > Visual Experience. The Blue theme is not available when the UI Refresh is enabled and custom themes may not be compatible with the UI Refresh.

Build and Debug .NET SDK containers​

We have added the ability to easily build and debug your ASP.NET projects in a container without a dockerfile. Adding .NET SDK Container support will leverage the .NET container rather than requiring a Dockerfile in your project.

To enable support: Right click your ASP.NET project -> Add -> Docker support -> Select .NET SDK Container Debug type and your desired target operating system.

Let us know what you think of the feature by submitting suggestions here or by reporting issues here

Blazor Scaffolding for .NET 8 Projects​

We have added the ability to scaffold views in .NET 8 Blazor web projects. This includes scaffolding views that use Entity Framework for CRUD (Create-Read-Update-Delete) operations.

For more info see the release blog post.

Windows Subsystem for Android​

You can now test and debug your Android apps on Windows Subsystem for Android (WSA) with Visual Studio. If WSA is installed, it will automatically show up as an available debug target for .NET MAUI and .NET Android projects. If WSA is detected on your system, Visual Studio will display it under Android Local Devices in the debug targets menu.

Select it and start a debug session (F5) to build and deploy your Android app to WSA. If developer mode is not enabled, Visual Studio will guide you to enable it. Learn about system requirements and how you can install Windows Subsystem for Android.

Screenshot of Visual Studio debug targets menu


Known issues​

  • If you have the Game Development with Unity workload installed and you're opening a non-Unity C# or Visual Basic project, IntelliSense will not work due to an issue in the Visual Studio Tools for Unity. IntelliSense will continue to work for Unity projects. This issue will be fixed in the next preview.

Mobile Development​

The Pair to Mac auto-discovery capability fails to display new devices on the network. Even though a Mac is not displayed in the list of devices, one can connect to the Mac via it's IP address. This issue also exists for new computers running Visual Studio for the first time and connecting via IP address is required.

Source:
 

Attachments

  • Visual_Studio_PRE.png
    Visual_Studio_PRE.png
    6.9 KB · Views: 0

Latest Support Threads

Back
Top Bottom