Software-update: Visual Studio 2022 17.11.0

Visual Studio logo (79 pix) Microsoft heeft versie 17.11.0 van Visual Studio 2022 uitgebracht. Deze populaire programmeerontwikkelomgeving, verkrijgbaar in de smaken Community, Professional en Enterprise, beschikt over handige opties om het programmeren in onder meer Visual C++, Visual Basic, C#, F# en Python gemakkelijker te maken. De nieuwe versie is volledig 64bit en heeft een vereenvoudigde gebruikersinterface. Meer informatie over versie 17.11 is op deze pagina van Microsoft te vinden. Dit zijn de belangrijkste veranderingen van deze uitgave:

Productivity

Find the code you're looking for

Do you ever feel like you're seeing too many results in code search? Narrow down your focus with the newly added scoping options in Code Search. For the default code search experience and each filter, you can now set the scope to Entire solution, Current project, or Current document and toggle inclusion of external files. You can set different scopes for different filters. For example, the default experience can be set to look through Entire solution and members can be set to look through only current document. Your selections will be preserved past the current session.

Note: This feature must be enabled under Tools -> Manage Preview Features

Fix for CodeLens timeline

CodeLens timeline now respects the configuration of your timeline to show the correct information. This fix addresses an issue where the timeline was not honoring the months set in the file changes hover preview.

Updates to pull request creation

We've improved on the create a pull request experience with target branch selection, commit counts, and other stabilization fixes. Additionally, we now automatically create links to work items that have been mentioned in commits that are part of the pull request.

More meaningful code reviews

We've made it easier to view your GitHub and Azure DevOps pull request comments directly in your working file in Visual Studio. You can now stay in your context, make necessary code changes, and interact with your colleagues' suggestions without switching contexts to the browser.

New Improvements

Enable the feature flag, Pull Request Comments, checkout any branch with an active pull request branch, and click on Show comments in files in the InfoBar. The latest improvements include better support for @ mentions and work item references, visual improvements to the attention dot and comment margin, the addition of avatars, better sync with the server, and an additional entry point in the Git changes window.

Note: This feature must be enabled under Tools -> Manage Preview Features

Familiar keyboard shortcuts

When moving between different IDEs and editors, it can be frustrating to have to relearn keyboard shortcuts. We've made some changes to some default keyboard shortcuts to make them more familiar and to preserve your muscle memory.

Toggle line comments

You've been able to toggle line comments in Visual Studio for a long time, but the default keyboard shortcut was Ctrl+K, Ctrl+/. We've now added Ctrl+/ as an alternative shortcut, which is the default in many other IDEs and editors.

Open Command Palette

Or Feature Search as it's called in Visual Studio. The default keyboard shortcut for this feature is now Ctrl+Shift+P, which should be familiar to VS Code users for opening the Command Palette.

GitHub Copilot

Refer to your methods in GitHub Copilot

By referring to methods, classes, and functions directly within the chat, you can provide specific context that helps GitHub Copilot better comprehend their code and the problem at hand. This feature empowers you to provide richer context to GitHub Copilot, enabling it to deliver more precise responses by gaining a deeper understanding of your codebase.

How to refer to your symbols in GitHub Copilot Chat

To refer to your symbols, simply use the # symbol followed by the name of the method, class, or function you want to reference.

Try asking GitHub Copilot Chat

Try asking GitHub Copilot Chat questions like:

  1. I have a test method named #methodName. How can I ensure that it's being executed correctly?
  2. Could you help me understand the differences between the #methodName1 and #methodName2 functions?
  3. Where is the output of the #methodName function used in my code, and what purpose does it serve?
  4. /explain #methodName

Important: To use this feature, make sure to activate GitHub Copilot

Understand your symbols with GitHub Copilot

GitHub Copilot is now integrated into the tooltip on hover over symbols to provide AI-generated summaries of the selected symbol. This is available for both C# and C++ developers. This feature assists developers in understanding descriptions of various symbols at different invocations within their codebase. By hovering over a symbol and selecting the Tell me more option in the hover tooltip, GitHub Copilot can generate documentation for the selected symbol. Leveraging LLMs, GitHub Copilot enhances existing or lacking code documentation by providing insightful explanations and context within hover tooltips.

