{"id":1996,"date":"2021-08-12T13:48:00","date_gmt":"2021-08-12T17:48:00","guid":{"rendered":"https:\/\/blog.wholetomato.com\/?p=1996"},"modified":"2022-06-22T19:02:03","modified_gmt":"2022-06-22T23:02:03","slug":"visual-assist-support-for-visual-studio-2022-previews","status":"publish","type":"post","link":"https:\/\/stage.wholetomato.com\/blog\/visual-assist-support-for-visual-studio-2022-previews\/","title":{"rendered":"Visual Assist support for Visual Studio 2022 Previews!"},"content":{"rendered":"\r\n<p>There\u00e2\u20ac\u2122s a lot of interest in the developer community about the new version of Visual Studio, which is in preview currently. This week we released Visual Assist 2021.3 (build 2420), and Visual Assist includes beta support for the Visual Studio 2022 Previews.<\/p>\r\n\r\n\r\n\r\n<div class=\"wp-block-image\">\r\n<figure class=\"aligncenter size-large\"><a href=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2021\/08\/visual-assist-2021.3-in-visual-studio-preview-high-res.png?ssl=1\"><img decoding=\"async\" width=\"1140\" height=\"220\" data-attachment-id=\"2002\" data-permalink=\"https:\/\/stage.wholetomato.com\/blog\/visual-assist-support-for-visual-studio-2022-previews\/visual-assist-2021-3-in-visual-studio-preview-high-res\/\" data-orig-file=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2021\/08\/visual-assist-2021.3-in-visual-studio-preview-high-res.png?fit=1846%2C357&amp;ssl=1\" data-orig-size=\"1846,357\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"visual assist 2021.3 in visual studio preview &#8211; high res\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2021\/08\/visual-assist-2021.3-in-visual-studio-preview-high-res.png?fit=300%2C58&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2021\/08\/visual-assist-2021.3-in-visual-studio-preview-high-res.png?fit=1024%2C198&amp;ssl=1\" class=\"wp-image-2002\" src=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2021\/08\/visual-assist-2021.3-in-visual-studio-preview-high-res.png?resize=1140%2C220&#038;ssl=1\" alt=\"VAssistX menu open in the Visual Studio 2022 Extensions menu\" srcset=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2021\/08\/visual-assist-2021.3-in-visual-studio-preview-high-res.png?w=1846&amp;ssl=1 1846w, https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2021\/08\/visual-assist-2021.3-in-visual-studio-preview-high-res.png?resize=300%2C58&amp;ssl=1 300w, https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2021\/08\/visual-assist-2021.3-in-visual-studio-preview-high-res.png?resize=1024%2C198&amp;ssl=1 1024w, https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2021\/08\/visual-assist-2021.3-in-visual-studio-preview-high-res.png?resize=768%2C149&amp;ssl=1 768w, https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2021\/08\/visual-assist-2021.3-in-visual-studio-preview-high-res.png?resize=1536%2C297&amp;ssl=1 1536w, https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2021\/08\/visual-assist-2021.3-in-visual-studio-preview-high-res.png?resize=360%2C70&amp;ssl=1 360w\" sizes=\"(max-width: 1140px) 100vw, 1140px\" data-recalc-dims=\"1\" \/><\/a>\r\n<figcaption>Visual Assist 2021.3 running inside Visual Studio 2022 Preview 3<\/figcaption>\r\n<\/figure>\r\n<\/div>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Visual Studio Preview<\/h2>\r\n\r\n\r\n\r\n<p>Visual Studio (VS) 2022\u00e2\u20ac\u2122s main change\u00e2\u20ac\u201dand it\u00e2\u20ac\u2122s a significant one\u00e2\u20ac\u201dis that it will become a <a href=\"https:\/\/visualstudio.microsoft.com\/vs\/preview\/\" target=\"_blank\" rel=\"noreferrer noopener\">64-bit process<\/a>. Since Visual Assist (VA or VAX) runs as a plugin, in-process, we needed to build a 64-bit version of our plugin DLL. Those who have upgraded 32-bit code to 64-bit code before know that, even in well-architected code, it takes some work even just to review code to ensure it is correct. In addition, the new version adds and modifies a number of APIs we rely on to interact with the IDE. Adapting to those was the most significant change for us.<\/p>\r\n\r\n\r\n\r\n<p>We\u00e2\u20ac\u2122ve tested fully against <strong>VS 2022 Preview 2<\/strong>, and in fact the installer says \u00e2\u20ac\u02dcPreview 2\u00e2\u20ac\u2122. There are some known regressions:<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>VA Quick Info not appearing when triggered by keyboard in VS 2022 [case: 146063]<\/li>\r\n<li>Source Links example plugin does not load in VS 2022 [case: 146012]<\/li>\r\n<li>Changing from Cascadia to another font for italicized system symbols requires restart in VS 2022 [case: 145979]<\/li>\r\n<li>plus a few others.<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<p><strong>Visual Studio 2022 Preview 3<\/strong> was released two days ago\u00e2\u20ac\u201doverlapping timing with our release\u00e2\u20ac\u201dand our regression tests are showing some failures. Currently we believe those are because of changed behaviour in a Visual Studio API which we use when verifying in-IDE behaviour (ie not an issue in VAX itself), but it is always possible that once that is resolved further test failures will need to be resolved. However, we believe the current build is well worth trying out on Preview 3 as well.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Performance<\/h2>\r\n\r\n\r\n\r\n<p>Many of our customers strain the Visual Studio IDE, with many plugins and SDKs installed. Both to help them, and because we believe it\u00e2\u20ac\u2122s part of being a good member of the Visual Studio ecosystem where our plugin sits alongside others, last November we greatly reduced the in-process memory usage largely through (spoiler: the <a href=\"https:\/\/stage.wholetomato.com\/blog\/2020\/12\/17\/technical-deep-dive-reducing-memory-consumption-in-visual-assist-build-2393\/\" target=\"_blank\" rel=\"noreferrer noopener\">full blog is worth reading<\/a>) use of memory-mapped files.<\/p>\r\n\r\n\r\n\r\n<p>Now that Visual Studio 2022 is a 64-bit process, that work is not necessary for VS2022. For older versions of Visual Studio, those techniques are still used, so if you\u00e2\u20ac\u2122re using VS 2019 or even VS 2005 with Visual Assist 2021.3, you\u00e2\u20ac\u2122ll still benefit from the lighter memory impact within the IDE.<\/p>\r\n\r\n\r\n\r\n<p>When we did that work, we also focused on performance to ensure that the changes to memory access had either zero or a positive impact. The blog notes that for heavy usage, we had equal performance; for small projects, VAX actually was a bit faster. Despite no longer needing the memory usage code we added, VS 2022 benefits from that performance work as well, plus some more work we\u00e2\u20ac\u2122ve done while adding support. Since it\u00e2\u20ac\u2122s a beta build, and Visual Studio itself is in preview, we do not have hard numbers. But a rough guideline is that an operation like Find References that previously may have taken (say) two minutes will now take about one minute twenty seconds, or about two thirds the time.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Overall<\/h2>\r\n\r\n\r\n\r\n<p>It\u00e2\u20ac\u2122s historically been very important to us to have swift support for new versions of Visual Studio, and this work is our foundation for quickly officially supporting Visual Studio 2022 when it is officially released. While the main focus of this release was VS 2022 support, there are other changes as well in 2021.3, which we\u00e2\u20ac\u2122ll document in the What\u00e2\u20ac\u2122s New. We know we have many customers using older versions of Visual Studio, and as well as those improvements today you can look forward to further improvements focusing on other, non-VS areas as we switch back to a more normal focus in our next release.<\/p>\r\n\r\n\r\n\r\n<p>We\u00e2\u20ac\u2122re really happy to be able to ship beta support for the Visual Studio 2022 previews, and providing an even faster Visual Assist is a happy bonus. We\u00e2\u20ac\u2122ll continue to work and look forward to shipping full support when Visual Studio publishes its final release.<\/p>\r\n\r\n\r\n\r\n<p><a href=\"https:\/\/wholetomato.com\/downloads\">Visual Assist 2021.3 is available for download<\/a> on our website now, and will be on the Visual Studio Marketplace in a few days. Enjoy!<\/p>\r\n","protected":false},"excerpt":{"rendered":"<p>Visual Assist 2021.3 is out now, and includes beta support for the Visual Studio 2022 Previews!<\/p>\n","protected":false},"author":157625651,"featured_media":2002,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","_jetpack_newsletter_access":"","_jetpack_newsletter_tier_id":0,"footnotes":""},"categories":[10673833,103],"tags":[9247,9246,6678,717708410],"class_list":["post-1996","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-build-announcements","category-news","tag-beta","tag-preview","tag-visual-studio","tag-visual-studio-2022"],"aioseo_notices":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2021\/08\/visual-assist-2021.3-in-visual-studio-preview-high-res.png?fit=1846%2C357&ssl=1","jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pfhqii-wc","amp_enabled":true,"_links":{"self":[{"href":"https:\/\/stage.wholetomato.com\/blog\/wp-json\/wp\/v2\/posts\/1996","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/stage.wholetomato.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/stage.wholetomato.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/stage.wholetomato.com\/blog\/wp-json\/wp\/v2\/users\/157625651"}],"replies":[{"embeddable":true,"href":"https:\/\/stage.wholetomato.com\/blog\/wp-json\/wp\/v2\/comments?post=1996"}],"version-history":[{"count":8,"href":"https:\/\/stage.wholetomato.com\/blog\/wp-json\/wp\/v2\/posts\/1996\/revisions"}],"predecessor-version":[{"id":2567,"href":"https:\/\/stage.wholetomato.com\/blog\/wp-json\/wp\/v2\/posts\/1996\/revisions\/2567"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/stage.wholetomato.com\/blog\/wp-json\/wp\/v2\/media\/2002"}],"wp:attachment":[{"href":"https:\/\/stage.wholetomato.com\/blog\/wp-json\/wp\/v2\/media?parent=1996"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/stage.wholetomato.com\/blog\/wp-json\/wp\/v2\/categories?post=1996"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/stage.wholetomato.com\/blog\/wp-json\/wp\/v2\/tags?post=1996"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}