What's new in this version: Microsoft Visual Studio Community 2022 17.3.1 Type less, code more: - IntelliCode is a powerful set of automatic code completion tools that understand your code context: variable names, functions, and the type of code you’re writing. This means that IntelliCode is able to complete up to a whole line at once, helping you code more accurately and confidently. Develop apps faster: - Hot Reload for .NET and C++ will save you time. Just make a change, and Hot Reload applies your edits to the running app so you can see them. Immediately. Without stopping to rebuild.
Scales to any project: - Visual Studio 2022 is the best Visual Studio ever. Our first 64-bit IDE makes it easier to work with even bigger projects and more complex workloads. The stuff you do every day—like typing code and switching branches—feels more fluid more responsive. And out-of-memory errors? They’re about to be a distant memory.
Find and fix bugs fast: Debugging isn’t your favorite part? It might be now. The built-in debugger in Visual Studio 2022 is now even smarter. You’ve got more power than ever to: - Tackle issues wherever your app is running—locally, on a device, a remote server, or in Azure - Use smart breakpoints to pause and manage execution to inspect bugs - Jump back to specific lines of code—no need to restart sessions or manually recreate your app’s state
Designed for everyone: - Visual Studio 2022 reflects our broader commitment to an excellent experience for all developers with updated icons, a new dark theme, and a focus mode that reduces distractions. Plus: more control over fine-tuning your workspace, including your layout, fonts, themes, icons, menus, custom notifications, and update schedule.
Microsoft Visual Studio Community 2022 17.3.0 Summary of What's New in this Release of Visual Studio 2022 version 17.3: - MAUI workload GA Build - MAUI/Blazor CSS Hot Reload support - You'll now be able to try out a selection of new features in Visual Studio with each update, using our What's New feature - Select each feature to learn more about the particular feature
What's New in Visual Studio: Apple Developer Accounts: - This preview includes initial support for Individual AppStoreConnect accounts which are needed for non-Enterprise Apple Developers - To add an Individual account, open ToolsOptions and then select the "Apple Accounts" item located in the Xamarin section. In the "Apple Accounts", click the "Add Account..." button and select "Add Individual Account" and enter the AppStoreConnect API Key information. - Once the account is created, certificates and provisioning profiles can be accessed via the "View Details" button
Known Issues: - Automatic Provisioning may not work correctly for Individual accounts in some cases. To work around this, follow the instructions for manual provisioning.
Audio Cues in the Editor: - We've introduced new audio cues in the Visual Studio editor. When enabled, Visual Studio will play sounds when the editing caret arrives on a line with a breakpoint, an error or a warning. By default, Visual Studio uses the same sounds as Visual Studio Code, but these sounds can be configured to the user's preference. - To enable audio cues, head to ToolsOptions and look for "Preview Features" under Environment. In the Preview Features, the new option is "Enable Audio Cues for the editor". If it's checked, the next time Visual Studio is started, the sounds will play. - To configure individual audio cues, tap the Windows key in either Windows 10 or Windows 11 and search for "Change system sounds". Under the Program Events, look for the "Microsoft Visual Studio" node in the Program Events tree. The new events are "Line has Breakpoint", "Line has Error" and "Line has Warning". This can be used to customize or disable individual sounds.
Git Tooling: - Line-staging support, a.k.a interactive staging with the ability to stage specific lines and/or chunks of code right from the editor and the diff view. To get started, stage one of your recent changes by selecting the corresponding color margin and utilizing the Peek Difference UI to stage your change.
C++: - The Arm64EC toolchain is no longer marked as experimental and is ready for production use. - The Visual Studio Terminal can now be used as an SSH client with your stored SSH connections. With the C++ for Linux Tools installed, open the Terminal tool window and the Terminal dropdown will be populated with your stored connections. If selected, they will open a new Terminal window inside Visual Studio and a pseudoterminal on your remote system. Control characters, colors, and cursor positional awareness are all supported. - Go to Definition will now remember the prior signature and navigate accordingly when a better match is not available (e.g. after you manually changed the signature of one of the pair). - Improved responsiveness of Go To All. Previously, results appeared after you stopped typing. In the new experience, results will show as you type. - In contexts requiring enum type completion (e.g. assignments to enum variables, case labels, returning enum type, etc.) the autocompletion list will now be filtered to just the matching enumerators and related constructs. - Added NuGet PackageReference support for C++/CLI MSBuild projects targeting .NET Core. This change was made to unblock mixed codebases from being able to adopt .NET Core. This does not work for other C++ project types or any C++ project types targeting .NET Framework. There are no plans to extend PackageReference support to additional C++ scenarios as the team is working on separate experiences involving vcpkg which will work for non-MSBuild scenarios and add additional functionality. - Added a Serial Monitor window for embedded development, available through Debug > Windows > Serial Monitor. - Improved C++ indexing by ~66% compared to 17.2. - Updated the version of CMake shipped with Visual Studio to version 3.23. See the CMake 3.23 release notes for details of what is available. - Upgraded the versions of LLVM tools shipped with Visual Studio to v14. See the LLVM and Clang release notes for details of what is available. - Updated the side by side Dev 16.11 C++ Toolset to version 14.29.30145.00. The latest version of the Dev 16.11 C++ Toolset contains important bug fixes, including fixing all remaining C++20 defect reports. For information about bug fixes, including C++20 defect reports in Dev 16.11 - We have made various improvements to the in-editor experience of C++ modules. "we're continuously working on improving the quality of the experience but encourage you to try in 17.3 and report remaining issues through Developer Community.
Debugging & Diagnostics: - Diagnostics Analysis tools now include an analyzer that lists the unique call stacks in a memory dump along with the threads executing them. - IEnumerable visualizers now support data export in CSV format. Just use the dropdown on the top right corner and select CSV.The Visualizer will also allow you to filter data based desired filter string. The Visualizer will return all the rows that contain a value that matches the filter string. You can also export the filtered and sorted results in CSV/Excel format. - We also added the themeing support for IEnumerable and DataTable/DataSet visualizer, so both of these visualizer window are themed for Visual Studio’s dark, light and blue theme. - Starting 17.3 preview 3 debugger will automatically reload pervious decompiled artifacts like symbols and PDB files. If you choose to decompile at any previous session the artifacts will automatically be reloaded for all the next sessions and will get you to the decompiled sources faster in External Sources node. This will still honor your JMC settings. - Debugger now provides a new option to disable the load of NGEN or ready to load (RDR) images for managed code. You can change the settings under Tools > Options> Debugging > General > Prevent using precompiled images on module load or you can also easily search the settings using any of the keyword in the Visual Studio search bar. - You will now see the Exception stack frames inside the Call Stack window, so for all async exceptions, you can quickly load symbols or locate sources and go directly to the site of the exception. Exception stack frames inside the Call Stack window will provide functionalities of the actual call stack.Features like automatic navigation, quickly switching back and forth between frames, and symbol load / decompile options to get back to the source code where the exception was thrown.
General: - GitHub accounts now roam across machines when signing in on a new machine with the same personalization account (account shown in the top left of the account settings dialog).
Installer: - You can now update all side-by-side versions of Visual Studio with an “Update all” button on the installer. - Microsoft Teams Development Tools (Teams Toolkit): - The Microsoft Teams App project template has been improved and now creates various types of Teams app, including notification bot, command bot, tab app and message extensions. You can now create and debug various Microsoft Teams App using Teams Toolkit for Visual Studio. - We recommend creating a new project using the updated template for any existing Teams Apps you've created with previous versions of the Teams Toolkit. - You can now choose when to sign-in with your M365 identity and register Teams app resources using the Project > Teams Toolkit > Prepare Teams App Dependencies menu option. - Prepare Teams App Dependencies will register the Teams app and Bot for your Teams project. - Updates to the manifest.template.json files can be synchronized with Teams Developer Portal for local debug by selecting "Prepare Teams App Dependencies" menu option again at any time. - Updates to the manifest.template.json files can be synchronized with Teams Developer Portal for remote preview by selecting Project > Teams Toolkit > Update Manifest in Teams Developer Portal menu option. - You can preview manifest file before synchronization by right click manifest.template.json file and use Preview Manifest File menu option. - Use the Project > Teams Toolkit > Provision in the Cloud menu to create resources in an Azure subscription. - Use the Project > Teams Toolkit > Deploy to the Cloud menu to publish code to those resources. - You can open Teams app remotely in a browser that are created from the Provision menu using the Preview Teams app menu. - You can zip the Teams app and generate app package by select Project > Teams Toolkit > Zip App Package menu option for sharing and uploading purpose. - You can find all Teams Toolkit menu options by right click on the Teams app project, they are the same as the Project > Teams Toolkit menu.
.NET Productivity: - In C# 10 we introduced Global Usings. Global Usings adds usings to the top of a file invisibly and automatically. We now surface an icon at the top of your file to let you know if Global Usings are active in your file and if you click on the icon, it will show you what those Global Usings are. Global Usings - Peek Definition now supports source link, embedded source, and decompiled sources. Peek Definition
We added the following three options for collapsing and outlining views on file open: - Collapse #regions on file open - Collapse usings on file open - Collapse implementations from metadata on file open - You can now apply Fix All to both the Use expression body or block body and Convert to raw string literal refactoring. - We now have a code fix that fixes invalid constraints. Place your cursor on the diagnostic squiggle in the editor. Press Ctrl+. to trigger the Quick Actions and Refactorings menu. Select Fix constraint. Fix Constraint - We now have a refactoring that allows you to switch between top-level statements and the Program.Main style. Place your cursor on a top-level statement. Press Ctrl+. to trigger the Quick Actions and Refactorings menu. Select Convert to ‘Program.Main’ style program. Convert to Program.Main refactoring - We added additional scopes to the Fix All operation. In addition to applying the Fix All operation to a Document, Project, and Solution, you can apply Fix All to a Containing Member and Containing Type. Fix All Containing Members and Containing Types - We now automatically convert single line comments to doc comments when you add an additional forward slash to a single line comment. - We now have a code style option that allows you to warn on possible exceptions in a foreach loop. Foreach loops implicitly casts to derived types by design. This was necessary before generics existed but can lead to runtime exceptions in some cases.
Personalization: - Document management capabilities have been updated. Read our blog post to learn more.
These features include: - Tabs arranged in multiple rows - Restore recent document - Modified dirty indicator - Dropdown shows names of invisible docs in italics
Razor (ASP.NET Core) Editor: - The new Razor editor now has full completion support inside of an . - The new Razor editor now correctly handles completion for HTML attributes when typing = “ ”. - The new Razor editor now support HTML, JavaScript, and CSS OnTypeFormatting.
Test tools: - Parallel Discovery is now enabled by default when running tests from the Test Explorer. This enables Visual Studio to use available cores to discover tests in parallel and reduce the time to see tests in the Test Explorer. - The Live Unit Testing window now has a status bar, similar to the Test Explorer. This should give you better insight on the operations ongoing in Live Unit Testing as well as visibly surface errors. Live Unit Testing Status Bar - vstest.console now supports running assemblies of different target platforms and target frameworks in one request. - Code Coverage now has a cache for static instrumentation for better performance. - Microsoft.CodeCoverage.Console is now added to the command line tools. - The default architecture for AnyCPU .NET Framework test projects changed from x86 to x64. This change unifies how the default architecture is determined across all types of test projects to be always based on the architecture of Visual Studio. Meaning that in x64 version of VisualStudio, x64 will be used, and in future ARM64 VisualStudio, ARM64 will be used. The same rule also applies to dotnet test, and vstest.console. To revert to using x86, navigate to Test > Processor Architecture for AnyCPU projects > x86 - Remote Testing now supports test runs against remote arm64 windows environments. - The new build experience for [Live Unit Testing] is now enabled by default. Read our blog post to learn more. - You can now choose to see code coverage information on the editor margin by selecting "Margin Glyphs" in the Code Coverage Results window. Convert to raw string - Live Unit Testing now provides a button to reset all state. By going to Test > Live Unit Testing > Reset Live Unit Testing state for solution. Live Unit Testing Reset State - Live Unit Testing now supports Razor files.
TypeScript and JavaScript Development: - JavaScript and TypeScript files projects are now excluded from program analysis unless they are referenced by a tsconfig.json or jsconfig.json file. The result should be improved performance in large projects with lots of TypeScript and JavaScript files. - JavaScript (.esproj) projects that are referenced from an ASP.NET project now provide an option to include production build output in ASP.NET project publishing. - The TypeScript 4.7 language service and compiler are included in Visual Studio. See the TypeScript 4.7 announcement blog post for more. - The new multi-target JavaScript debugger is now used by default in Node.js (.njsproj) projects. - Auto-closing HTML tags in JavaScript and TypeScript React (.jsx/.tsx) files. - Fixed an issue where Automatic Type Acquisition (ATA) did not work when the default TypeScript language server is selected. - Fixed an issue where the dependencies node in Node.js (.njsproj) projects showed indirect dependencies when packages are restored using npm 7 or greater.
Security Advisory: - CVE-2022-34716 .NET Spoofing Vulnerability External Entity Injection during XML signature verification - CVE-2022-31012 Remote Code Execution Git for Windows' installer can be tricked into executing an untrusted binary - CVE-2022-29187 Elevation of Privilege Malicious users can create a .git directory in a folder that is owned by a super-user - CVE-2022-35777 Remote Code Execution Visual Studio 2022 Preview Fbx File parser Heap overflow Vulnerability - CVE-2022-35825 Remote Code Execution Visual Studio 2022 Preview Fbx File parser OOBW Vulnerability - CVE-2022-35826 Remote Code Execution Visual Studio 2022 Preview Fbx File parser Heap overflow Vulnerability - CVE-2022-35827 Remote Code Execution Visual Studio 2022 Preview Fbx File parser Heap OOBW Vulnerability
From Developer Community: - search in cmake view doesnt filter files - "Go To Document" (F12) for C++ #include statements fails when using /external:I - Error: Value cannot be null. Parameter name: path1 - devenv crashes while debugging - Adding strings to resx file pops a modal error dialog - Add include quick-action adds header along INCLUDES <> path rather than relative header via "" - Outlining collapses code AFTER user navigates to it via search results item or go-to-definition, etc - Tried to Hot Reload a .NET MAUI Blazor app and got an exception - Pasted Comments Indentation Issue - VS2019 standard exception headers: warning C5240: 'nodiscard': attribute is ignored in this syntactic position - C6389 false positive on main etc - XAML design mode in Blend 2019 (previously reported and closed) - Visual Studio 2022 : Double Clicking on solution file in the Source Control Explorer opens the sln file as plain text - Light Bulb Suggestion "Encode image in base64" Missing in Visual Studio 2022 CSHTML editor - CSS editor says ::deep is not a valid pseudo-element - After an install of 17.1.0 Preview 1.1, the IDE fails to launch with the following dialogs. Uninstalling and reinstalling fail to resolve. - The “CompareBuildTaskVersion” task could not be loaded from the assembly - MsBuild doesn't give /delayload flags to linker when using LLVM toolchain - env in launch.vs.json doesn't work for native - Support ::deep in .razor.css CSS isolation files to avoid validation warnings in the log - Blend 2022 'visual studio xml editor package' package did not load correctly' - Code coverage not generating results with visualstudio2022testagent - The selected certificate is not valid for code signing - Project options parameter values are retained in the same instance rather than resetting after the project creation - .Net Async profiler tool doesn't show anything - spacing fix-up A && B -> A&& B - Git no longer supports 'preserve-merges', stop offering that option - After fresh install of Visual Studio 2022 Version 17.1 "devenv.exe" does not start. - PreFAST: integer status code works, class-holding-integer status code does not - Unable to add Windows Application Packaging Project to Xamarin Forms Solution in Visual Studio Community 2022 - PreFAST: Incorrect Build break - error C2036: 'intarr (*)': unknown size - JSON Visualizer confused by array containing numbers with decimal point - Inline hints experience is very poor - RequestExecutionQueue fails to dispose of a linked CancellationTokenSource - create app packages crashes visual studio with no info as to why - HTTP Configuration loaded as HTTPS configuration in Blazor Server Project - Visual Studio hangs when trying to do a renaming of classes - Syntax highlighting for variables/functions with keyword as name - IDE freezes when building a .NET 6 project - 'git' is not recognized as an internal or external command, operable program or batch file. - DkmCustomUIVisualizerInfo and random order in context menu - Can't run .NET MAUI project after adding it to a solution and setting it as the startup project - Visual studio 2022 hangs when pasting in files or adding new files - Autocompletion does not work with macro. (Visual Studio 2022 17.1) - Continuous high CPU usage by Microsoft.ServiceHub.Controller.exe - Crash of process devenv.exe System.NullReferenceException - VS 2022 crash on file rename in Solution Explorer - Format Document doesn't work on fxh - Breakpoints are not being hit when debugging Xamarin application in Visual Studio 2022 - Generating a CMake cache using CMakePresets.json deletes folder content - Go To Files doesn't show files inside folders when using "Show all files" - Visual Studio should update Entitlements.plist when checking Health Kit option - What is new is causing a goldbar on startup for performance - MSIX Signing Extension Requires Basic Constraint extension but signtool.exe does not - CSS validation warnings displayed for scrollbar-width and scrollbar-color - Visual Studio 2022 crashes when selection "Select from Store" button - Hot Reload not working on real iOS device - Incorrect inheritance processing in CMakePreset.json - Installer UI inaccurately shows "All installations are up to date" - After using "Update All" button, all three instances show as up-to-date, but gray bar at the top still shows "Updating..." - .NET Maui C# hot reload not working (Windows + Android apps) - During debugging "Diagnostic Tools" setting failed with message: "Scratch directory does not exist!" - New project dialog crashes VS - Android SDK Manager and Device Manager not working - Create a pull request from Git Changes Tab - Property Window for XAML file for Xamarin Project is showing blank - (CMake): Consecutive configures will sometimes delete the cache beforehand - After recent VS 2022 preview 5.0 and as well as v6.0, I no longer can open the Web browser to create PR from the Git changes window - Live Unit Testing fails to start due to modified collection in HostedLiveUnitTestingCommands.GetOrchestratorActivityStateWhenRunningAsync - 1634213 - Pair To Mac fails with net6 when using external authenticated NuGet package sources - 10020587 - Pair to mac fails with MAUI RC1 since it requires .NET SDK 6.0.3 - Can't Sign In When Reporting a Problem from Visual Studio Installer - After upgrading to VS2022, ARM64 crashing on item enumeration - Incorrect intellisense diagnostic for class template argument deduction involving variadic templates - Handle errors when opening SSRS projects under TFS - Compile Errors Appearing with the New Version - Xaml Designer System.NullReferenceException - EnvDTE.Solution.TemplatePath returns the wrong value in Visual Studio 17.3 - A valid provisioning profile for this executable was not found - Xaml Designer System.NullReferenceException - Restoring a nuget package from a private devops feed fails with 401 in Visual Studio 2022 (17.2.4) - Publish can never confirm if the application started - Access Violation in KernelBase.dll!WriteFile while loading symbols - Visual distinction between downloaded/not downloaded items is awful in Source Control Explorer - WPF: Create Data Binding dialog freezes when adding value converter - Unable to create controller and view
Microsoft Visual Studio Community 2022 17.2.5 - Fixed bug in VC++ Runtime with broken links for MFC OLE Linking/Embedding Containers - Fixed an issue where a SxS install of VS2022 and VS2015 (or older) causes VS to fail scanning for extensions - Improved validation of container names when provisioning Azure Container Apps
Microsoft Visual Studio Community 2022 17.2.4 - Updated the side by side Dev 16.11 C++ Toolset to version 14.29.30145.00. The latest version of the Dev 16.11 C++ Toolset contains important bug fixes, including fixing all remaining C++20 defect reports. For information about bug fixes, including C++20 defect reports in Dev 16.11 - Fixed a Potential hang the first time a package is loaded (when we apply that package's settings via DTE.Properties) or in other scenarios that use DTE.Properties
Microsoft Visual Studio Community 2022 17.2.3 - Adds the Windows SDK (10.0.22621) for Windows 11, version 22H2, as an optional component in the Visual Studio installer - Resolved an issue where clicking "Create a Pull Request" wouldn't open the browser to the hosting provider's create pull request page - Adds a notification when Git detects an unsafe repository that and allows marking the repository as safe
Microsoft Visual Studio Community 2022 17.2.2 - Fixed a crash in the Package and Publish wizard when working with WinUI projects that target the 1.1.0 version of the Windows App SDK
Microsoft Visual Studio Community 2022 17.2.1 Fixed: - false positive C26828 warnings on C++ enum types with overlapping values - incorrect AddressSanitizer error reporting during scenarios where memory is allocated prior to ASAN initialization
Microsoft Visual Studio Community 2022 17.2.0 Installer: - For 17.2, we fixed an issue preventing customers from installing Visual Studio due to a GPO policy setting in the system registry. Visual Studio will now function the same way that WebView2 functions with regard to this installation.
Editor: - For 17.2, we have added a brand new global search experience to search for both code/symbols in you solution and features in Visual Studio that merges VS Search (Ctrl + Q) and Go To All (Ctrl + T). The new experience features a light-weight and dismissable UI, real-time symbol searching, nearly instant response times, powerful filtering mechanisms for files/types/members, and more! You can enable it Tools > Options > Environment > Preview Features > "New Visual Studio Search experience". - Visual Studio can now automatically save code documents whenever the application loses focus. This feature can be accessed via Tools > Options > Environment > Document. If the "Autosave" option is checked, Visual Studio will attempt to save all dirty code documents whenever the Visual Studio application loses focus (e.g. when switching to another application in Windows).
C++: - In 17.1 we introduced peripheral register and rtos views for embedded developers. We are continuing to improve the capabilities of those views with usability improvements in 17.2. Users can now click a pin icon next to peripherals, registers, or fields to pin them the top of the Peripheral View. - Added compiler support for C++23 feature deducing this, available under the /std:c++latest flag. - Added inline parameter name and type hint support, toggled by pressing Alt+F1 or double-tapping Ctrl. This behavior can be customized under Tools > Options > Text Editors > C/C++ > IntelliSense. - Added experimental support for C++20 modules in CMake projects. This is currently only available with the Visual Studio (MSBuild) generator. - Added IntelliSense support for C++23 features deducing this and if consteval.
In 17.1 we introduced peripheral register and RTOS views for embedded developers. We are continuing to improve the capabilities of those views with usability improvements in 17.2: - The RTOS tool window is now hidden by default, this prevents showing a tool window with error messages that are not relevant when an RTOS is not being used. - When a user double clicks on an RTOS object in the tool window it adds a watch for the object. - When a user selects the stack pointer start/end values in the RTOS tool window it is opened in the memory window. - Thread awareness has been added for device targets for the call stack window. - Added implementaion of the remaining C++20 defect reports (a.k.a. backports). All C++20 features are now available under the /std:c++20 switch. For more information about the implemented backports, please see C++20 Defect Reports project on microsoft/STL GitHub repository and this blogpost - Added various C++23 Library featues, available under the /std:c++latest flag. For details about the new features, please refer to the STL Repo changelog - Improved performance of the initial C++ indexing by up to 20%, depending on the depth of the include graph.
Git Tooling: - Enhanced line staging experience by allowing stage line adornment to work in different diff modes (side by side, inline, left, right view). - Stage and Undo commands in peek toolbar now operate on the target hunk. - Added the ability to enable Git commit-graph for better history and Git operations performance. - Improved interactive staging by adding support for staging individual lines of code right from the editor and the diff view. - Enhanced the branch checkout experience, a.k.a branch switching by adding in more options and context for when there are un-committed changes. - Enhanced the detached HEAD experience by providing the option to keep or discard commits when switching to a branch. - Added an option to include license template when creating a new repository. - Line-staging support, a.k.a interactive staging with the ability to stage specific lines and/or chunks of code right from the editor and the diff view. - Azure DevOps connection detection enhancements making it easier to related work items to commits. - Visual Studio now consumes 64-bit Git for Windows
Test tools: - You can now use a faster code coverage window with more flexible columns to organize and save your view. You can enable the code coverage experience improvements in Tools > Options > Environment > Preview Features. - Remote Testing now supports test runs against remote arm64 windows environments.
Significant improvements across full functionality of Live Unit Testing are available under a preview feature flag including: - Supporting more solutions out-of-the-box than before - Better handling of large solutions - Better default behavior working with large test sets - Better cancellation abilities of test runs in progress - More configuration options with new Live Unit Testing wizard and Lutignore file - Enable this new Live Unit Testing build experience in Tools > Options > Environment > Preview Features and read our blog post to learn more. - We are also previewing a more advanced test progress bar that includes more details on where the Test Explorer is in the test execution process with live updates.
.NET Productivity: - We now surface embedded source and Source Link as part of Go to Implementation if a referenced assembly has embedded source or Source Link. This allows you to navigate to the original source files that implement the target symbol. - In .NET 7 we added a new attribute called the StringSyntaxAttribute which will allow you to tell us what kind of data a string represents such as JSON, Regex, or DateTime. We added support for this attribute so you will get syntax highlighting for the new StringSyntaxAttribute for JSON. - We added a diagnostic message for the new JSON StringSyntaxAttribute when there is a misplaced string literal in an object literal to say that a colon is expected. - We now have a refactoring that wraps a collection of initializers for both Visual Basic and C#. - We now support embedded languages for the new C# 11 language feature raw string literals. To use raw string literals, set the language version in your project file to preview: preview. - Background Code Analysis now has more configuration options in Tools > Options allowing you to set the diagnostic scope to None in-order to turn off Background Code Analysis. - Code Cleanup now supports all code style options. - We added a new code fix for parameterless constructors inside of structs. - We added support for StringSyntaxAttribute so you will get syntax highlighting in Visual Studio based on the type of data that the string represents. - Quick Info will now display signatures of anonymous delegates. - Double clicking on inline parameter or type hints will now insert parameter or type names. - We added a new refactoring that removes unnecessary lambda expressions and calls the method group directly - In C# 11 we added a new language feature called raw string literals. We now have a refactoring to convert a normal or verbatim string literal to a raw string literal.
NET Productivity: - There is a new change in the compiler to not allow parameterless constructors inside of structs. We added a new code fix that will automatically fix this. - In .NET 7.0 we added a new attribute called the StringSyntaxAttribute which will allow you to tell us what kind of data a string represents such as JSON, Regex, or DateTime. We added support for this so you will get syntax highlighting in Visual Studio based on the type of data that the string represents. - Double clicking on inline parameter or type hints will now insert parameter or type names. - We added a new refactoring that removes unnecessary lambda expressions and calls the method group directly. Place your cursor on an unnecessary lambda. Press Ctrl+. to trigger the Quick Actions and Refactorings menu. Select Remove unnecessary lambda expression. - In C# 11 we are adding a new language feature called raw string literals. We now have a refactoring to convert a normal or verbatim string literal to a raw string literal. To use raw string literals, set the language version in your project file to preview: preview. Place your cursor on a normal or verbatim string. Press Ctrl+. to trigger the Quick Actions and Refactorings menu. Select Convert to raw string.
Razor (ASP.NET Core) Editor: - The new Razor editor now shows you the colors inline for text document colors. - The new Razor editor now supports the ability to collapse regions. - The new Razor editor now supports the “wrap div” shortcut Shift+Alt+W.
IntelliCode: - For 17.1, IntelliCode started suggesting quick actions for C# based on a user's intent in the IntelliSense list. For 17.2, these are now shown as auto-suggested code that appears in the editor upon typing. - For 17.2, IntelliCode's suggestions for repeated edits also appear as auto-suggested code when the suggested edit only involves adding code. This applies to both edits that span single lines and multiple lines.
Container tools: - You can now add Docker Compose container orchestration support to an Azure Functions project and debug it locally - We added .NET 7 support
.NET Debugging with WSL: - Improved troubleshooting for configuration issues including an automated installation of WSL.
Service Fabric: - We added .NET 7 support
SQL Server Data Tools: - Added support for column-level encryption in SQL projects targeting in Azure Synapse Analytics.
Web Tools: - Creation of new Azure Function projects is now fully integrated into the general New Project dialog allowing you to pick and configure Azure Function triggers without the need for an additional dialog. You also get the option to create a dockerfile as part of the project creation. When further configuration through Connected Services is needed, the experience navigates you there and guides you through the rest of the steps. - You can now connect your application to PostgreSQL (Postgres - Official Image | Docker Hub), MongoDB (Mongo - Official Image | Docker Hub) and SQLite (Data Source=Sqllite.db) through the Connected Services experience - Warnings coming from scaffolded coded and its non-nullable properties will be hidden by default by adding the property "Nullable" with the value "annotions" in the corresponding .csproj file. - The Add Dependency dialog in Connected Services now features a search experience.
General: - Improved proxy support by detecting when users are behind a proxy and proactively prompting for credentials when Visual Studio needs to access online resources
Microsoft Teams development tools: - The Microsoft Teams App project template has been improved and now creates configuration files consistent with the teamsfx CLI, including the .fx folder. - We recommend creating a new project using the updated template for any existing Teams Apps you've created with previous versions of the Teams Toolkit. - We've removed account selection and automatic registration of Teams resources from the Microsoft Teams App project template. - You can now choose when to sign-in with your M365 identity and register app resources using the Project > Teams Toolkit > Configure Microsoft Teams App menu option. - Updates to the manifest.*.template.json files can be synchronized with Teams Developer Portal by selecting this menu item again at any time. - You can now create and debug Bots for Microsoft Teams. - Create a new project using the Microsoft Teams App project template and select the Bot capability. - Use the Project > Teams Toolkit > Configure Microsoft Teams app menu to register the app and Bot. - You can now create resources for Tabs and Bots in your Azure subscription. - Use the Project > Teams Toolkit > Provision in the Cloud menu to create resources in a subscription. - Use the Project > Teams Toolkit > Deploy to the Cloud menu to publish code to those resources. - You can open remotely hosted resources in a browser that are created from the Provision menu using the Preview Teams app menu.
Debugging & Diagnostics: - We now support a new data visualizer to evaluate the IEnumerable interface implementations. - IEnumerable visualizer will help explore larger collections objects in tabular view. - We added support for Dependent Tracepoint. - Now you can set any breakpoint dependent on the tracepoint and vice versa. - If the breakpoint is dependent on tracepoint it hits only after the tracepoint is hit. (i.e., after the trace/log message is printed in the output window) - IEnumerable visualizer will help explore larger collections objects in a more streamlined way in the tabular/ data grid view.It supports IEnumerable collections where T can be simple types or complex types like dictionaries, encapsulated. - Whenever you have an IEnumerable code implementation, you will see a magnifying glass icon in the Value column of the Locals/ Watch window.You will also see the icon when you hover over a variable. Click the Icon, and you can access the IEnumerable visualizer. - You can use Hide columns to Hide duplicate data or expand columns to see more profound items in the complex data. Finally, you can Hide Childrens to get a more concise view of your data.
Issues Addressed in 17.2: - Fixed an issue where Account picker under "Azure Service Authentication" is broken and causes a restart of VS, and people using languages other than English were unable to pick a different account/add a new one for Azure Service Authentication. - This version of Visual Studio includes Win App SDK 1.0.3 see Windows App SDK release channels - Windows apps | Microsoft Docs for more details. - Fixed an issue where Solutions containing WiX projects crash on open. - Fixed an issue where Tooltips are not displayed properly on Daytona controls. - Updated the webview2 baseline in Daytona. - Fixed an issue where "Sync branch" would fail in the scenario where "local and remote branches have diverged" and "pull.rebase was unset". - Fixed issue where user building native C++ app targeting Android platform encounters build errors if workload "Mobile Development with .NET" is also installed. - Fixed a UI delay after Windows Forms .NET project load or build when Toolbox has not yet initialized. - Fixed missing bitwise enum warnings for some inputs. - Selecting "Load All Symbols" in the CPU Tool no longer causes blank lines to show in analysis. - IntelliSense is no longer extremely slow (taking almost a minute to respond) on a pattern used in the Vulkan SDK's C++ headers. - Addressed an issue that could pop up "CMake Integration" dialog and lead to CMake stop working after saving changes to your CMakeLists.txt. - Improved performance of build configuration switching with CMake projects - Improved performance when editing large Razor source files. - Fixed an issue in the CPU Usage Tool views where text was clipped by blue usage bars - Removed an incorrect message stating there are no top insights in the CPU Usage tool even when there are top insights. - Fixed a bug where "No insights found" message in CPU Usage tool was not properly localized - Fixed an issue preventing some customers from installing Visual Studio due to a GPO policy setting in the system registry. Visual Studio will now function the same way that WebView2 functions with regard to this installation. - Fixed issue ‘Unable to install any extension (vsix) for Visual Studio on an offline machine'. - Fixed the MonoToolchain and emsdk workload installation manifest.
From Developer Community: - CancellationToken's delay ignored in Xamarin.Android while using HttpClient - If I open a solution and then build it, and then expand test explorer I expect to see the tests in the list - Test explorer stuck "running" test - Error: Value cannot be null. Parameter name: path1 - FO Bug Fix aaaaaaaaaaaaaaaaa - There is a syntax error with the code hint for Intellicode - Stack Traces with depth between 21 and 23 in Test Explorer - x:Class Modifier in ResourceDictionary breaks auto completion support in VS when deployed as nuget package - WPF hot reload not available/working for one solution while it is for another one - Xamarin HotReload Caught exception in OnAfterSave - Go To Definition not working (but Peek Definition works) - Trying to open test log fails with file path too long - clang v13 ICE with /arch:AVX2 - VS 2022 Hangs on Add new Item - "Show in Test Explorer" doesn't scroll the test case into view when the Test Explorer view is in "auto hide" mode - HasSharedItems is explicitly set to empty by VS causing AssignLinkMetadata to be skipped and fail shared projects builds - German translation: Buttons overlapping in hot reload message box - Publish: Unable to create publish profile PropertiesPublishProfilesAppService.pubxml - Tool crashes when using on a specific binary - 'git' is not recognized as an internal or external command, operable program or batch file. - Solution Loading Gives Error and Stops since 17.2 Preview 2 - Property Window for XAML file for Xamarin Project is showing blank - Error LNK2013: BRANCH26 fixup overflow while linking ARM64EC binary - Compiler process gets stuck in infinite loop at 100% CPU load - ICE for variantclear analysis with pch in compiler version 17.2p2 (Office; 17.2) - Xamarin Visual Studio 2022: There was an error while loading your certificates - Internal compiler error in VS2022 17.2 preview2 targeting ARM - VS2022 XAML designer does not work when CopyLocal is false - Vulkan.hpp makes Intellisense slow in Visual Studio 2022 - Bug when CMakeLists.txt in sub-directories (Unable to select CMakeLists.txt in root-folder) - ENC errors persist after successful build - SSDT schema compare fails for Azure SQL Managed Instance - NET MAUI iOS builds fail because Mac Agent does not install up to date MonoToolchain and emsdk workload manifests
Microsoft Visual Studio Community 2022 17.1.6 Fixed: - C++ compiler (CL.exe) sometimes crashing when running code analysis bitwise enum checks - iPhone Simulator - Fatal error: Could not load the file 'System.Memory' - vctip.exe regression in VisualCPP SxS from 17.0.8 - a bug in in VisualCPP SxS that prevented some applications built with Address Sanitizer (ASAN) to load in Windows 11 - another ASAN issue in VisualCPP SxS where multi-threaded applications with heap contention may experience deadlocks, false "wild pointer freed" reports, or a deadlock during process exit
Microsoft Visual Studio Community 2022 17.1.5 Fixed: - vctip.exe regression from 17.1.4 - issue ‘Unable to install any extension (vsix) for Visual Studio on an offline machine’.
From Developer Community: - Developer Community has a full list of fixes available in 17.1 - Launch-VsDevShell no longer works in strict mode - WebSocket connection to 'wss://...' failed. ASP .Net Core Web application. After update 17.1
Microsoft Visual Studio Community 2022 17.1.4 Fixed: - Fixed an issue where calls to 'new' in templates did not find the correct 'operator new' function through argument-dependent lookup - Fixed an issue in design time type resolution for Windows Forms .NET Framework designer that would otherwise cause designer load to fail - Fixes "HotRestart.Tasks.DetectSigningIdentity" task failed unexpectedly - Added installer command line to remove an unused channel
Microsoft Visual Studio Community 2022 17.1.3 - Introduced support for Apple Xcode 13.3 - Fixes iOS IPA generator error (ERROR ITMS-90207) using Xcode 13.3 - Fixes failed to synchronize account with Apple developer portal - Fixes issue where Visual Studio would hang/freeze when using TFVC for an extended period of time (over an hour) - Fixes error message "An incompatible SQL Server version was detected." when connecting to Azure SQL Managed Instance from Visual Studio SQL Server Data Tools
Microsoft Visual Studio Community 2022 17.1.1 From Developer Community: - Developer Community has a full list of fixes available in 17.1 - CMake->vcxproj regression in 17.1.0 when using CONFIG in custom command - VSSDK: VS 17.1.0 Preview 5.0 hangs after IVsObjectManager.UnregisterLibMgr()
Security Advisory Notice: - CVE-2020-8927 Vulnerability A Remote code Execution vulnerability exists in .NET 5.0 and .NET Core 3.1 where a buffer overflow exists in the Brotli library versions prior to 1.0.8. - CVE-2022-24464 Vulnerability A denial of service vulnerability exists in .NET 6.0, .NET 5.0, and .NET CORE 3.1 when parsing certain types of http form requests. - CVE-2022-24512 Vulnerability A Remote Code Execution vulnerability exists in .NET 6.0, .NET 5.0, and .NET Core 3.1 where a stack buffer overrun occurs in .NET Double Parse routine. - CVE-2021-3711 OpenSSL Buffer Overflow vulnerability A potential buffer overflow vulnerability exists in OpenSSL, which is consumed by Git for Windows. Git for Windows is now updated to version 2.35.1.2, which addresses this issue.
Microsoft Visual Studio Community 2022 17.1.0 C++: - A new Configure Preset template has been added to configure and build CMake projects on a remote macOS system with CMakePresets.json. You can also launch CMake targets on a remote macOS system and debug with the front-end of the Visual Studio debugger backed by GDB or LLDB. - You can now debug core dumps on a remote macOS system from Visual Studio with LLDB or GDB - The versions of Clang and LLVM shipped with Visual Studio have been upgraded to v13 - Visual Studio's CMake integration will only activate when a CMakeLists.txt is identified at the root of the open workspace. If a CMakeLists.txt is identified at another level of the workspace, then you will be prompted to activate Visual Studio's CMake integration with a notification. - Added a new register visualisation window for embedded targets, available through Debug > Windows > Embedded Registers. - Added a new thread view for RTOS projects, available through Debug > Windows > RTOS Objects
Debugging & Diagnostics: - Added a new feature called StickyDataTips i.e., you can now keep your DataTips expanded until you click away. This gives a very easy way to evalute your objects whithin the DataTips. To enable this feature, check the checkbox "Keep expanded data tips open until clicked away" under Tools >Options > Debugging > General. - Added a support for Microsoft Azure App Services Attach to Process. - When building managed libraries developers can choose to embed their source files with the debug information (PDB file) that is produced by the build, and even embed the PDB file into the assembly itself. We now surface embedded source as part of Go to Definition if a referenced assembly has embedded source and the PDB is available. This allows you to navigate to the original source files that declare the target symbol. Place your cursor on a symbol and press F12 to navigate to the original source file. - There is now IntelliSense completion for await within an awaitable expression. Start typing an awaitable expression and notice how await will now show up in the completion list. - There is now a refactoring to move static members to a new type. Place your cursor on a static member. Press (Ctrl+.) to trigger the Quick Actions and Refactorings menu. Select Move static members to another type.... This will open a dialog where you can select the members that you would like to move. Move static members to another type refactoring - There is now a refactoring to simplify code to use the new C# 10.0 extended property patterns. Using extended property patterns reduces noise allowing you to reference nested members instead of nesting another recursive pattern. Place your cursor on a nested member reference. Press (Ctrl+.) to trigger the Quick Actions and Refactorings menu. Select Simplify property pattern. Simplify property pattern refactoring - There is now a refactoring that detects variable swaps and suggests using a tuple to swap values so instead of using a temporary variable in-order to swap arguments you can use a tuple. Place your cursor on a temporary variable assignment where you are swapping values. Press (Ctrl+.) to trigger the Quick Actions and Refactorings menu. Select Use tuple to swap values. Use tuple to swap values refactoring - The Code Definition Window now supports C# and Visual Basic. To use the Code Definition Window, either press (Ctrl+W,D) or select View > Code Definition Window. Next, place your cursor on an identifier to navigate and explore code. - C# and Visual Basic support in the Code Definition Window - There is now a refactoring to enable nullable reference types across a project. You can enable nullable reference types by adding the enable element to your project file or add the #nullable enable pragma to every source file in your project. To help streamline this process we now automatically include the enable for new .NET projects. For existing .NET projects, you can enable nullable reference types by placing your cursor on a #nullable enable pragma. Press (Ctrl+.) to trigger the Quick Actions and Refactorings menu. Select Enable nullable reference types in a project. Enable nullable references types across a project refactoring - Signature Help has improved its display when a tuple appears many times within a signature. The simplified view includes the Structural Type key to show you what is contained in the tuple. - You can now understand errors and warnings at a glance without needing to hover your cursor over a line of code with Inline Diagnostics. Inline Diagnostics is disabled by default so you will need to enable it in Tools > Options > Text Editor > C# or Basic > Advanced and select Display diagnostics inline (experimental). Inline Diagnostics
Editor: - Visual Studio can now automatically save code documents whenever the application loses focus. This feature can be accessed via Tools > Options > Environment > Document. If the "Autosave" option is checked, Visual Studio will attempt to save all dirty code documents whenever the Visual Studio application loses focus (e.g. when switching to another application in Windows). - The Code Cleanup feature can now be configured to be run whenever a file is explicitly saved. In Tools > Options under Text Editor > Code Cleanup, a new option allows users to enable the Code Cleanup on explicit save as well as to select the profile to run. Note that this option will not cause Code Cleanup to be run on autosave.
Git Tooling: - Added capability to compare branches in Visual Studio - Introduced enhancements to the detached head state including the ability to checkout commits - Multi-repo branching enhancements including the ability to create branches across different repositories at the same time (preview feature) - Added capability to include README file when creatting new Git repositories in Visual Studio - Enhanced the ability to pin commonly used branches utilizing hover buttons - Built a more discoverable UI for relating Work Items with new commits
IDE: - Add your Github AE account using the integrated account management experience (Requires enabling GitHub Enterprise Server accounts) - Added ability to toggle color scheme to color your tabs by File Extension or Project. - Added capability to customize tab colors when color tabs are enabled. Right-click on a color tab and select Set tab color.
Installation and Updates: - We have reduced the number of reboots required after installation. - Required reboots were frequently caused by updating Visual C++ Runtime files in the system directory while they were in use. Those files are normally updated correctly; a reboot is needed only to clean up the replaced files. In these cases, the VS Installer now shows a recommended reboot dialog. - When the recommended reboot dialog is displayed, the customer may launch the Visual Studio IDE immediately (without rebooting). - Added information about LTSC channel expiration dates to the Update Settings dialog. - Added ability to programmatically change the source location of updates independently of actually performing the update. This enables IT admins to programmatically change the update channel.
Microsoft Azure App Services Attach to Process: - You can now attach to your .NET (Framework. Core, or 5+) for Windows App Service without a solution or project open. Open the Attach to Process Dialog > Change the Connection Type to Microsoft Azure App Services > Select Find > Select your Subscription and then find your App Service under the resource group and choose Okay. Find the process you want to connect to and select Attach.
Microsoft Teams developer tools: - Teams Toolkit is a Visual Studio Extension to help developers create experiences for Microsoft Teams and is part of the Microsoft Teams Framework (TeamsFx). Learn more about Teams Toolkit and TeamsFx on GitHub and in the Microsoft Teams documentation. - You may now choose the Microsoft Teams development tools component in the ASP.NET web development workload in the Visual Studio Installer. - Installing this component adds the Teams Toolkit extension. Use the new Microsoft Teams App project template to get started creating a new Teams tab application.
.NET Productivity: - We now surface embedded source and Source Link as part of Go to Definition if a referenced assembly has embedded source or Source Link. This allows you to navigate to the original source files that declare the target symbol. Place your cursor on a symbol and press F12 to navigate to the original source file. Source Link Navigation - There is now a Stack Trace Explorer Window that displays stack traces from the clipboard allowing you to click and navigate directly to the related code. By default, if you copy a stack trace from your solution and then switch focus to the Stack Trace Explorer window, the stack trace will automatically appear. To open the Stack Trace Explorer window, go to View > Other Windows and select Stack Trace Explorer. Stack Trace Explorer window - In Visual Studio 2019 we introduced a new UI for EditorConfig. EditorConfig files help to keep your code consistent by defining code styles and formats. These files can live with your code in its repository and use the same source control. This way the style guidance is the same for everyone on your team who clones from that repository. In this release we added Naming Styles to the EditorConfig UI. To add an EditorConfig file to a project or solution, right click on the project or solution name within the Solution Explorer. Select Add New Item. In the Add New Item dialog search for EditorConfig. Select the .NET EditorConfig template to add an EditorConfig file prepopulated with default options. Notice the new EditorConfig UI and the new Naming Styles option. EditorConfig Naming Styles
Other Improvements: - Go To Definition from source information in PDBs - IntelliSense completion for await within an awaitable expression - Move static members to a new type refactoring - Simplify code to use the new C# 10.0 extended property patterns refactoring - Detect variable swaps and suggest using a tuple to swap values refactoring - Code definition window support for C# and Visual Basic - Enable nullable reference types across a project refactoring - Signature help simplified view improvements when a tuple appears many times within a signature - Understand errors and warnings at a glance with inline diagnostics
Microsoft Visual Studio Community 2022 17.0.6 - Updated the Visual Studio installer to properly record channel metadata - Added expiration date information to the 17.0 LTSC channel - Released Bulletins in the Visual Studio Installer for an install or update - Updated the Visual Studio installer to improve the experience for remote enterprise deployment - Updated the GitHub add account experience to improve its success rate
Microsoft Visual Studio Community 2022 17.0.4 - Adds Xcode 13.2 Support
Microsoft Visual Studio Community 2022 17.0.3 Bidirectional text control character rendering: - To prevent a potentially malicious exploit that allows code to be misrepresented, the Visual Studio editor will no longer allow bidirectional text control characters to manipulate the order of characters on the editing surface. A new option will cause these bidirectional text control characters to be shown with placeholders. The bidirectional text control characters will still be present in the code as this behavior only impacts what is rendered in the code editor.
VS with bidirectional text control characters replaced with placeholders: - This functionality is controlled in ToolsOptions. Under the Text EditorGeneral page there is an option for “Show bidirectional text control characters”, which will be checked by default. When checked, all bidirectional text control characters will be rendered as placeholders. Unchecking the option will revert to the previous behavior where these characters are not rendered.
Microsoft Visual Studio Community 2022 17.3.1 相關參考資料
Visual Studio 2022 17.3 is now available!
2022年8月9日 — We are happy to announce that Visual Studio 2022 17.3 has been released and is now generally available. At Microsoft, we thrive on getting ...
https://devblogs.microsoft.com
Visual Studio 2022 17.3 版的版本資訊
2024年1月22日 — 如需安裝和更新Visual Studio 2022 的指示,請參閱將Visual Studio 2022 更新至最新版本。 此外,請參閱如何離線安裝上的指示。 Download Community ...
https://learn.microsoft.com
Visual Studio 2022 for Mac v17.3 - Release Notes
2024年1月22日 — Get information on the latest release features, bug fixes, and support for Visual Studio 2022 for Mac v17.0 Preview. Download today.
https://learn.microsoft.com
Visual Studio 2022 Release History
2024年1月22日 — A list of released versions, build numbers, and release links for Visual Studio 2022.
https://learn.microsoft.com
Visual Studio 2022 Release Notes
2024年2月13日 — Learn about the latest features, bug fixes, and support for Visual Studio 2022. Download today.
https://learn.microsoft.com
Visual Studio 2022 version 17.3 Release Notes
2024年1月22日 — Get the latest features, bug fixes, and support for Visual Studio 2022 version 17.3. Download today.
https://learn.microsoft.com
Visual Studio 2022 版本17.3 发行说明
了解Visual Studio 2022 版本17.3 的最新功能、bug 修补程序和支持。 立即下载。
https://learn.microsoft.com
Visual Studio 2022 版本歷程記錄
2024年1月22日 — Visual Studio 2022 已發行版本、組建編號和版本連結的清單。
https://learn.microsoft.com
Visual Studio Developer Community
I have several Visual Studio versions installed (2022, 2019, 2017, preview versions) and they all tend to want to be updated at the same time. It would make my ...
https://developercommunity.vis
Visual Studio Installer - upgrading to 17.3.1
Visual StudiosetupVisual Studio 2022 version 17.3 Preview 3Windows 10.0.22622.0 ... Microsoft Tech Community · Azure Marketplace · AppSource · Visual Studio.
https://developercommunity.vis
|