Important: To use this feature, make sure to activate GitHub Copilot

GitHub Copilot is getting smarter

GitHub Copilot Enterprise subscribers in Visual Studio can now use GitHub Copilot Chat to get answers enriched with context from their entire repository and Bing search results.

Get answers from across your entire codebase

GitHub Copilot Chat can now answer questions with understanding of your full repository, not just the tabs you have open. Index your repository on GitHub.com, and then ask a question mentioning @github. You can ask questions like @github where is rate limiting implemented?

Search with the context of the web

GitHub Copilot chat can also search Bing to find information outside of its general knowledge or your codebase. When you mention @github, GitHub Copilot will intelligently decide when to use Bing. You can ask questions like @github what is the latest LTS version of Node.js?

Bing search is only available if enabled by an administrator - for more details, see Enabling GitHub Copilot Enterprise features or read the docs.

Important: To use this feature, make sure to activate GitHub Copilot

GitHub Copilot is even more secure

GitHub Copilot Content Exclusion is available for GitHub Copilot Business, and GitHub Copilot Enterprise customers to prevent specified files or repositories from being used to inform code completion suggestions made by GitHub Copilot.

Keep your code secure

GitHub Copilot will now exclude the content of the affected files. This will be available for Completions, Inline, Chat, and all other GitHub Copilot experiences in Visual Studio.

Configure Content Exclusions

For repository administrators and organization owners, content exclusion will be configurable for files, folders, file types, and more. Learn more about Configuring Content Exclusions for GitHub Copilot in the GitHub Copilot documentation.

Important: To use this feature, make sure to activate GitHub Copilot

Refine your GitHub Copilot suggestions

With the integration of GitHub Copilot into Visual Studio, we are enhancing experiences across Completions and Chat. This enhancement aims to streamline your workflow, making it easier for you to refine Completions suggestions and transition conversations across different interfaces.

Refine for GitHub Copilot Completions with Inline chat

You now have more control over the suggestions provided by GitHub Copilot. Instead of merely accepting or ignoring a suggestion, you can now retry! This feature allows you to modify and curate the proactive suggestions given by GitHub Copilot, by adding context or tweaking the completion.

Promote Inline Chat to the Chat Window for more context

Preserve the history of your Inline Chat by promoting it to the Chat Window. This feature enables you to maintain a record of the conversation and continue the Chat Window at your convenience on a larger screen.

Important: To use this feature, make sure to activate GitHub Copilot

Naming things made easy

GitHub Copilot can now generate naming suggestions for your identifiers (variables, methods, or classes) based on how your identifier is being used and the style of your code. To try it out, you'll need an active GitHub Copilot subscription. Navigate to any variable you wish to rename, right-click -> Rename (Keyboard: Ctrl+R, Ctrl+R). You'll notice a GitHub Copilot sparkle icon that you can click or toggle to generate naming suggestions.: This feature is available for C#, C++, and more languages.

Important: To use this feature, make sure to activate GitHub Copilot

AI smart variable inspecetion

Inspecting and analyzing values from Locals, Autos, and DataTips has never been easier with Ask GitHub Copilot in Visual Studio. Simply right-click on any value to get detailed AI-driven insights on errors, unexpected outcomes, or anomalies - all without ever leaving your IDE.: This feature will significantly enhance your troubleshooting speed by analyzing variables in real-time within your IDE whenever unexpected values arise.

Important: To use this feature, make sure to activate GitHub Copilot

AI-generated breakpoint expressions

AI-generated expressions for conditional breakpoints and tracepoints are now supported in C++. GitHub Copilot analyzes your code and offers insightful breakpoint expressions, streamlining your debugging process. When you position the cursor within the condition text for a conditional breakpoint/tracepoint in the breakpoint settings window, GitHub Copilot will promptly offer AI-generated expression suggestions based on your codebase. You have the flexibility to select the condition that best fits your requirements for placing the conditional breakpoint/tracepoint.

