Software-update: Microsoft Visual Studio 2022 17.0.0

Visual Studio logo (79 pix) Microsoft heeft de final release van Visual Studio 2022 uitgebracht. Deze populaire programmeerontwikkelomgeving beschikt over handige opties om het programmeren in onder andere Visual C++, Visual Basic, C#, F# en Python gemakkelijker te maken. De nieuwe versie is volledig 64bit en heeft een nieuwe vereenvoudigde gebruikersinterface. Meer informatie over deze uitgave is in deze aankondiging van Microsoft en op onze voorpagina te vinden; dit is een opsomming van de belangrijkste verbeteringen:

64-bit
  • devenv.exe is now 64-bit only
Azure Cloud Services
  • Azure Cloud Service (classic) and Azure Cloud Service (extended support) projects are now supported.

C++

  • The v143 build tools are now available through the Visual Studio installer as well as the standalone build tools.
  • The new Hot Reload experience is now available to native C++ applications when running under the debugger. It supports both MSBuild and CMake projects. For more information see our Hot Reload section below.
  • You can now build and debug natively on WSL2 without establishing a SSH connection. Both cross-platform CMake projects and MSBuild-based Linux projects are supported.
  • Visual Studio now supports the buildPresets.targets option in CMakePresets.json. This allows you to build a subset of targets in your CMake project.
  • The Project menu in CMake projects has been streamlined and exposes options to "Delete Cache and Reconfigure" and "View Cache".
  • CMake Overview Pages have been updated to support CMakePresets.json.
  • Implemented /scanDependencies flag for outputting C++20 module dependencies for CMake projects as described in P1689r3. This is a step towards support for building modules-based projects with CMake and we are working on completing this support in later releases.
  • You can now debug processes running on a remote systems from Visual Studio with LLDB.
  • We have upgraded the version of CMake shipped with Visual Studio to version 3.21. See the CMake 3.21 release notes for details on what is available.
  • LLVM tools shipped with Visual Studio have been upgraded to LLVM 12. See the LLVM release notes for details.
  • The MSVC toolset now defaults to SHA-256 source hashing in debug records. Previously, the toolset used MD5 for source hashing by default.
  • The Game development with C++ workload now installs the latest Unreal Engine with support with for Visual Studio 2022.
  • Made improvements in C++ IntelliSense when providing navigation and syntax highlighting for types from imported Modules and Header Units.
  • Improved C++ IntelliSense performance by optimizing cached header usage and symbol database access, providing improved load times to get into your code.
  • The IntelliSense Code Linter for C++ is now on by default, providing instant as-you-type suggestions and fix suggestions for common code defects.
  • Support for libfuzzer under the switch -fsanitize=fuzzer. See the documentation for more details.
  • We have improved null pointer dereference detection in our code analysis tooling.
  • Code analysis now enforces that return values of functions annotated with _Check_return_ or _Must_inspect_result_ must be checked.
  • Added support for gsl::not_null to code analysis.
  • Updated to NDK r21 LTS in C++ Mobile Development workload.
  • C++ AMP headers are now deprecated. Including <amp.h> in a C++ project will generate build errors. To silence the errors, define _SILENCE_AMP_DEPRECATION_WARNINGS. Please see our AMP Deprecation links for more details.

Debugging & Diagnostics

  • Attach to process dialog improvements
  • Exception helper improvements
  • Force Run to Click
  • Memory Dump Diagnostic Analysis
  • We have released a new type of breakpoint called Dependent Breakpoint, which allows you to configure a breakpoint to be enabled only if another breakpoint is first hit.
  • We have added more updates to the Extrenal Sources node , you can now see the module under the sub-node "Modules without Sources" and load the symbols form solution explorer itself.
  • Breakpoint Gutter improvements
  • Temporary Breakpoint
  • Drag and Drop Breakpoint
  • External Sources Node in Solution Explorer
  • Attach to process dialog improvements
Personalization
  • Added Color Tabs for vertical and horizontal tabs
  • Added Theme Pack and worked with VS Code theme authors to launch collection of custom themes
  • Built Theme Converter to convert VS Code themes to work in Visual Studio 2022
  • Added capability to sync Visual Studio theme with Windows theme
  • Added new document management capabilities inclduding customizing tab width, bolding active document, and additional close button in docwell.

Editor

  • Added subword navigation
  • Autosave is now available as a preview feature
  • Multi-caret copy/paste experience

Extensibility

  • Removed APIs from Microsoft.VisualStudio.Language.Client assemblies
  • VS SDK contains several breaking changes and Visual Studio 2019 extensions will not work in 2022. See VSSDK documentation for more information.
  • VS SDK Reference assemblies are no longer installed to the VSSDK\VisualStudioIntegration\Common\Assemblies folder. If your build was relying on these assemblies, please migrate your project to use NuGet packages instead. For offline scenarios:
    1. Keep an in-org nuget feed from which to restore the nuget packages.
    2. Check in the binaries.
  • Added ILanguageClient breaking change fixes
