{"id":244370,"date":"2023-08-09T07:00:00","date_gmt":"2023-08-09T14:00:00","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/visualstudio\/?p=244370"},"modified":"2023-08-09T07:04:37","modified_gmt":"2023-08-09T14:04:37","slug":"visual-studio-2022-17-8-preview-1-has-arrived","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/visualstudio\/visual-studio-2022-17-8-preview-1-has-arrived\/","title":{"rendered":"Visual Studio 2022 17.8 Preview 1 has arrived!"},"content":{"rendered":"<figure style=\"text-align: center;\"><iframe title=\"YouTube video player\" src=\"\/\/www.youtube.com\/embed\/HtcVi5KQnNc\" width=\"560\" height=\"315\" allowfullscreen=\"allowfullscreen\"><span data-mce-type=\"bookmark\" style=\"display: inline-block; width: 0px; overflow: hidden; line-height: 0;\" class=\"mce_SELRES_start\">\ufeff<\/span><\/iframe><\/figure>\n<p>Hot on the heels of the General Availability of Visual Studio v17.7, (<a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/visual-studio-2022-17-7-now-available\/\">Visual Studio 2022 \u2013 17.7 Now Available<\/a>) we&#8217;re thrilled to introduce the next set of enhancements that aim to streamline your workflow and boost your productivity.<\/p>\n<p style=\"text-align: center;\"><div  class=\"d-flex justify-content-center\"><a class=\"cta_button_link btn-primary mb-24\" href=\"https:\/\/visualstudio.microsoft.com\/downloads\/\" target=\"_blank\">Download Visual Studio 2022<\/a><\/div><\/p>\n<p>In this preview, we&#8217;re bringing you features that can significantly improve your day-to-day tasks. From creating a PR directly within Visual Studio to a case-preserving search &amp; replace across multiple files, we&#8217;re making your tasks simpler and more efficient. We&#8217;ve also extended IntelliTest support for .NET 6+ and .NET Standard, making it easier to generate and manage unit tests<\/p>\n<p>With something for every developer, browse this comprehensive list of enhancements and let us know which of these enhancements is <a href=\"#share-your-feedback-and-stay-connected-with-visual-studio\">your favorite<\/a>:<\/p>\n<table style=\"border-collapse: collapse; width: 99.7891%;\">\n<tbody>\n<tr>\n<td style=\"width: 17.688%;\"><strong><span style=\"font-size: 14pt;\">Area<\/span><\/strong><\/td>\n<td style=\"width: 83.9531%;\"><strong><span style=\"font-size: 14pt;\">Enhancements<\/span><\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 17.688%;\"><a href=\"#productivity-features\"><strong><span style=\"font-size: 14pt;\">Productivity Features<\/span><\/strong><\/a><\/td>\n<td>\n<ul>\n<li><a href=\"#add-reviewers-to-your-pull-requests\">Add Reviewers to your PRs<\/a> <span style=\"font-size: 10pt;\">(\ud83d\ude4f<a href=\"https:\/\/developercommunity.visualstudio.com\/t\/cant-create-pull-request-in-visual-studio-with-new\/1017696\">Community Suggestion<\/a> \u2013 271 votes)<\/span><\/li>\n<li><a href=\"#summary-diff\">Summary Diff<\/a> <span style=\"font-size: 10pt;\">(\ud83d\ude4f<a href=\"https:\/\/developercommunity.visualstudio.com\/t\/git-differences-show-only-differences-and-omit-lin\/1193376\">Community Suggestion<\/a> &#8211; 3 votes)<\/span><\/li>\n<li><a href=\"#multi-repo-limit-increase\">Multi-Repo limit increase<\/a> <span style=\"font-size: 10pt;\">(\ud83d\ude4f<a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Raiseremove-maximum-number-of-multiple-\/10414991\">Community Suggestion<\/a> \u2013 7 votes)<\/span><\/li>\n<li><a href=\"#case-preserving-find-and-replace\">Case Preserving Find and Replace<\/a> <span style=\"font-size: 10pt;\">(\ud83d\ude4f<a href=\"https:\/\/developercommunity.visualstudio.com\/t\/case-preserving-search-replace\/580810\">Community Suggestion<\/a> &#8211; 68 votes)<\/span><\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td><a href=\"#c-and-game-development\"><strong>C++ and Game Development<\/strong><\/a><\/td>\n<td>\n<ul>\n<li><a href=\"#unreal-engine-snippets\">Unreal Engine Snippets<\/a><\/li>\n<li><a href=\"#unreal-engine-test-adapter\">Unreal Engine Test Adapter<\/a><\/li>\n<li><a href=\"#build-insights-functions-view\">Build Insights Functions View<\/a> <span style=\"font-size: 10pt;\">(\ud83d\ude4f <a href=\"https:\/\/developercommunity.visualstudio.com\/t\/have-full-integration-of-build-insights-within-vis\/810960\">Community Suggestion<\/a> \u2013 141 votes)<\/span><\/li>\n<li><a href=\"#make-member-function-const-hints\">Make member function const hints<\/a><\/li>\n<li><a href=\"#size-and-alignment-hints\">Size and Alignment Hints<\/a><\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td><a href=\"#debugging-and-diagnostics\"><strong>Debugging and Diagnostics<\/strong><\/a><\/td>\n<td>\n<ul>\n<li><a href=\"#net-counters-tool-in-debugging-scenario\">.NET Counters Tool in Debugging Scenario<\/a><\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td><a href=\"#razor-tooling\"><strong>Razor Tooling<\/strong><\/a><\/td>\n<td>\n<ul>\n<li><a href=\"#code-action-for-event-handler-method-generation\">Code Action for Event Handler Method Generation<\/a><\/li>\n<li><a href=\"#background-color-for-c-code\">Background Color for C# Code<\/a><\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td><a href=\"#javascript-and-typescript-development\"><strong>JavaScript and TypeScript Development<\/strong><\/a><\/td>\n<td>\n<ul>\n<li><a href=\"#new-react-typescript-and-asp-net-combined-templates\">New React TypeScript and ASP.NET Combined Templates<\/a><\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td><a href=\"#testing\"><strong>Testing<\/strong><\/a><\/td>\n<td>\n<ul>\n<li><a href=\"#new-intellitest-now-in-preview\">New IntelliTest now in Preview<\/a><\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>You can delve into the complete list of enhancements by checking out the <a href=\"https:\/\/learn.microsoft.com\/visualstudio\/releases\/2022\/release-notes-preview\">Visual Studio 2022 17.8 Preview 1 Release Notes<\/a>, and we always love to know what you think with feedback through <a href=\"https:\/\/developercommunity.visualstudio.com\/home\">Developer Community<\/a>: reports of any bugs or issues via <a href=\"https:\/\/docs.microsoft.com\/visualstudio\/ide\/how-to-report-a-problem-with-visual-studio\">report a problem<\/a> and <a href=\"https:\/\/developercommunity.visualstudio.com\/report?space=8&amp;entry=suggestion\">share your suggestions<\/a> for new features or improvements to existing ones.<\/p>\n<h2>Productivity Features<\/h2>\n<h4>Add Reviewers to your Pull Requests<\/h4>\n<p>We see lots of engagement on this <a href=\"https:\/\/developercommunity.visualstudio.com\/t\/cant-create-pull-request-in-visual-studio-with-new\/1017696\">Developer Community ticket<\/a>. In response, we are improving on the pull request experience added in preview 17.7, and you can now add your reviewers to your pull requests in Visual Studio for both Azure DevOps and GitHub.<\/p>\n<p><img decoding=\"async\" width=\"1099\" height=\"618\" class=\"wp-image-244371\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-screenshot-of-a-computer-program-description-au.png\" alt=\"A screenshot of a computer program Description automatically generated\" data-wp-editing=\"1\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-screenshot-of-a-computer-program-description-au.png 1099w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-screenshot-of-a-computer-program-description-au-300x169.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-screenshot-of-a-computer-program-description-au-1024x576.png 1024w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-screenshot-of-a-computer-program-description-au-768x432.png 768w\" sizes=\"(max-width: 1099px) 100vw, 1099px\" \/><\/p>\n<p>Try this out by clicking on the &#8220;Create a Pull Request&#8221; link that appears on push, or by selecting Git &gt; GitHub or Azure DevOps &gt; New Pull Request from the top level menu. Then, navigate to the Reviewers section and search for the reviewers you&#8217;d like to add.<\/p>\n<p>We plan to continue making updates to improve this pull request experience, so please share your feedback about this feature <a href=\"https:\/\/aka.ms\/createPR\">here<\/a>.<\/p>\n<h4>Summary Diff<\/h4>\n<p>As a continuation of our efforts to improve the diffing experience in Visual Studio, we&#8217;ve implemented the Summary view in the diff and compare views. This new option allows you to see only the changes in the file with a few lines of context, making reviewing your changes in a commit or the comparison between two files much more efficient.<\/p>\n<p><img decoding=\"async\" width=\"1233\" height=\"581\" class=\"wp-image-244372\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-screenshot-of-a-computer-program-description-au-1.png\" alt=\"A screenshot of a computer program Description automatically generated\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-screenshot-of-a-computer-program-description-au-1.png 1233w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-screenshot-of-a-computer-program-description-au-1-300x141.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-screenshot-of-a-computer-program-description-au-1-1024x483.png 1024w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-screenshot-of-a-computer-program-description-au-1-768x362.png 768w\" sizes=\"(max-width: 1233px) 100vw, 1233px\" \/><\/p>\n<p>Let us know what you think of this feature by sharing your feedback <a href=\"https:\/\/aka.ms\/SummaryDiff\">here<\/a> and engage with us on the <a href=\"https:\/\/developercommunity.visualstudio.com\/t\/git-differences-show-only-differences-and-omit-lin\/1193376\">suggestion ticket in Developer Community<\/a>.<\/p>\n<h4>Multi-Repo Limit Increase<\/h4>\n<p>As more of you are using our Multi-repository features, we heard on this <a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Raiseremove-maximum-number-of-multiple-\/10414991\">Developer Community suggestion ticket<\/a> that many of you needed the number of active repositories to be more than 10. You can now work with up to 25 repositories at once in your solution.<\/p>\n<h4>Case Preserving Find and Replace<\/h4>\n<p>When you do a Replace, you can now preserve the original casing of each match in your code. Note that to get Pascal case and Camel case, your Replace string must also be in Pascal case or Camel case.<\/p>\n<p><img decoding=\"async\" width=\"1099\" height=\"590\" class=\"wp-image-244373\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-screenshot-of-a-computer-description-automatica.png\" alt=\"A screenshot of a computer Description automatically generated\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-screenshot-of-a-computer-description-automatica.png 1099w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-screenshot-of-a-computer-description-automatica-300x161.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-screenshot-of-a-computer-description-automatica-1024x550.png 1024w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-screenshot-of-a-computer-description-automatica-768x412.png 768w\" sizes=\"(max-width: 1099px) 100vw, 1099px\" \/><\/p>\n<p>Toggle case preservation in the Replace window with \u2018Alt+V\u2019 or by clicking on the \u2018Preserve case\u2019 option.<\/p>\n<p>Quick Replace (Ctrl+H):<\/p>\n<p><img decoding=\"async\" class=\"wp-image-244374\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-screenshot-of-a-computer-description-automatica-1.png\" alt=\"A screenshot of a computer Description automatically generated\" width=\"417\" height=\"132\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-screenshot-of-a-computer-description-automatica-1.png 439w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-screenshot-of-a-computer-description-automatica-1-300x95.png 300w\" sizes=\"(max-width: 417px) 100vw, 417px\" \/><\/p>\n<p>Replace in Files (Ctrl+Shift+H):<\/p>\n<p><img decoding=\"async\" class=\"wp-image-244375\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-screenshot-of-a-computer-description-automatica-2.png\" alt=\"A screenshot of a computer Description automatically generated\" width=\"761\" height=\"354\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-screenshot-of-a-computer-description-automatica-2.png 918w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-screenshot-of-a-computer-description-automatica-2-300x140.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-screenshot-of-a-computer-description-automatica-2-768x357.png 768w\" sizes=\"(max-width: 761px) 100vw, 761px\" \/><\/p>\n<p>Share your thoughts on the case preserving replace experience on this ticket: <a href=\"https:\/\/developercommunity.visualstudio.com\/t\/case-preserving-search-replace\/580810\">Case-Preserving Search &amp; Replace Across Multiple Files<\/a>.<\/p>\n<h2>C++ and game development<\/h2>\n<h4>Unreal Engine Snippets<\/h4>\n<p>Unreal Engine specific snippets are now available in Visual Studio 2022. As a preview feature, we have included a list of common core Unreal Engine macro snippets. To begin, start typing in the editor window and UE snippets will start showing up as a member list item in your Unreal Engine projects. Press tab or enter to create the snippet.<\/p>\n<p><img decoding=\"async\" class=\"wp-image-244376\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-computer-screen-shot-of-a-program-code-descript.png\" alt=\"A computer screen shot of a program code Description automatically generated\" width=\"829\" height=\"467\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-computer-screen-shot-of-a-program-code-descript.png 1000w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-computer-screen-shot-of-a-program-code-descript-300x169.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-computer-screen-shot-of-a-program-code-descript-768x432.png 768w\" sizes=\"(max-width: 829px) 100vw, 829px\" \/><\/p>\n<p>List of Supported Snippets<\/p>\n<ul>\n<li>UClass<\/li>\n<li>UClassExported<\/li>\n<li>UENUM<\/li>\n<li>UFUNCTION<\/li>\n<li>UINTERFACE<\/li>\n<li>UINTERFACEExported<\/li>\n<li>UPROPERTY<\/li>\n<li>USTRUCT<\/li>\n<li>USTRUCTExported<\/li>\n<li>UELOG<\/li>\n<li>SWidget<\/li>\n<li>TActorRange<\/li>\n<li>TObjectRange<\/li>\n<li>WITH_EDITOR<\/li>\n<\/ul>\n<h4>Unreal Engine Test Adapter<\/h4>\n<p>You can now see your Unreal Engine tests from within Visual Studio with the new UE Test Adapter.<\/p>\n<p><img decoding=\"async\" width=\"315\" height=\"580\" class=\"wp-image-244377\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-screenshot-of-a-computer-program-description-au-2.png\" alt=\"A screenshot of a computer program Description automatically generated\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-screenshot-of-a-computer-program-description-au-2.png 315w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-screenshot-of-a-computer-program-description-au-2-163x300.png 163w\" sizes=\"(max-width: 315px) 100vw, 315px\" \/><\/p>\n<p>To ensure Unreal Engine Test Adapter is enabled properly, double check &#8220;Unreal Engine Test Adapter&#8221; is selected in the Visual Studio Installer under the &#8220;Game development with C++&#8221; workload. The latest version of our Unreal Engine plugin from the UE <a href=\"http:\/\/aka.ms\/vsuemarketplace\">marketplace<\/a> or <a href=\"http:\/\/aka.ms\/vsuegithub\">GitHub<\/a> is required.\n<img decoding=\"async\" class=\"wp-image-244379\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/inserting-image-.png\" alt=\"Inserting image...\" width=\"935\" height=\"526\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/inserting-image-.png 1008w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/inserting-image--300x169.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/inserting-image--768x432.png 768w\" sizes=\"(max-width: 935px) 100vw, 935px\" \/><\/p>\n<p>After installing the UE Test Adapter, your Unreal Engine tests will automatically show up when you open Visual Studio. To see your tests, you can open Test Explorer. With the new Unreal Engine Test Adapter, you can easily run, manage, and debug your tests.<\/p>\n<h4>Build Insights Functions View<\/h4>\n<p>Build Insights is now integrated with Visual Studio 2022! In Visual Studio 2022 17.8 Preview 1, you can now see additional information relating to function generation. The new Functions View will provide you with how long a function takes during compilation as well as the number of ForceInlinees associated.<\/p>\n<p><img decoding=\"async\" class=\"wp-image-244381\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/inserting-image-1-1.png\" alt=\"Inserting image...\" width=\"510\" height=\"386\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/inserting-image-1-1.png 595w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/inserting-image-1-1-300x227.png 300w\" sizes=\"(max-width: 510px) 100vw, 510px\" \/><\/p>\n<p>To ensure Build Insights is enabled properly, double check &#8220;C++ Build Insights&#8221; is selected in the Visual Studio Installer under &#8220;Desktop development with C++&#8221; or &#8220;Game development with C++&#8221; workloads.<\/p>\n<p><img decoding=\"async\" class=\"wp-image-244382\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/inserting-image-1-2.png\" alt=\"Inserting image...\" width=\"621\" height=\"483\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/inserting-image-1-2.png 947w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/inserting-image-1-2-300x233.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/inserting-image-1-2-768x597.png 768w\" sizes=\"(max-width: 621px) 100vw, 621px\" \/><\/p>\n<p>Start your Build Insights .etl trace capture with the click of a button.<\/p>\n<p><img decoding=\"async\" class=\"wp-image-244383\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/inserting-image-1-3.png\" alt=\"Inserting image...\" width=\"1067\" height=\"601\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/inserting-image-1-3.png 1099w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/inserting-image-1-3-300x169.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/inserting-image-1-3-1024x577.png 1024w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/inserting-image-1-3-768x433.png 768w\" sizes=\"(max-width: 1067px) 100vw, 1067px\" \/><\/p>\n<p>After compilation, Build Insights will create a diagnostic report that allows you to see function generation time as well as ForceInlinees.<\/p>\n<p>We are committed to continually improving Build Insights. The current integration of Build Insights you see today represents only a fragment of what we have in store for you. Which workflows are important to you? Please let us know in <a href=\"https:\/\/developercommunity.visualstudio.com\/t\/have-full-integration-of-build-insights-within-vis\/810960\">this Developer Community Ticket.<\/a><\/p>\n<h4>Make member function const hints<\/h4>\n<p>You can now use this new feature that suggests making a member function const if it logically should not modify the object&#8217;s state. The use of const member functions is crucial for achieving const-correctness in C++ code. When a member function is declared as const, it can be safely invoked on const objects, enabling you to create const-correct code and avoid unexpected side effects when working with immutable objects.<\/p>\n<p>One of the advantages of utilizing const member functions is the enhanced safety and predictability they bring to the codebase. By clearly distinguishing between functions that modify the object&#8217;s state and those that do not, it becomes easier to reason about the behavior of different member functions.<\/p>\n<p>By hovering over a member function and clicking the light bulb icon, you can quickly access suggestions to mark the function as const.<\/p>\n<p><img decoding=\"async\" class=\"wp-image-244384\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-screenshot-of-a-computer-description-automatica-3.png\" alt=\"A screenshot of a computer Description automatically generated\" width=\"807\" height=\"261\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-screenshot-of-a-computer-description-automatica-3.png 1002w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-screenshot-of-a-computer-description-automatica-3-300x97.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-screenshot-of-a-computer-description-automatica-3-768x248.png 768w\" sizes=\"(max-width: 807px) 100vw, 807px\" \/><\/p>\n<p>By default, this feature is set as a suggestion, indicated by three dots below the function. To configure the setting, navigate to Tools &gt; Options &gt; Text Editor &gt; C\/C++ &gt; Code Style &gt; Linter.<\/p>\n<p><img decoding=\"async\" class=\"wp-image-244385\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-screenshot-of-a-computer-description-automatica-4.png\" alt=\"A screenshot of a computer Description automatically generated\" width=\"673\" height=\"184\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-screenshot-of-a-computer-description-automatica-4.png 732w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-screenshot-of-a-computer-description-automatica-4-300x82.png 300w\" sizes=\"(max-width: 673px) 100vw, 673px\" \/><\/p>\n<h4>Size and Alignment Hints<\/h4>\n<p>Size and alignment hints are now available in Visual Studio 2022 17.8 Preview 1. With this feature, you can effortlessly check the size and alignment of classes, structs, unions, base types, and enums right within your code editor, without the need to compile your code. When you hover over these elements, Quick Info will display their size and alignment information. You have the flexibility to hover over the names of classes, structs, or unions anywhere they appear in your code, not just at their declarations. This eliminates the need to scroll and search for their declarations, allowing you to effortlessly access their size and alignment information from any part of the codebase.<\/p>\n<p><img decoding=\"async\" width=\"1182\" height=\"263\" class=\"wp-image-244386\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-screen-shot-of-a-computer-code-description-auto.gif\" alt=\"A screen shot of a computer code Description automatically generated\" \/><\/p>\n<h2>Debugging and Diagnostics<\/h2>\n<h4>.NET Counters Tool in Debugging Scenario<\/h4>\n<p>The .NET Counter tool is now available within the diagnostics window now.<\/p>\n<p>This means even during debugging sessions; you can still leverage the power of .NET Counters to monitor and analyze critical performance metrics. Simply Select the &#8220;.NET Counters&#8221; option under the &#8220;Select Tool&#8221; dropdown to enable it.<\/p>\n<p>The tool&#8217;s seamless integration in both Performance Profiling and Debugging environments provides comprehensive insights and enhances their ability to optimize application performance effectively.<\/p>\n<p><img decoding=\"async\" width=\"1449\" height=\"804\" class=\"wp-image-244387\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-screenshot-of-a-computer-description-automatica-5.png\" alt=\"A screenshot of a computer Description automatically generated\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-screenshot-of-a-computer-description-automatica-5.png 1449w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-screenshot-of-a-computer-description-automatica-5-300x166.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-screenshot-of-a-computer-description-automatica-5-1024x568.png 1024w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-screenshot-of-a-computer-description-automatica-5-768x426.png 768w\" sizes=\"(max-width: 1449px) 100vw, 1449px\" \/><\/p>\n<h2>Razor Tooling<\/h2>\n<h4>Code Action for Event Handler Method Generation<\/h4>\n<p>If you\u2019re using an event like @onclick or @onactivate to reference a C# method that hasn\u2019t been defined yet, you can use a new Razor code action to automatically generate that event handler method. This code action also supports custom event arguments.<\/p>\n<p><img decoding=\"async\" width=\"928\" height=\"551\" class=\"wp-image-244388\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-screen-shot-of-a-computer-description-automatic.gif\" alt=\"A screen shot of a computer Description automatically generated\" \/><\/p>\n<h4>Background Color for C# Code<\/h4>\n<p>For those who prefer it, you now have the option to add a background color for C# code located within Razor files. Turned off by default, enable this option by going to <strong>Tools &gt; Options &gt; Text Editor &gt; Razor &gt; Advanced<\/strong> and setting <strong>Background for C# Code<\/strong> to <strong>True<\/strong>.<\/p>\n<p><img decoding=\"async\" width=\"817\" height=\"192\" class=\"wp-image-244389\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-screen-shot-of-a-computer-program-description-a.png\" alt=\"A screen shot of a computer program Description automatically generated\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-screen-shot-of-a-computer-program-description-a.png 817w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-screen-shot-of-a-computer-program-description-a-300x71.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-screen-shot-of-a-computer-program-description-a-768x180.png 768w\" sizes=\"(max-width: 817px) 100vw, 817px\" \/><\/p>\n<h2>JavaScript and TypeScript Development<\/h2>\n<h4>New React TypeScript and ASP.NET Combined Templates<\/h4>\n<p>When we initially released the JavaScript\/TypeScript with ASP.NET Combined Templates in this <a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/exploring-javascript-and-typescript-development-in-visual-studio\/\">blog post,<\/a> we got feedback that users deserve a better React TypeScript project creation experience. We listened to the feedback and provided a new React TypeScript with ASP.NET combined template where you get the tsconfig and SpaProxy set up out of the box. Check it out if you are developing React TypeScript together with ASP.NET!<\/p>\n<p><img decoding=\"async\" class=\"wp-image-244390\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-screenshot-of-a-computer-program-description-au-3.png\" alt=\"A screenshot of a computer program Description automatically generated\" width=\"737\" height=\"801\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-screenshot-of-a-computer-program-description-au-3.png 937w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-screenshot-of-a-computer-program-description-au-3-276x300.png 276w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-screenshot-of-a-computer-program-description-au-3-768x834.png 768w\" sizes=\"(max-width: 737px) 100vw, 737px\" \/><\/p>\n<h2>Testing<\/h2>\n<h4>New IntelliTest now in Preview<\/h4>\n<p>IntelliTest explores your .NET code to generate test suites with high code coverage. Powered by the latest version of the Z3 problem solver, it generates a varied set of inputs (scoped to those that improve code coverage) that are then plugged into what we call parameterized unit tests for each of your methods. When you Generate Tests, you have the ability to select which tests you\u2019d like to preserve into a test project that can serve as your regression suite. As your code is updated, you can rerun IntelliTest to keep the generated tests in sync with your code.<\/p>\n<p>Previous implementations of this Enterprise Edition feature only supported code targeting .NET Framework and did not support x64 configuration. This updated version includes the following:<\/p>\n<ul>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/add-intellitest-support-for-net-corestandard\/359250\">Add IntelliTest support for .NET Core\/Standard &#8211; Developer Community (visualstudio.com)<\/a><\/li>\n<li><a href=\"https:\/\/developercommunity.visualstudio.com\/t\/Add-IntelliTest-support-for-x64\/501088?q=intellitest+x64\">Add IntelliTest support for x64 &#8211; Developer Community (visualstudio.com)<\/a><\/li>\n<\/ul>\n<p>Give it a try on your projects today by enabling the feature through Tools &gt; Manage Preview Features and selecting IntelliTest support for NetFx and Net6 using Z3 v4 (requires restart).<\/p>\n<p><img decoding=\"async\" class=\"wp-image-244391\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-close-up-of-a-sign-description-automatically-ge.png\" alt=\"A close up of a sign Description automatically generated\" width=\"738\" height=\"86\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-close-up-of-a-sign-description-automatically-ge.png 859w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-close-up-of-a-sign-description-automatically-ge-300x35.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/a-close-up-of-a-sign-description-automatically-ge-768x89.png 768w\" sizes=\"(max-width: 738px) 100vw, 738px\" \/><\/p>\n<p>Then in your code, right click within a method and select IntelliTest (Preview) and either Create Project to create a project where your tests can be saved or Generate Tests to generate a set of tests to review and decide which ones to keep.<\/p>\n<p><img decoding=\"async\" class=\"wp-image-244392\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/word-image-244370-20.png\" width=\"883\" height=\"100\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/word-image-244370-20.png 1042w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/word-image-244370-20-300x34.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/word-image-244370-20-1024x116.png 1024w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2023\/08\/word-image-244370-20-768x87.png 768w\" sizes=\"(max-width: 883px) 100vw, 883px\" \/><\/p>\n<h2 style=\"text-align: left;\">Share your feedback and stay connected with Visual Studio!<\/h2>\n<p style=\"text-align: center;\"><iframe src=\"https:\/\/www.surveymonkey.com\/r\/BZRDMDF\" width=\"760\" height=\"350\"><\/iframe><\/p>\n<p>We appreciate the time you\u2019ve spent reporting issues\/suggestions and hope you continue to give us feedback when using Visual Studio on what you like and what we can improve. Your feedback is critical to help us make Visual Studio the best tool it can be! You can share feedback with us via\u00a0<a href=\"https:\/\/developercommunity.visualstudio.com\/home&quot; \\t &quot;_blank\">Developer Community<\/a>: report any bugs or issues via\u00a0<a href=\"https:\/\/docs.microsoft.com\/visualstudio\/ide\/how-to-report-a-problem-with-visual-studio\">report a problem<\/a>\u00a0and\u00a0<a href=\"https:\/\/developercommunity.visualstudio.com\/report?space=8&amp;entry=suggestion\">share your suggestions<\/a>\u00a0for new features or improvements to existing ones.<\/p>\n<p>Stay connected with the Visual Studio team by following us on <a href=\"https:\/\/www.youtube.com\/@visualstudio\">YouTube<\/a>, <a href=\"https:\/\/twitter.com\/VisualStudio\">Twitter<\/a>, <a href=\"https:\/\/www.linkedin.com\/showcase\/microsoft-visual-studio\/\">LinkedIn<\/a>, <a href=\"https:\/\/www.twitch.tv\/visualstudio\">Twitch<\/a> and on <a href=\"https:\/\/learn.microsoft.com\/en-us\/visualstudio\/?view=vs-2022\">Microsoft Learn<\/a>.<\/p>\n<p>On behalf of the whole Visual Studio team, thanks for reading and Happy Coding!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\ufeff Hot on the heels of the General Availability of Visual Studio v17.7, (Visual Studio 2022 \u2013 17.7 Now Available) we&#8217;re thrilled to introduce the next set of enhancements that aim to streamline your workflow and boost your productivity. In this preview, we&#8217;re bringing you features that can significantly improve your day-to-day tasks. From creating [&hellip;]<\/p>\n","protected":false},"author":64133,"featured_media":255385,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[155],"tags":[],"class_list":["post-244370","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-visual-studio"],"acf":[],"blog_post_summary":"<p>\ufeff Hot on the heels of the General Availability of Visual Studio v17.7, (Visual Studio 2022 \u2013 17.7 Now Available) we&#8217;re thrilled to introduce the next set of enhancements that aim to streamline your workflow and boost your productivity. In this preview, we&#8217;re bringing you features that can significantly improve your day-to-day tasks. From creating [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts\/244370","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/users\/64133"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/comments?post=244370"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts\/244370\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/media\/255385"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/media?parent=244370"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/categories?post=244370"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/tags?post=244370"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}