Important: To use this feature, make sure to activate GitHub Copilot

Debugging & diagnostics

Easier to fix async exceptions

Debugging asynchronous code, especially in frameworks like ASP.NET, can be tricky due to the potential for exceptions to be thrown across asynchronous boundaries. Now, with Visual Studio Debugger it automatically breaks when an async Task method throws an exception back to framework code. This will allow you to easily identify and diagnose issues in your ASP.NET applications, leading to faster debugging cycles and improved productivity. Please note that this is for .NET 9 and newer projects only.

Profile faster and more consistently

The instrumentation tool now persists the target selection between runs offering a significant benefit by enhancing the continuity of profiling sessions. With this improvement, you can maintain your specified target across multiple instrumentation runs, eliminating the need for repetitive selection tasks.

Profile external code with ease

Visual Studio profiler now offers auto-decompilation for .NET libraries in scenarios where source code is unavailable. By automatically decompiling code during source lookup, even without loaded symbols or exact file locations, you can gain insights into the code's structure and performance issues.: This feature is particularly advantageous when dealing with non-user external code, empowering you to analyze and optimize your application's performance effectively, thus enhancing your development workflow.

Improved debugging on Arm64

Visual Studio natively supports building and debugging Arm64 apps on Arm-based processors. Unfortunately, applications built with the AnyCPU setting running on an Arm64 machine, will default to using x64 emulation. While the capabilities of the x64 emulator have expanded, the most efficient Arm CPU scenarios are supported when applications are running natively.

To better support the intended native behavior the Windows 24H2 update introduces a new <supportedArchitectures> setting for your App manifest files. .NET developers can include a list of supported architectures (amd64 or arm64), explicitly signaling that an application built with the AnyCPU setting should run natively using the Arm64 CLR on Arm64 devices. With this release Visual Studio can read these new manifest entries when the application launches, allowing debugging to be initiated based on the correct architecture.

Blazor WebAssembly debugging

Visual Studio now offers a preview of an improved debugging experience for Blazor WebAssembly apps targeting .NET 9 or later:

  • Data types shown in the debugger now match the expected .NET data types.
  • Type members and member visibility use expected icons.
  • The displayed call stack is cleaned up to only shows the .NET call stack and correctly honors the Just My Code setting.
  • The modules window is now supported.
  • Expression evaluation support in the Immediate window and for watches and conditional breakpoints is expanded and improved.

To enable the new preview debugging experience:

  • Enable the Enable New .NET 9+ Mono Debugger setting.
  • Install the latest .NET 9 SDK.
  • Update your Blazor app to target .NET 9.

Known limitations:

  • Hot reload while debugging is not yet fully functional. This will be addressed in a future update.
Auto-add breakpoints to the default group

You can now mark the selected breakpoint group as the default, ensuring all newly added breakpoints are automatically included in that group. This enhancement simplifies the management and organization of breakpoints, providing seamless debugging when investigating multiple issues.

Expressive IEnumerable Visualizer

The Visual Studio debugger now offers an editable expression feature in the IEnumerable visualizer, a powerful enhancement for developers working with collections.

Overview

With this new feature, while visualizing a collection or dataset, you can directly modify the expressions textbox on the top of the dialog with your desired LINQ expressions. The visualizer updates in real-time, reflecting the data change resulting from your query.

Potential Applications

The editable expression feature facilitates debugging of dense datasets and complex collection manipulations. You can easily apply different filters or sort orders to your collections based on your needs. By experimenting with data transformations and filters directly within the Visual Studio debugger, you can streamline your development workflow and achieve more efficient debugging. Here is an example to try out on your own:

Faster C++ breakpoints

We have significantly enhanced the performance of conditional breakpoints in C++ through a reworked implementation. Our initial assessment indicates a performance improvement of at least 35% in version 17.10 and 70% in version 17.11 P2, reducing execution time from 80 seconds to 21 seconds over 80,000 iterations. As shown in the video, the left side shows the conditional breakpoints performance in version 17.9, while the right side shows the performance in version 17.10 onwards.

IDE

Never miss installing a component

