{"id":3218,"date":"2023-05-17T12:00:51","date_gmt":"2023-05-17T16:00:51","guid":{"rendered":"https:\/\/blog.wholetomato.com\/?p=3218"},"modified":"2023-11-03T11:42:25","modified_gmt":"2023-11-03T15:42:25","slug":"visual-assist-2023-2-released","status":"publish","type":"post","link":"https:\/\/stage.wholetomato.com\/blog\/visual-assist-2023-2-released\/","title":{"rendered":"Visual Assist 2023.2 released"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">The second update to Visual Assist in 2023 is here. This update features an extensive series of upgrades to code inspections, shader extension support, and a number of quality fixes to the IDE. <a href=\"https:\/\/www.wholetomato.com\/downloads\">Download the latest version<\/a> of Visual Assist now.<\/span><\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_76 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\r\n<div class=\"ez-toc-title-container\"><p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\r\n<\/div><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/stage.wholetomato.com\/blog\/visual-assist-2023-2-released\/#Greatly_expanded_code_inspections_with_over_100_new_Clang_Tidy_checks\" >Greatly expanded code inspections with over 100 new Clang Tidy checks<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/stage.wholetomato.com\/blog\/visual-assist-2023-2-released\/#Extended_Shader_File_Customization\" >Extended Shader File Customization<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/stage.wholetomato.com\/blog\/visual-assist-2023-2-released\/#Integrated-style_extensions_menu_pre-Visual_Studio_2019\" >Integrated-style extensions menu (pre-Visual Studio 2019)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/stage.wholetomato.com\/blog\/visual-assist-2023-2-released\/#Implement_Virtual_Methods_context_menu_option_to_check_uncheck_all\" >Implement Virtual Methods context menu option to check \/ uncheck all.<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/stage.wholetomato.com\/blog\/visual-assist-2023-2-released\/#Bug_Fixes\" >Bug Fixes<\/a><\/li><\/ul><\/nav><\/div>\r\n<h2><span class=\"ez-toc-section\" id=\"Greatly_expanded_code_inspections_with_over_100_new_Clang_Tidy_checks\"><\/span><span style=\"font-weight: 400;\">Greatly expanded code inspections with over 100 new Clang Tidy checks<\/span><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><span style=\"font-weight: 400;\">The biggest item in this release is the added support for all code checks available from Clang Tidy. Code inspections are semi-automatic checks that prompt the user when Visual Assist\u00e2\u20ac\u2122s engine recognizes outdated syntax or an otherwise correctable code issue.\u00c2\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">For context, <a href=\"https:\/\/www.wholetomato.com\/features\/feature-code-inspection\">Visual Assist\u00e2\u20ac\u2122s code inspection<\/a> is based on a series of checks from LLVM Clang Tidy. And before we add support for a new check, we rigorously test it for accuracy and compatibility. This process ensures that the check will give consistent suggestions for almost all use cases. In fact, this is the process undertaken for the two new added code inspections in this release\u00e2\u20ac\u201dmore on them later.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">What we\u00e2\u20ac\u2122ve added is the ability to use <\/span><span style=\"font-weight: 400;\">unevaluated Clang Tidy checkers as Code Inspections straight from Visual Assist. This greatly expands the types of code issues that can be detected with code inspections enabled. There is a slight tradeoff in that you may need to do some manual testing when using unvetted checks. Take a look at the full documented <\/span><a href=\"https:\/\/releases.llvm.org\/15.0.0\/tools\/clang\/tools\/extra\/docs\/clang-tidy\/checks\/list.html\"><span style=\"font-weight: 400;\">list of Clang Tidy checks<\/span><\/a><span style=\"font-weight: 400;\">.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The latest addition to our list of vetted code inspections are for <\/span><a href=\"https:\/\/clang.llvm.org\/extra\/clang-tidy\/checks\/bugprone\/swapped-arguments.html\"><span style=\"font-weight: 400;\">bugprone-swapped-arguments<\/span><\/a><span style=\"font-weight: 400;\"> and <\/span><a href=\"https:\/\/clang.llvm.org\/extra\/clang-tidy\/checks\/bugprone\/argument-comment.html\"><span style=\"font-weight: 400;\">bugprone-argument-comment<\/span><\/a><span style=\"font-weight: 400;\">. <\/span><span style=\"font-weight: 400;\">These checks look for potentially swapped arguments by looking at implicit conversions and detect typos in argument comments and suggest automated fixes for them<\/span><span style=\"font-weight: 400;\">, respectively.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Lastly, we\u00e2\u20ac\u2122re also announcing that code inspection is officially out of beta and is now running on Clang engine version 15.0. The beta label is mostly a formality and all functionality should function the same. If you haven\u00e2\u20ac\u2122t, we highly advise <\/span><a href=\"https:\/\/docs.wholetomato.com\/default.asp?W760\"><span style=\"font-weight: 400;\">enabling code inspections.<\/span><\/a><\/p>\n<div id=\"attachment_3221\" style=\"width: 643px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/05\/Code-Level.png?ssl=1\"><img decoding=\"async\" aria-describedby=\"caption-attachment-3221\" data-attachment-id=\"3221\" data-permalink=\"https:\/\/stage.wholetomato.com\/blog\/visual-assist-2023-2-released\/code-level\/\" data-orig-file=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/05\/Code-Level.png?fit=633%2C216&amp;ssl=1\" data-orig-size=\"633,216\" 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=\"code inspection level\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/05\/Code-Level.png?fit=300%2C102&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/05\/Code-Level.png?fit=633%2C216&amp;ssl=1\" class=\"wp-image-3221 size-full\" src=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/05\/Code-Level.png?resize=633%2C216&#038;ssl=1\" alt=\"group code inspection by severity\" width=\"633\" height=\"216\" srcset=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/05\/Code-Level.png?w=633&amp;ssl=1 633w, https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/05\/Code-Level.png?resize=300%2C102&amp;ssl=1 300w, https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/05\/Code-Level.png?resize=360%2C123&amp;ssl=1 360w\" sizes=\"(max-width: 633px) 100vw, 633px\" data-recalc-dims=\"1\" \/><\/a><p id=\"caption-attachment-3221\" class=\"wp-caption-text\">Protip: When running comprehensive code inspection checks in a file, you can sort and group issues by level. Code inspection levels refer to an arbitrary metric representing severity given to a code check. Level one signifies critical, level five being on the level of a reminder, and zero refers to unflagged checks.<\/p><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Extended_Shader_File_Customization\"><\/span><span style=\"font-weight: 400;\">Extended Shader File Customization<\/span><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><a href=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/05\/Shader-Support-1.png?ssl=1\"><img decoding=\"async\" data-attachment-id=\"3226\" data-permalink=\"https:\/\/stage.wholetomato.com\/blog\/visual-assist-2023-2-released\/shader-support-1\/\" data-orig-file=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/05\/Shader-Support-1.png?fit=2630%2C1590&amp;ssl=1\" data-orig-size=\"2630,1590\" 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 Shader Support 1\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/05\/Shader-Support-1.png?fit=300%2C181&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/05\/Shader-Support-1.png?fit=1024%2C619&amp;ssl=1\" class=\"alignnone wp-image-3226 size-large\" src=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/05\/Shader-Support-1.png?resize=1024%2C619&#038;ssl=1\" alt=\"Visual Assist 2023.2 better Shader Support\" width=\"1024\" height=\"619\" srcset=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/05\/Shader-Support-1.png?resize=1024%2C619&amp;ssl=1 1024w, https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/05\/Shader-Support-1.png?resize=300%2C181&amp;ssl=1 300w, https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/05\/Shader-Support-1.png?resize=768%2C464&amp;ssl=1 768w, https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/05\/Shader-Support-1.png?resize=1536%2C929&amp;ssl=1 1536w, https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/05\/Shader-Support-1.png?resize=2048%2C1238&amp;ssl=1 2048w, https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/05\/Shader-Support-1.png?resize=360%2C218&amp;ssl=1 360w, https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/05\/Shader-Support-1.png?w=2280&amp;ssl=1 2280w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" data-recalc-dims=\"1\" \/><\/a><\/p>\n<p><span style=\"font-weight: 400;\">Due to consistent demand and great feedback, a significant portion has also been given to further improve our support for shader files. In fact, as of this release, it is in the last phases of beta testing and will most likely be available for general support very soon.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">In this release, you can now use custom shader file extensions (there are no longer extensions considered \u00e2\u20ac\u0153default\u00e2\u20ac\u009d). Coloring and syntax highlighting has also been drastically improved, with almost all bugs ironed out as well.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Enable support for shader file parsing by accessing<\/span><i><span style=\"font-weight: 400;\"> Visual Assist Options \u00e2\u2020\u2019 Game Development \u00e2\u2020\u2019 Enable support for shader files.<\/span><\/i><\/p>\n<p><a href=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/05\/Shader-Support-2.png?ssl=1\"><img decoding=\"async\" data-attachment-id=\"3228\" data-permalink=\"https:\/\/stage.wholetomato.com\/blog\/visual-assist-2023-2-released\/shader-support-2\/\" data-orig-file=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/05\/Shader-Support-2.png?fit=2001%2C1556&amp;ssl=1\" data-orig-size=\"2001,1556\" 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=\"Shader Support 2\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/05\/Shader-Support-2.png?fit=300%2C233&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/05\/Shader-Support-2.png?fit=1024%2C796&amp;ssl=1\" class=\"alignnone wp-image-3228\" src=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/05\/Shader-Support-2.png?resize=600%2C467&#038;ssl=1\" alt=\"Enable Visual Assist Shader Support\" width=\"600\" height=\"467\" srcset=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/05\/Shader-Support-2.png?resize=300%2C233&amp;ssl=1 300w, https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/05\/Shader-Support-2.png?resize=1024%2C796&amp;ssl=1 1024w, https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/05\/Shader-Support-2.png?resize=768%2C597&amp;ssl=1 768w, https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/05\/Shader-Support-2.png?resize=1536%2C1194&amp;ssl=1 1536w, https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/05\/Shader-Support-2.png?resize=360%2C280&amp;ssl=1 360w, https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/05\/Shader-Support-2.png?w=2001&amp;ssl=1 2001w\" sizes=\"(max-width: 600px) 100vw, 600px\" data-recalc-dims=\"1\" \/><\/a><\/p>\n<h2><span class=\"ez-toc-section\" id=\"Integrated-style_extensions_menu_pre-Visual_Studio_2019\"><\/span><span style=\"font-weight: 400;\">Integrated-style extensions menu (pre-Visual Studio 2019)<\/span><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><span style=\"font-weight: 400;\">In Visual Studio 2019, the toolbars and plugins were <a href=\"https:\/\/stage.wholetomato.com\/blog\/2019\/05\/03\/visual-studio-2019-moves-vassistx-to-extensions-menu\/\">rearranged<\/a>. Instead of being able to access your plugins in the main toolbar, you had to instead go under the Extensions menu.\u00c2\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">For the most part, this made sense\u00e2\u20ac\u201dit\u00e2\u20ac\u2122s easier to find all installed plugins and access their features correspondingly. However, for users who had one or a handful of plugins or are more comfortable using the mouse instead of shortcuts, the extra step might be bothersome (e.g. mouse users with only VAX installed).<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Some users expressed interest so we\u00e2\u20ac\u2122ve added the option for an integrated-style menu for extensions (similar to the pre-VS 2019 setup).\u00c2\u00a0<\/span><\/p>\n<div id=\"attachment_3230\" style=\"width: 1282px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/05\/VA-Legacy-Style-Menu-3-Combined.png?ssl=1\"><img decoding=\"async\" aria-describedby=\"caption-attachment-3230\" data-attachment-id=\"3230\" data-permalink=\"https:\/\/stage.wholetomato.com\/blog\/visual-assist-2023-2-released\/va-legacy-style-menu-3-combined\/\" data-orig-file=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/05\/VA-Legacy-Style-Menu-3-Combined.png?fit=1272%2C648&amp;ssl=1\" data-orig-size=\"1272,648\" 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=\"VA Integrated Style Menu\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/05\/VA-Legacy-Style-Menu-3-Combined.png?fit=300%2C153&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/05\/VA-Legacy-Style-Menu-3-Combined.png?fit=1024%2C522&amp;ssl=1\" class=\"wp-image-3230 size-full\" src=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/05\/VA-Legacy-Style-Menu-3-Combined.png?resize=1140%2C581&#038;ssl=1\" alt=\"\" width=\"1140\" height=\"581\" srcset=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/05\/VA-Legacy-Style-Menu-3-Combined.png?w=1272&amp;ssl=1 1272w, https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/05\/VA-Legacy-Style-Menu-3-Combined.png?resize=300%2C153&amp;ssl=1 300w, https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/05\/VA-Legacy-Style-Menu-3-Combined.png?resize=1024%2C522&amp;ssl=1 1024w, https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/05\/VA-Legacy-Style-Menu-3-Combined.png?resize=768%2C391&amp;ssl=1 768w, https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/05\/VA-Legacy-Style-Menu-3-Combined.png?resize=360%2C183&amp;ssl=1 360w\" sizes=\"(max-width: 1140px) 100vw, 1140px\" data-recalc-dims=\"1\" \/><\/a><p id=\"caption-attachment-3230\" class=\"wp-caption-text\">This new menu mode can be enabled via <em>Extensions \u00e2\u2020\u2019 VAssistX \u00e2\u2020\u2019 Visual Assist Options \u00e2\u2020\u2019 Display \u00e2\u2020\u2019 Switch to Legacy Style Main Menu<\/em>.<\/p><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Implement_Virtual_Methods_context_menu_option_to_check_uncheck_all\"><\/span><span style=\"font-weight: 400;\">Implement Virtual Methods context menu option to check \/ uncheck all.<\/span><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><span style=\"font-weight: 400;\">The last of the new features in this release is a quality of life change. Inheriting from other classes is made much easier and intuitive using the <\/span><a href=\"https:\/\/stage.wholetomato.com\/blog\/2014\/05\/23\/implementing-virtual-methods-with-visual-assist\/\"><span style=\"font-weight: 400;\">Implement Virtual Methods<\/span><\/a><span style=\"font-weight: 400;\"> feature.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">While in the dialog, we added a small tweak that allows users to check and uncheck all possible methods using a simple checkbox. Neat little addition, we hope.<\/span><\/p>\n<div id=\"attachment_3232\" style=\"width: 1034px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/05\/Implement-Virtual-methods-with-check.png?ssl=1\"><img decoding=\"async\" aria-describedby=\"caption-attachment-3232\" data-attachment-id=\"3232\" data-permalink=\"https:\/\/stage.wholetomato.com\/blog\/visual-assist-2023-2-released\/implement-virtual-methods-with-check\/\" data-orig-file=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/05\/Implement-Virtual-methods-with-check.png?fit=1912%2C1474&amp;ssl=1\" data-orig-size=\"1912,1474\" 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=\"Implement Virtual methods with check\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/05\/Implement-Virtual-methods-with-check.png?fit=300%2C231&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/05\/Implement-Virtual-methods-with-check.png?fit=1024%2C789&amp;ssl=1\" class=\"wp-image-3232 size-large\" src=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/05\/Implement-Virtual-methods-with-check.png?resize=1024%2C789&#038;ssl=1\" alt=\"\" width=\"1024\" height=\"789\" srcset=\"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/05\/Implement-Virtual-methods-with-check.png?resize=1024%2C789&amp;ssl=1 1024w, https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/05\/Implement-Virtual-methods-with-check.png?resize=300%2C231&amp;ssl=1 300w, https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/05\/Implement-Virtual-methods-with-check.png?resize=768%2C592&amp;ssl=1 768w, https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/05\/Implement-Virtual-methods-with-check.png?resize=1536%2C1184&amp;ssl=1 1536w, https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/05\/Implement-Virtual-methods-with-check.png?resize=360%2C278&amp;ssl=1 360w, https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/05\/Implement-Virtual-methods-with-check.png?w=1912&amp;ssl=1 1912w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" data-recalc-dims=\"1\" \/><\/a><p id=\"caption-attachment-3232\" class=\"wp-caption-text\">Visual Assist&#8217;s Implement Virtual Methods feature provides a neat little dialog to make inheriting from other classes quick and intuitive.<\/p><\/div>\n<p>&nbsp;<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Bug_Fixes\"><\/span><span style=\"font-weight: 400;\">Bug Fixes<\/span><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Fixed issue where installer exe could report errors after a successful install.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Improved auto type deduction for const, pointers and chained function calls.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Fixed issue where Code Inspections could fail with the latest MSVC includes.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Fixed issue where shader coloring may not be applied to the correct file extensions.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Fixed issue where shader coloring sometimes not applied to files opened automatically on solution load.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Fixed issues which could lead to the VA Navigation Bar being drawn incorrectly.\u00c2\u00a0\u00c2\u00a0<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Fixed issues which could lead to missing icons.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Improved tab completion in C# to interact better with build in tooling.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Fixed minor visual theming issues in various VA dialogs.\u00c2\u00a0<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Much thanks to those who submitted their feedback and bug reports. Keep \u00e2\u20ac\u02dcem coming. Send us a <\/span><a href=\"mailto:support@wholetomato.com\"><span style=\"font-weight: 400;\">message<\/span><\/a><span style=\"font-weight: 400;\"> or start a thread on the <\/span><a href=\"https:\/\/forums.wholetomato.com\/forum\/default.asp\"><span style=\"font-weight: 400;\">user forums<\/span><\/a><span style=\"font-weight: 400;\"> for bug reports or suggestions. Happy coding!<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The second update to Visual Assist in 2023 is here. This update features an extensive series of upgrades to code inspections, shader extension support, and a number of quality fixes to the IDE. Download the&#8230;<\/p>\n","protected":false},"author":213500340,"featured_media":3220,"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],"tags":[2426,726359795,1509023,12004844,6678,726359847],"class_list":["post-3218","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-build-announcements","tag-c","tag-c-game-development","tag-clang","tag-visual-assist","tag-visual-studio","tag-visual-studio-extensions"],"aioseo_notices":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/stage.wholetomato.com\/blog\/wp-content\/uploads\/2023\/05\/Copy-of-21-WT-UPDATE_Visual-Assist-2023.1-New-Release-_660x300.png?fit=660%2C300&ssl=1","jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pfhqii-PU","amp_enabled":true,"_links":{"self":[{"href":"https:\/\/stage.wholetomato.com\/blog\/wp-json\/wp\/v2\/posts\/3218","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\/213500340"}],"replies":[{"embeddable":true,"href":"https:\/\/stage.wholetomato.com\/blog\/wp-json\/wp\/v2\/comments?post=3218"}],"version-history":[{"count":15,"href":"https:\/\/stage.wholetomato.com\/blog\/wp-json\/wp\/v2\/posts\/3218\/revisions"}],"predecessor-version":[{"id":3491,"href":"https:\/\/stage.wholetomato.com\/blog\/wp-json\/wp\/v2\/posts\/3218\/revisions\/3491"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/stage.wholetomato.com\/blog\/wp-json\/wp\/v2\/media\/3220"}],"wp:attachment":[{"href":"https:\/\/stage.wholetomato.com\/blog\/wp-json\/wp\/v2\/media?parent=3218"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/stage.wholetomato.com\/blog\/wp-json\/wp\/v2\/categories?post=3218"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/stage.wholetomato.com\/blog\/wp-json\/wp\/v2\/tags?post=3218"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}