Cloud Services
  • Azurite will be used for local emulation of Azure Storage instead of the older and no longer actively developed Azure Storage Emulator.
Git Tooling Help Menu
  • During 17.0 we have remodeled the Help Menu with Get Started material and helpful Tips/Tricks.
  • Provides more collaboration with our development team by adding things such as access to Developer Community, Release Notes, the Visual Studio product Roadmap, and our Social Media pages.

Hot Reload Experience

  • Hot Reload is now available to .NET developers through the Visual Studio debugger and without the debugger for many .NET 6 application types
  • Hot Reload is now available to C++ developers when using the Visual Studio Debugger

For more details see the above link

IntelliCode JavaScript/TypeScript
  • We have released a new JavaScript/TypeScript project type that builds standalone JavaScript/TypeScript projects with additional tooling. You will be able to create Angular and React projects in Visual Studio using the framework version installed on your computer.
  • JavaScript and TypeScript testing is now available in the Visual Studio Test Explorer
  • NPM GUI available, so you can now download NPM modules the same way you download Nuget packages
.NET 6 SDK
  • The .NET 6 SDK is included in Visual Studio 2022

.NET Productivity

  • Introduce parameter refactoring can move a new parameter from the method implementation to its callers.
  • Track Value Source for data flow analysis
  • Option to underline variables that are re-assigned
  • Added search option in Generate Overrides dialog
  • Quick info for XML <code> tags now preserve whitespace and CDATA blocks
  • Find All References window will now group multi-target projects
  • Refactoring to remove repetitive types in Visual Basic
  • Go to Implementation will no longer navigate to members with abstract declarations that are also overridden.
  • Synchronize namespaces to match your folder structure from Solution Explorer
  • Configure background code analysis from Solution Explorer
  • Nullable reference types is now enabled by default for new .NET projects
  • C# 10.0 File-scoped namespace refactoring
  • Navigate to decompiled sources is now on by default
  • Refactoring to prefer null check over type check
  • XML comments will now automatically generate an <exception> tag when a method explicitly throws exceptions
  • Inheritance Margin is now enabled by default

Programming languages

  • C#10

Razor (ASP.NET Core) Editor

  • Reduced UI freezes and improved performance on solution startup
  • Faster semantic colorization up to 2x in some solutions
  • F7 (view code) support in Razor files
  • Snippet support in razor files which will complete a snippet session with a single tab instead of pressing tab-tab
  • Better formatting in @code blocks when there's nested HTML and Razor Components
  • Hot Reload support in Razor files
  • Performance improvements
  • Formatting and indentation enhancements
  • New Razor editor colors
  • TagHelpers are now colorized and have quick info classification support and completion tooltips
  • Angle brace highlighting and navigation for Razor constructs
  • Comments now have auto-completion, smart indentation, auto-inclusion of commenting continuations, and block comment navigation

Remote Testing

  • Very early experimental preview of enabling running tests on remote environments such as linux containers, WSL, and over SSH connections.