Many teams use *.vsconfig files to standardize their teams' Visual Studio installations. The *.vsconfig files can be placed in a repo or a project's solution directory, and Visual Studio will automatically detect if components specified in the *.vsconfig file are missing. If any are missing, then a notification such as the one pictured below will appear. We've made two improvements to this experience in Visual Studio 2022 version 17.11 Preview 1.

  1. First, Visual Studio can now detect if any local or network hosted extensions are missing from the installation, and if so, it'll prompt you to install them. Previously, with respect to extensions, Visual Studio was only able to recognize if marketplace extensions were missing.
  2. Secondly, Visual Studio will now re-prompt the notification in certain situations, such as if the *.vsconfig file has changed because new components or extensions get added to it. Previously, the notification would only pop until you acted upon it, at which point it would be suppressed forever.
Stay updated and secure

Keeping your software updated on a regular cadence is a security best practice that we highly recommend. Starting in August 2024, Visual Studio security updates will be available to Community SKU users through the Microsoft Update channel, which is part of the Windows Update system. Community SKU users that enroll in this update channel will automatically receive and install Visual Studio monthly security updates silently and in the background when the machine is idle, which makes it super easy to stay updated and secure. Further information can be found in this blog post.

This functionality is an extension of our Administrator updates solution, which was designed to help organizations stay secure. Many enterprises, including Microsoft, have been using this solution to automatically deploy hundreds of thousands of security updates each month.

New Teams Toolkit templates

Teams Toolkit now offers an empty Teams template for you to connect with your existing projects or use it as a starting point for new Teams apps.

  • Start with this empty template to create any Teams app.
  • If you want to add Teams capability to your existing project, add Empty Teams App to your project and then connect two projects by making simple edits follow https://aka.ms/Config-Teams-app.

Teams Toolkit supports authentications for Search Results from API Message Extensions app.

Improved user authentication

Visual Studio now uses the Web Account Manager (WAM) as its main authentication mechanism. This integration not only streamlines the authentication experience for Visual Studio, but it also enhances the security of your credentials.

How does this impact your experience?

Using WAM as the default authentication experience has many benefits, including:

  • Windows integration: In addition to reducing the overall number of authentication prompts, you can now select existing Windows accounts instead of repeatedly entering credentials.
  • Better token protection: Refresh tokens are better secured as they are now device bound.
  • Support for the latest security features:
    • Leverage rich OS capabilities such as Windows Hello & FIDO keys.
    • Access the latest and greatest Microsoft Entra ID capabilities and conditional access policies.

Web

Discover dynamic Web API routes

When working with ASP.NET Core Web APIs you can use the Endpoints Explorer to view and interact with the endpoints. The Endpoints Explorer discovers endpoints statically to show the initial set of endpoints. There are some endpoints which cannot be statically discovered. For example, any endpoint defined in a class library project is one example. There are other ways to register endpoints which cannot be discovered statically. When you run or debug your Web API, Visual Studio will also discover routes at runtime and add those to the Endpoints Explorer.

NPM packages in Solution Explorer

We unified the NPM experiences you get in ASP.NET and JavaScript and TypeScript projects. You will therefore now also see your NPM packages listed in Solution Explorer for JavaScript and TypeScript projects. This is the same experience you get for NuGet, but now for NPM as well.

Gaming

Unreal Engine Add Class Templates

You can now add additional common Unreal Engine class templates to your project with the new Add Class dialog. This dialog provides a list of common Unreal Engine class templates that you can add to your project. You can also now add your class to a module of your choosing. To get started, right click on the project in Solution Explorer and select Add > Unreal Engine Item. In the Add New Item dialog, select Unreal Engine Common Classes to open the Add Class dialog.

Unreal Engine Add Module

You can now add Unreal Engine modules to your project with the new Add Module dialog. To get started, right click on the project in Solution Explorer and select Add > Unreal Engine Items. In the Add New Item dialog, select Empty Unreal Engine Module to open the Add Module dialog.

Unreal Engine Add Plugin

