What's New in Visual Assist

General Release Build 2023.2 (2488)

Requires active software maintenance through general release date: 2023.04.25

NEW Code Inspections support for enabling unevaluated Clang Tidy checkers as Code Inspections.
NEW Option to remove Extensions menu in VS 2019+ for a legacy style menu.
NEW Greater customization for shader file extensions with no hardcoded extensions.
NEW Implement Virtual Methods context menu option to check / uncheck all.
NEW Beta label removed from Code Inspection. Try it out!
NEW Added Code Inspection for bugprone-swapped-arguments clang checker.
NEW Added Code Inspection for bugprone-argument-comment clang checker.
NEW Code Inspections Clang engine updated to version 15.0.

Summary:

VA 2023.2 is now available for download! This release highlights broadening the scope of code inspections, giving it unrestricted access to the entire library of code checks from Clang. Several steps have also been taken to make code inspections more up-to-date and more accessible.

There are also a wealth of general improvements such as enhanced shader file recognition for more file types and a new option to revert to the legacy UI for the extension menu.

Some quality of life tweaks and bug fixes have also been made based on your requests—read on further in the blog for more details. Learn more about what we added and changed in this release in our release announcement blog post.

Bug Fixes:

  • Fixed issue where installer exe could report errors after a successful install.
  • Improved auto type deduction for const, pointers and chained function calls.
  • Fixed issue where Code Inspections could fail with the latest MSVC includes.
  • Fixed issue where shader coloring may not be applied to the correct file extensions.
  • Fixed issue where shader coloring sometimes not applied to files opened automatically on solution load.
  • Fixed issues which could lead to the VA Navigation Bar being drawn incorrectly.
  • Fixed issues which could lead to missing icons.
  • Improved tab completion in C# to interact better with build in tooling.
  • Fixed minor visual theming issues in various VA dialogs.

General Release Build 2023.1 (2476)

Requires active software maintenance through general release date: 2023.01.19

NEW C++: Improved parser auto type deduction for pointers.
NEW C#: Improved parser support for C# tuple deconstruction.
NEW C++: Add parser support for C++ 17's structured binding from a constructor.
NEW Added support for custom shader file extensions.
NEW Improved code formatting when pasting Unreal Engine source code.
NEW Added UI to Find References results to repeat a search for the entire solution.
NEW C++: Code inspections for bugprone-inaccurate-erase and bugprone-bool-pointer-implicit-conversion.

VA 2023.1 is an extensive update bringing a wide range of improvements for a variety of functions—useful for all types of developers. Many of the updates included are a result of your continuous feedback and bug reports, so keep ‘em coming!

READ: Announcement blog (with screenshots).



First in our list of updates are a number of parser improvements.

  • Auto type deduction comprehension has been improved. This is especially apparent when using pointers that also reference other pointers.
  • In C#, the parser now recognizes multiple variables from a struct (tuple deconstruction)—allowing all VA’s features to work properly.
  • Similarly, the parser now recognizes a lookalike case when auto assigning multiple variables from a constructor (ie. C++17’s structured binding).

Next up, Visual Assist showcases continued improvements to shader files support, which we released a few months back. You can now instruct VA to read custom file types as shader files by specifying the file extension in a dialog.

This release also has an Unreal Engine-specific tweak. Similar to how VA removes automatic indentation when entering a new line, copy and pasting sections of Unreal code will also ignore those indents. This is something our Unreal customers will likely really love - a definite quality of life improvement within Visual Studio.

And a PSA for those who have found that results shown by find references seem to be incomplete sometimes: you have to specify the scope of the search (ie. just the open project or the entire solution). This release adds a new UI notification to make it more apparent.

If you want to learn more about the benefits that these updates provide, head on over to our blog post.

Bug Fixes

  • Fixed issue where icons may be missing in Visual Studio 2022.
  • Fixed issue where folders / JSON files may be unnecessarily created when hovering the mouse cursor over symbols.
  • Fixed convert suggestion listbox keyboard shortcut display to update when the shortcut is changed.Please adapt the copy to whatever font, font size, and formatting we use for the previous posts.

General Release Build 2022.4 (2463)

Requires active software maintenance through general release date: 2022.10.25

NEW Added support for C++17's structured binding declarations.
NEW Added coloring support for several HLSL types.
NEW Added a checkbox to honor excluded items settings defined in ".vscode\settings.json" when opening a folder.
NEW Added Code Inspection for bugprone-string-integer-assignment clang checker.

This release is centered around improvements to Visual Assist’s parser. The parser has been updated to recognize more modern C++ code. New features are introduced into C++ roughly once every three years and this change will keep Visual Assist on pace with the ever changing industry standards.

Visual Assist

VA now recognizes structured bindings introduced in C++17.

We’ve also added an option to honor VSCode settings when initializing projects. This comes at the request of some of our users who wished to keep parsing focused on relevant code, particularly when working in very large Cmake projects.

Apart from those, work on HLSL support from the last update has been continued, as well as a new code inspection check.

If you want to learn more about the changes in this release, head on over to the announcement blog post.

Bug Fixes

  • Fixed an issue where parser could become confused when using std::get and std::tuple.
  • Fixed an issue in C# where the parser did not understand parameter declared with "out int".
  • Fixed an issue where comments could be duplicated in tooltips.
  • Fixed an issue where VA's tooltips would not appear if IntelliSense was disabled.
  • Fixed an issue where the parser could become confused with case'1' inside a switch statement.
  • Fixed an issue where the VA Outline tooltip spread across two monitors with different DPI settings could cause hang.
  • Fixed an issue where the tomato icon may become black on hover in VS 2022.
  • Fixed an issue where a class method name that begins with "using" is missing from MIF.

Keep the reports coming. Send us a message or start a thread on the user forums for bug reports or suggestions.