Test tools support

  • Show in Test Explorer
  • New versions of the test platform starting with 17.0 will not be able to run Generic tests and Ordered tests. These specific features only shipped as part of an early version of MSTestv1 and are not included in MSTestv2. We see very low usage of these features and ordered tests is now considered contrary to best testing practices.
  • Some test experiences will not be available in 17.0 including creating new TestSettings files and the TestSettings editor. Test runs will still be able to use TestSettings files, however TestSettings was replaced with RunSettings and we encourage users to migrate improved performance and functionality. Read more.
  • Web Load Test and Coded UI Test support updates. Coded UI Tests and [Web Load Tests](Cloud-based load testing service end of life | Azure DevOps Blog (microsoft.com) were officially deprecated in 2019. To minimize impact to users there is minimum support for these features in Visual Studio 2022. We strongly encourage users to move off Coded UI Test and Web Load Test.
Toolbox population for UWP Extension SDKs
  • UWP Extension SDKs are now required to explicitly declare the types that they wish to appear in the Toolbox by listing them in their SdkManifest.xml file. The behavior of older versions of Visual Studio is unchanged; they will ignore the list of controls in the manifest and instead dynamically enumerate the control types in the SDK's assemblies.

Trusted Locations

  • We have revamped the “Trust Settings” functionality and can now show a warning whenever untrusted code (e.g. files, projects or folders) is about to be opened inside the IDE.
  • Trust checks are now done at the solution folder level
  • User created projects are automatically added to the trusted list
  • Users can skip trust checks on temporary locations created by Visual Studio
Updates, LTSC's and Deployment
  • With Visual Studio 2022, there will be multiple simultanouely supported servicing baselines that will release in the fall and in the spring. For more details, refer to Visual Studio Release Rhythm documentation and the Visual Studio 2022 Product Lifecycle.
  • The new installer that comes with Visual Studio 2022 now has the capability of configuring where the Visual Studio product should get its updates from. This allows you to choose updates from a different LTSC, or, if you're in a managed enterprise environment, you can configure the client to get its updates from a layout. The ability to configure the source for updates is new functionality that comes with the Visual Studio Installer, and thus the behavior is applicable to downlevel versions of Visual Studio too, such as Visual Studio 2019. For additional information about configuring the update channel, refer to the Update Visual Studio documentation. For additional information about making this work for network layouts, refer to the Visual Studio Administrators Guide.
  • IT Administrators can now report issues without having Visual Studio installed.

User Interface

  • The default icons have been updated and refreshed.
Web Tools
  • The Publish summary page now has actions to start / stop remote debugging and profiling under the '...' menu on the top right corner of the 'Hosting' section
  • The Connected Services page now has an action to launch Storage Explorer
  • The "ASP.NET Core Empty" template that comes with .NET 6 is using the new 'minimal APIs' paradigm for which we have started to add support
  • Azurite will be used for local emulation of Azure Storage instead of the older and no longer actively developed Azure Storage Emulator.
  • You can add authentication to your ASP.NET Core application using Microsoft identity platform through the Connected Services experience in Visual Studio.
WPF XAML Designer for .NET Framework
  • The current WPF XAML Designer for .NET Framework is replaced with a new WPF XAML Designer for .NET Framework, based on the same architecture used for the WPF XAML Designer for .NET (.NET Core). The Visual Studio experience will look the same, but third-party control vendors need to support the new extensibility model since the previous model based on .design.dll and Microsoft.Windows.Design.Extensibility is deprecated. If you already created a .designtools.dll extension for .NET (.NET Core), that same extension will work for the new WPF XAML Designer for .NET Framework. Please refer to the migration document below for further information about how to migrate to the new extensibility model.

XAML Hot Reload

  • XAML Hot Reload Changes - Minor changes to in-app toolbar and settings

XAML Live Preview

  • XAML Live Preview is now available for WPF, UWP, WinUI and Xamarin.Forms developers running their apps in either Android Emulator or as a UWP desktop app. Live Preview captures a running applications user interface and brings it into a docked window within Visual Studio. This makes it easier to use XAML Hot Reload to change the app while seeing those changes inside Visual Studio itself, without the need to tab back and forth between the running app and Visual Studio while making live XAML code changes.

For more information click on the link above.

XAML Sample Data
  • Design-Time Sample Data will now be added by default when creating DataGrid, ListBox, and ListView controls from the toolbox in WPF applications. To disable this behavior, uncheck ‘Automatically add sample data on element creation’ under Tools -> Options -> XAML Designer.”
  • To learn more about Sample Data , please visit the Sample Data documentation.

Improved XAML binding experience

  • We’ve made a bunch of improvements to make data binding fast and easy, such as quick access to the Data Binding dialog from Property Inspector, ability to set binding from Quick Actions, ability to choose the property to bind to inside the Data Binding Dialog.

For more information click on the link above.

Known Issues

Mobile Development with .NET Python Tooling C++ IntelliSense

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

Reacties (20)

Wijzig sortering
Eigenlijk knap wat er al allemaal samen in verwezenlijkt is, en aan welk tempo er nog geïnvesteerd wordt. Altijd graag in gewerkt.
Ik vind het wel meevallen eigenlijk. Ik werkte er al in rond 2000 en heel veel van de dingen die Visual Studio echt uniek maken (het visueel ontwerpen van schermen, intellisense enz) waren er toen al.

Ik heb het idee dat een heleboel dingen die we nu gebruiken rond die tijd zijn gedefinieerd en sindsdien alleen maar zijn ge-evolueerd. Zoals Office, Visual Studio maar ook de concepten van een desktop met een task bar enzo.
En toch is Rider een verademing t.o.v. van VS.
Al gaat bovenstaande nog niet over VS2022, dat moeten we nog gaan zien :)
Ja, heb je daar zulke goede ervaringen mee?
Ik ben het beu dat ik om de dag de suo moet weggooien omdat errors niet meer getoond worden, niet in de editor en niet in de error list. Alleen bij het builden zie je ze in de output voorbji komen.

Ik ga nu VS2022 installeren om te kijken of dat helpt, en anders ga ik ook Rider uitproberen!
In mijn ervaring werkt Rider op dat soort vlakken wel een stuk beter. Visual Studio heeft meer functionaliteit (de XAML editor heeft bijvoorbeeld wel meer functies, maar is echt niet vooruit te branden), het voelt allemaal een beetje halfbakken aan.