You can now add Unreal Engine plugins to your project with the new Add Plugin dialog. To get started, right click on the project in Solution Explorer and select Add > Unreal Engine Item. In the Add New Item dialog, select Unreal Engine Plugins to open the Add Unreal Engine Plugin dialog.

Unreal Engine Toolbar

The new Unreal Engine toolbar provides quick access to Unreal Engine related actions. The toolbar is available when you have an Unreal Engine project loaded in Visual Studio. The toolbar includes the following actions:

  1. Quicky attach to Unreal Engine processes
  2. Rescan Blueprints Cache
  3. Quick Access to Unreal Engine Log
  4. Quick Access Unreal Engine Configuration Page for Visual Studio

.NET

Revamped Resource Explorer

In this version of Visual Studio, we're introducing a revamped Resource Explorer UI to better accommodate the needs of the modern .NET developer. In this update we made the following improvements:

  1. Multi-resource view: You can now load multiple files and view all localizations at once within the same view.
  2. Search and filter: We have added search to make finding resources in large solutions a breeze.
  3. Comments: Each translation of a resource now has its own comment, all visible at once in the data grid. Look for the small triangle icon in the corner of each cell with a comment.
  4. Warnings: Placeholder validation and missing translation warnings.
  5. Accessibility and UI: We have improved the compatibility with screen readers and assistive technology, added zoom functionality to the data grid, and now allow VS Theming for the editor (including dark mode).

C++

Build Insights QoL Update

In this update, we added quality of life changes to C++ Build Insights integration. You can now filter your Build Insight trace results by project. For results in each row, you will now see the relative path and file name instead of the full path. We have also improved the grouping of results in the Included Files view.

Debug your CMake projects on Linux

We have added support for the CMake debugger in CMake projects targeting Linux via WSL or SSH. The CMake debugger allows you to debug your CMake scripts and CMakeLists.txt files through the Visual Studio debugger. To start a CMake debugging session, set a breakpoint in your CMakeLists.txt file and then navigate to Project > Configure Cache with CMake Debugging.

Custom Clang-Tidy Executable

You can now use a custom clang-tidy executable for all your projects. This lets you run clang tidy on individual projects with your own custom rules, without relying on the default clang-tidy executable. This global setting allows you to integrate your custom clang-tidy rules seamlessly, without the need to overwrite the existing clang-tidy executable. To activate this feature, navigate to Configuration Properties > Code Analysis > Clang-Tidy and input its path directly or use the Browse option in the Clang-Tidy Tool Directory property. Save the changes and recompile your app for the new executable to take effect.

Microsoft Visual Studio

Versienummer 17.11.0
Releasestatus Final
Besturingssystemen Windows 10, Windows Server 2016, Windows Server 2019, Windows 11
Website Microsoft
Download https://www.visualstudio.com/downloads/
Licentietype Betaald

Door Bart van Klaveren

Downloads en Best Buy Guide

14-08-2024 • 12:00

4

Submitter: danmark_ori

Bron: Microsoft

Reacties (4)

4
4
1
0
0
2
Wijzig sortering
Uh... waarschijnlijk een domme vraag, maar waarom heet een update die nu uitkomt nog VS 2022? Waarom heet die geen VS 2024, v3 als dit de derde update dit jaar is o.i.d.?
Grote Visual Studio releases komen ongeveer elke 2 a 3 jaar uit. Zo hadden we voor Visual Studio 2022 namelijk:
  • Visual Studio 2019
  • Visual Studio 2017
  • Visual Studio 2015
Ik gebruik zelf VS bijna niet meer dus ik weet niet of er al degelijk nieuws is, maar ik zou denken dat er volgend jaar wel weer een nieuwe versie uit komt onder VS 2025.
Ah bedankt, ik dacht al dat het zoiets zou zijn, maar goed het even te horen!
Grote rode vlag bij deze versie, wellicht omdat het een typische .0 versie is.
Bij ons kunnen we onze solution (C# Core WinUI3/MAUI/Blazor/etc etc) niet openen met deze versie. Visual Studio 17.11.0 loopt gewoon hard vast tijdens laden en moet gekillt worden. 17.10.6 heeft geen problemen.

Op dit item kan niet meer gereageerd worden.