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 latest version of Visual Assist now.
Table of Contents
Greatly expanded code inspections with over 100 new Clang Tidy checks
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’s engine recognizes outdated syntax or an otherwise correctable code issue.
For context, Visual Assist’s code inspection 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—more on them later.
What we’ve added is the ability to use 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 list of Clang Tidy checks.
The latest addition to our list of vetted code inspections are for bugprone-swapped-arguments and bugprone-argument-comment. These checks look for potentially swapped arguments by looking at implicit conversions and detect typos in argument comments and suggest automated fixes for them, respectively.
Lastly, we’re 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’t, we highly advise enabling code inspections.
Extended Shader File Customization
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.
In this release, you can now use custom shader file extensions (there are no longer extensions considered “default”). Coloring and syntax highlighting has also been drastically improved, with almost all bugs ironed out as well.
Enable support for shader file parsing by accessing Visual Assist Options → Game Development → Enable support for shader files.
Integrated-style extensions menu (pre-Visual Studio 2019)
In Visual Studio 2019, the toolbars and plugins were rearranged. Instead of being able to access your plugins in the main toolbar, you had to instead go under the Extensions menu.
For the most part, this made sense—it’s 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).
Some users expressed interest so we’ve added the option for an integrated-style menu for extensions (similar to the pre-VS 2019 setup).
Implement Virtual Methods context menu option to check / uncheck all.
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 Implement Virtual Methods feature.
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.
- 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.