IntelliSense werkt ronduit slecht en heeft vaak totaal irrelevante suggesties (o.a. methodes en properties die helemaal niet in de gegeven context aanwezig zijn).

De Git integratie omschrijven als bagger is erg mild. Bij mijn projecten paste het allerlei onderdelen aan waar ik niet om gevraagd had en mocht ik dat oplossen met een andere tools omdat het totaal niet transparant geregeld is.

Het probleem met errors wat je beschrijft heb ik ook vaak gehad; of solutions die ronduit niet openden. Rider probeert tenminste nog je solution en projecten te laden en laat alles wat niet lukt achterwege, met de mogelijkheid om zelf de XML te bewerken.

Vandaag nog een CMake project geprobeerd te openen in de 2019 versie. Waarom moet ik 5x de hele interface rond en dan nog een keer op z'n kop om de output te zien en het project opnieuw te bouwen? Als ik iets aanpas dan bouwt hij de CMake configuratie opnieuw, maar krijg ik alsnog de melding dat ik de cache moet weggooien en nogmaals die configuratie moet genereren.
CLion laat meteen de output zien bij warnings en errors en heeft dan in hetzelfde venstertje een knop om het opnieuw te laten genereren.

Zoals DSpijkerboer al zegt, Rider is een verademing, VS2022 moeten we nog zien. Veel zin heb ik er niet meer in.
Ja, vooral de performance en intellisense zijn aanzienlijk prettiger. Voor de rest doen ze beide wat ze moeten doen.

Azure integratie is soms wel wat beter in Visual Studio.
Er is ook een gratis editie naast de betaalde versie (al jaren trouwens)

Visual Studio Community
https://visualstudio.microsoft.com/vs/community/
De gratis editie is iedereen aan te raden die (vooral) met scripting talen werkt. In een hele korte tijd een van de meeste gebruikte gratis editors. Volgens mij ook de meeste plugins inmiddels. Doe er je voordeel mee!
Je praat over visual studio code? Een ander product. MS is nooit goed geweest met namen...
Vergis je niet: MS biedt echt een 2022 Community versie aan en noemt de link ook zo in zijn docs sessie.
Ja, maar dat is overduidelijk niet waar dylan_ aan refereert, die bedoelt VSCode
Bij de community edition zit ook een beperking, die zeker door wat grotere MKB-ondernemingen over het hoofd wordt gezien:
If you are an enterprise, your employees and contractors may not use the software to develop or test your applications, except for: (i) open source; (ii) Visual Studio extensions; (iii) device drivers for the Windows operating system; (iv) SQL Server development; and, (v) education purposes as permitted above.
Waarbij enterprise ook al wordt gezien als je een omzet hebt van 1 miljoen dollar of meer.

[Reactie gewijzigd door gorgi_19 op 9 november 2021 15:24]

Ik draai al sinds preview 1 17.0.0/2022 en hoewel er wel interessante nieuwe features zijn, ben ik ook heel veel bugs tegengekomen die zelfs nog in de laatste preview zaten. Ik ga zo de release installeren, maar in die korte tijd vermoed ik niet dat ze zijn opgelost. Bijv hoge cpu belasting en traag, wat meer werd over tijd, waardoor ik de applicatie en paar keer per dag opnieuw moet opstarten. Maar ook crashes van modules (e.g. intellisense) of de hele applicatie. 2019 heeft bij lange na niet zoveel problemen.
C.q. dit lijkt bijna een nieuw product en heeft veel kinderziektes. Voor mensen in productie kan dat frustrerend zijn, dus die kunnen beter even wachten met over gaan. (Bijna al mijn collega's hebben al aangegeven en paar maanden te wachten)
Edit mijn work load zijn grote ASP .NET Framework applicaties

[Reactie gewijzigd door MeMoRy op 9 november 2021 07:52]

Hopelijk gaat refactoring niet meer mn razor/blazor sources lopen vernaggelen :)
Nope, dat is nog steeds p00p. Tenmiste in mijn asp.net mvc5 Razor views.
De Visual Studio 2022 Build Tools zijn inmiddels ook als release versie (en niet 'pre') beschikbaar:

https://visualstudio.micr...io/?sku=BuildTools&rel=17

Komt uit op: https://aka.ms/vs/17/release/vs_buildtools.exe
Grappig, ze hebben nu 2 smaken, een current op 17.0.0 en een preview op 17.1.0
Ik heb begrepen dat 17.1.0 de preview van MAUI bevat.

https://youtu.be/GhqsLNT1fGA?t=11633
Helaas nog geen datatools beschikbaar. Tenminste niet zodat er ook SRSS of SSAS projecten mee geopend of bewerkt kunnen worden.

Op dit item kan niet meer gereageerd worden.

Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee