Great stuff happens all the time.

Check out what we've released recently in our steady stream of new features, support for IDE revisions, and important bug fixes.

General Release Build 2021.5 (2440)

Requires software maintenance through 2021.11.17

NEW Official support for Visual Studio 2022
UPDATE Code Inspection engine updated to LLVM/Clang version 13
NEW Added a new "Create Implementation" snippet for the _Validate version of Unreal Engine UNFUNCTIONs

As of November 22, Visual Assist has full support for Visual Studio 2022. To enjoy the benefits of the latest release, you can download the update here.

The VAX team has always been focused on trying to give you the best possible version of Visual Assist as fast as possible. The last few months are our testament to that commitment, and we are happy to share the progress of our work on VS 2022, starting with Preview 3, and 5, 6, and 7/RC, and now with support for the official VS2022 release. It shouldn’t come as a surprise that we consider this release a delightful milestone for Visual Assist. But more importantly, we hope you find it useful as well.

However, there are also useful updates and fixes that are beneficial for users who decide not to migrate to VS 2022 yet. For instance, all users can now enjoy the benefits of the LLVM/Clang version 13, plus other useful changes and fixes. A full list can be found in the official documentation.

For further reading or news regarding future releases, you can always check the team blog for any updates. The team is always looking for ways to improve the software, so any feedback would be more than welcome.

Visual Studio 2022

Visual Studio 2022

General Release Build 2021.4 (2435)

Requires software maintenance through 2021.10.28

NEW Support for new External Include Directories property in VS 2022
NEW Code Inspection engine updated to LLVM/Clang version 12.0.1
NEW Support for Visual Studio 2022 Preview 7 / RC 3

In this update, we wanted to step back from VS 2022 and instead focus on a well-rounded update for the entirety of Visual Assist and all its users.

  • One notable addition is the External Include Directory feature that helps with parsing files outside of normal path referencing.
  • There are also improvements to our code inspection feature that make it more accurate, more reliable, and in line with the latest LLVM/Clang version.
  • We’ve also added support for VS 2022 Preview to avoid triggering hangs present in previous previews. Our installer only calls out Preview 6, but that is working properly now, along with everything else.

Apart from those improvements, this update had a lot of housekeeping. Hopefully, this will address many of the performance-related issues, especially with Visual Studio 2019.

For example, you can expect the UI to be a lot more snappy and intuitive when using Find References. We also significantly reduced project load times when working with Unreal Engine projects. The Modify Expression is a relatively new addition, but we’ve also ironed out some unintended clunkiness. Last, minor adjustments were made to improve support for features that came with the C++11 release.

For an in-depth look at the changes we’ve made, head over to the release notes.

If you want to know more about the update or what the team is working on for future releases, you can go to the team blog. The Visual Assist team is always looking to improve the software, so if you have any feedback or suggestions, we highly encourage you to share them with us here.

Visual Studio 2022 Preview 7

General Release Build 2021.3 (2420)

Requires software maintenance through 2021.07.28

If you’re ready to move to Visual Studio 2022, so are we! In 2021.3 we introduced initial beta support for Preview 2 (and it’s worth using with Preview 3 as well - see our blog detailing the changes.). This represents a big leap for us through the move to the 64-bit architecture. As the VS IDE becomes more stable over the next few previews and releases we hope to release more improvements to take advantage of the new architecture. Much of our work in this release was done to move existing features to VS 2022, but for future releases we hope to add new features that were previously not possible. We are already seeing performance gains even in our current beta support and are excited to see this grow.

A huge thanks to our developers for making this happen. From the outside it might not seem like a big effort, but trust me, it was: our team went through bug after bug and feature after feature to verify compatibility, including checking if each feature was even still necessary, plus of course all the work to adapt to the new architecture and APIs. We’re really happy that we were able to get this out the door and welcome your feedback.

To take that a step further, we are always looking for the next new feature. Our strategy has been to keep our product simple and working smoothly, but if there’s something you’d like to see, let us know!

Visual Studio 2022

On top of Visual Studio 2022 Preview 2 support, we’ve also updated our Code Inspection engine to LLVM/Clang 12. While improvements may be modest, we will continue to keep up with the latest Clang.

NEW 64-bit architecture exclusive to Visual Studio 2022.
NEW Code Inspection engine updated to LLVM/Clang version 12. (case=145716)

Bug Fixes

  • Fix for regression where VA Hashtags from unloaded solutions may appear in the current solution. (case=144570)
  • Fix for floating tomato button sometimes getting into a state where it does not disappear. (case=141400)
  • Fix for Source Links sometimes failing to load on startup of Visual Studio. (case=145899)
  • Fix for a Source Links visual glitch that may happen when adorning text alongside CodeLens. (case=144170)
  • Fix for Keyboard Shortcuts dialog documentation links not opening in a web browser. (case=145700)

To see the full list of features and bug fixes check out the release notes here and don’t forget to download.

General Release Build 2021.2 (2406)

Requires software maintenance through 2021.04.23

Our second major release of 2021 includes a few modifications to existing features that we think will be helpful as you develop using Visual Assist.

Specifically if working with Unreal Engine projects you’ve seen some performance improvements over the last few releases. In this release, we went a step further by adding controls to how UE projects are handled. To learn more about how we work with UE files, take a look at our latest blog from David Millington. Much of our improvements were done by excluding UE4 plugin files from parsing. This speed increase is great, but what if you want those files parsed? Or, how would you know if they are not parsed? We enhanced the UE4 parsing by adding some intelligence to our parser. For example, if a UE4 plugin is EnabledByDefault or is referenced by your project it will be parsed. If your project does not reference these plugins, they won’t be parsed automatically, but we’ve added settings to allow more granular control. To assist you along the way, we’ve added a notification when browsing plugin source files to alert you that a file was not included in parsing.

NEW VA will no longer parse Unreal Engine *.generated.h files. (case=119653, 119599, 119597)
NEW Unreal Engine plugins that are EnabledByDefault or referenced by your project will now be parsed by default, with new settings to control behavior. (case=144467)

Unreal Engine plugins.

NEW Added notification message when browsing an Unreal Engine plugin source file that has been excluded from parsing. (case=144352)

Another area of focus for our team in this release was the Modify Expression feature. This feature was added in 2021.1 in beta allowing users to invert any logical expression. We’ve had great feedback about this feature and want to make it more accessible. Thus we’ve added Modify Expression to the Alt+Shift+Q context menu. In this release, we also added an option to remove redundant parentheses. We hope to continue improving this feature and add options as interest grows.

Modify Expression feature.

NEW Modify Expression will now appear in our Alt+Shift+Q context menu, and is no longer in beta. (case=144412)
NEW Added option to remove redundant parentheses in Modify Expression. (case=144312)

Code Inspections saw some updates as well. We moved our engine to Clang 11.1.0 keeping CI up to date with the latest industry standard. This brought some inherent changes to the feature, but we added a few other checks as well with bugprone-suspicious-string-compare and bugprone-string-constructor.

Code Inspections.

NEW Updated Code Inspections engine to Clang 11.1.0. (case=144482)
NEW Added Code Inspection for bugprone-suspicious-string-compare clang checker. (case=142919)
NEW Added Code Inspection for bugprone-string-constructor clang checker. (case=142917)
NEW Record the start of namespaces, enums, classes and structs at the name vs open brace for improved navigation. (case=144376, 144375, 144374)
NEW Added smart select support for C++20 co_yield and co_return. (case=144280)
NEW List Methods in File (Alt+M) will now select symbol name on navigation. (case=144183)

Of course, this release included several bug fixes based on your feedback and requests since the last release. To see the full list of features and bug fixes check out the release notes here.

Bug Fixes

  • Fix for low performance caused by excessive redrawing on 100hz+ refresh rate monitors. (case=142298)
  • Fix for crash that could happen with many large symbols. (case=144417)
  • Fix for Modify Expression highlighting reserved strings from VA Snippets. (case=144385)
  • Fix for Modify Expression "!" removal and factoring sometimes giving incorrect results. (case=144365)
  • Fix for Modify Expression not always opening first invocation. (case=144342)
  • Fix for enabling Extend Multiline Comments not disabling new VS C++ feature. (case=144301)
  • Fix for "in" being considered a keyword. The keyword was used in the old for each, in C++ extension by Microsoft. (case=144402)

General Release Build 2021.1 (2399)

Requires software maintenance through 2021.01.26

General Release Build.

We’re excited about that 2020 is behind us for many reasons. To celebrate that 2021 is here, we’re updating our naming convention to make it easier for you to understand what version you’re on and when you’re ready for an update. So, welcome to 2021.1!! Here are a few of the new features we’ve added. Stay tuned for a detailed behind the scenes blog on the performance gains we’re seeing.

NEW Faster initial Unreal Engine parse.

By excluding engine plugins, which are not needed when writing game code, the initial parse is now more than twice as fast. If you are an engine developer, you can parse all files by navigating to the VA Options dialog, Unreal Engine tab and checking “Index plugins”. Indexing plugins will be disabled by default and you’ll start seeing the speed increase immediately.

NEW VA Modify Expression feature.

VA Modify Expression allows you to take any logical statement and invert it, apply De Morgan transforms and more. We plan to add more to this feature soon and would love your feedback.

VA Modify Expression.

NEW Code Inspections for performance-inefficient-vector-operation and performance-faster-string-find to help optimize your use of vectors and strings.

Code Inspections.

NEW If you are using the latest additions to C++ you will notice some new support. We now parse C++20 module (ixx and cppm) files, and our parser and features understand coroutine keywords.

See more features and bug fixes here and stay tuned for more info on our next release 2021.2.

General Release Build 2393

Requires software maintenance through 2020.10.28

New build available now.

What’s New? Everything!

Build 2393 is the culmination of many months of toil behind the scenes to make your experience the best it can be while continuing to bring all the great features you know and (we hope) love. I’m sure you’ve noticed how large your project files have become in recent years. Whether you’re developing a new game or creating tools for number crunchers, data is bigger and codebases are more complex. Add a team of developers working on the same projects and you’re going to have bottlenecks.

Our developers realize this growth in file sizes and the strain it puts on Visual Studio. With build 2393, we’ve pulled more parsed data out of process, freeing up more usable memory and opening the bottle, so to speak. We’re not done with this effort as our team keeps finding new ways to lessen the load on Visual Studio and your machine. But, this release is a milestone in the sheer amount of memory saved.

No matter how we try to spin this, it is an understatement to the work that has gone into this release.

And of course they didn’t stop here. We’ve updated LLVM Clang to 11.0.0; added suggestions for UE4 macros; added code inspection for performance-inefficient-algorithm clang checker; and even refreshed our installer icon!

General Release Build 2380

Requires software maintenance through 2020.06.16

Build 2380 brings a few new features along with some requested bug fixes. Highlights below and full release notes here. To take advantage of these features software maintenance will need to be current through 2020.6.16. Enjoy!

NEW Added three new Code Inspections to remove unnecessary code:
Remove redundant std::string initializations.
Remove redundant calls to std::string::c_str() and data().
Remove redundant initializations in class initializer lists.

NEW Create Implementation and other refactorings no longer add a namespace if a using directive for the namespace is in the target source file.
NEW Faster parse when loading a solution that's been heavily modified outside of Visual Studio.

General Release Build 2375

Requires software maintenance through 2020.05.09

NEW Added Code Inspection for modernize-deprecrated-headers clang checker.

Some headers from C library were deprecated in C++ and are no longer welcome in C++ codebases. This check replaces C standard library headers with their C++ alternatives and removes redundant ones.

NEW Added MakeShared/MakeUnique Smart Suggestions for UE4 smart pointer initialization.

NEW Change Signature on UE4 RPC/BlueprintNative methods update the implementations.

NEW Reduced memory required in very large solutions.

You’re not the only one that’s noticed larger solutions causing memory exhaustion. We’re doing our part to reduce our memory consumption.

NEW Code Inspection engine updated to LLVM/Clang version 10.

Again, keeping up with the times and updating as we’re able. While this won’t impact you much today, this sets us up for more to come in the future.

Bug Fixes

  • [VS2019] Fixed highlighting of solution file paths in build output window. (case=142196)
  • Fix for poor performance (UI thread multi-second unresponsiveness) switching between files when many editors open (regression in build 2366). (case=142032) 16891
  • Fixed handling of include directories in UE4.25 projects. (case=142235)
  • [VS2019] Fix for strange screen artifacts when using multiple monitors, with independent DPI settings, after opening the VA Keyboard Shortcuts and Snippet Editor dialogs. (case=142179)
  • [VS2019] Improved VA Options dialog display when using multiple monitors with independent DPI settings. (case=137636) 16566
  • [VS2019] Continued improvement of support for per-monitor DPI in VA dialogs and toolwindows. (case=137579, case=141344, case=141642) 16730, 16564. More improvements expected in next update as well.  Please contact if you experience behavior that is worse than in build 2366.
  • Invocation of Find References while a previous invocation is still running, will now stop the previous run and start a new search. (case=141731)
  • Multiple Encapsulate Field fixes for infrequently encountered edge-cases. (case=141952, case=141953, case=142028)
  • Fix missing expand/collapse all nodes commands in context menu of Find References results window when Show Projects option is disabled. (case=142050) 16857
  • Runtime compatibility warning added for IncrediBuild agent version (case=141861) 16854, 16662, 16680

General Release Build 2358

Requires software maintenance through 2019.12.19

Added C++ modernization refactoring: Convert Unscoped Enum to Scoped Enum (execute on the enum definition). (case=93116) 12756, 14152, 15219

Added option (on the Goto page of Visual Assist Options dialog) to prefer implementations when executing Goto (Alt+G) (execution on the implementation will continue to go to the declaration as before). (case=66885) 9557, 10693, 11417, 11396, 11725, 16758

Goto Related supports related Unreal Engine RPC implementations. (case=141285)

Bug Fixes

  • Fix for Visual Studio code formatter indenting method declarations when preceded by Unreal Engine attributes (macros like UFUNCTION). (case=109205) 16718, 16745, 16764 This change is incomplete -- it is fixed in some scenarios but not others, improvements expected in next update.
  • Fix for corruption of license storage in some circumstances (notably when Visual Studio is opened by Unity).  If you continue to receive "The registration limit for this serial number has been reached" error message after installing this release, please contact for registration server intervention. (case=141648) 16788
  • Added support for parsing of C99/C++20 designated initializers. (case=118748) 15320
  • Create Implementation is no longer offered on inline initialized static members. (case=141500)
  • Updated configuration dialog of Jira plugin for Source Links, adding link to instructions for generating an API Token required (instead of a password) for newer versions of Jira. (case=141631)
  • In some cases, prevent unnecessary rebuild of symbol database after Visual Studio crash. (case=141298) 16720, 16759
  • Fix for missing Unreal Engine RPC implementation (when more than one exists) when Goto is executed. (case=141286)

General Release Build 2353

Requires software maintenance through 2019.11.07

Major Code Inspection update.

Under the hood the latest Clang technology has been incorporated, expanding our potential as we keep pace with the latest developments.

Code Inspection checkers are now more configurable. Further customize when Visual Assist alerts you of potential improvements.

Code Inspection UI is now searchable, and exposes more advanced information.

Code Inspections can now be selectively disabled in sections of your code using comments. If you don't want to change a section of code, you can choose to not be alerted of potential improvements without disabling checkers globally.

The "virtual" keyword can now be omitted when implementing virtual methods. Many developers choose to omit the virtual keyword, and now Visual Assist can too.

C# completion and suggestion listboxes have returned! Enable in the options dialog, under Suggestions.

New UI allows fine grained control of the resources Visual Assist will use when parsing. Reduce the impact of the initial parse of a new solution, especially in extremely large solutions where parsing may take several minutes. (Unreal Engine developers take note.)

Bug Fixes

  • [VS2019] Fix for loss of VA functionality (and potential crash) that occurs in recent VS2019 updates when the Preview Tab is enabled. (case=141374) 16742, 16740
  • [VS2019] Enabled/restored support for completion and suggestion listboxes in C#. (case=137431) 16590, 16625, 16644, 16675
  • Rename References and Rename Files close files during their operation if more than 50 have to be opened (user is prompted to continue or cancel before closing files). (case=116948) 15227
  • Fixed files missing from Open File in Solution dialog when "Show only files in the current solution" is unchecked (for some cmake scenarios). (case=141331)
  • Fixed problem with Add Include that in some cases caused generation of relative path with excessive directory traversal operators (../..). (case=119677)
  • [VS2017+] Fixed problem in which VA editor colors reverted to previous theme after changing themes and then opening and closing the VA Options dialog. (case=140632)
  • Fixed placement of generated code when executing Extract Method in a lambda of an inline class method. (case=140886)
  • [UE4] Dot to arrow conversion is no longer active in hlsl/hlsli/usf/ush files. (case=141003)
  • [UE4] Fixed case in which Goto might cause stack overflow crash. (case=141444)
  • Fixed crash upon right-click of serial number edit control in registration dialog that appears during startup. (case=141409)
  • [VS2010] Fixed crash during exit after having used the debugger. (case=141365)
  • Fix for flicker of listbox border while scrolling. (case=141179)
  • Fix for hang during initialization of Code Inspection. (case=141230)
  • Fix for issue where VA prevented exit of VS process when initiated during load of solution. (case=141007)
  • Spell check no longer underlines printf format size specifiers %zu and %llu. (case=67155, case=141164) 10749, 16606
  • Fixed case in which Quick Info creation might cause a hang (regression in build 2341.0). (case=141330)

General Release Build 2341.2

Requires maintenance through 2019.08.05

Bug Fixes

  • [VS2019] Disable VA in xaml/asp files to workaround crash closing the editor on Windows 10 1903 with July .NET Framework 4.8 KB4506991 update when "Optimize rendering for screens with different pixel densities" is checked (set VA reg value "OverridePmaCrashWorkaround" to 01 to restore previous behavior, for example if the fix for the bug in KB4506991 is released before the next VA update). (case=141042)
  • Fix for infinite loop in background parser thread that prevented devenv process from exiting (regression in build 2341.0). (case=141021)
  • Fix for incorrect display of ampersands in the VA Paste menu. (case=140969)

General Release Build 2341

Requires maintenance through 2019.07.11

Added support for separate coloring of namespace identifiers and qualifiers.

Added support for separate coloring of enum members.

Encapsulate Field now allows an accessor to be omitted. Learn more about refactoring with Encapsulate Field, and the VA Snippet that determines the format of the accessors.

Quick Info can now include comments for the current symbol, immediate parent class, and the root parent. Learn how to enable improvements to Quick Info.

Bug Fixes

  • Fix for laggy typing (micro-hangs) while working with boost classes in large solutions. (case=140857)
  • Fix for proper scoping of like-named variables declared in `for` loop conditions that are in the same parent scope, and for type deduction of those variables when they are `auto` declared. (case=9362, case=78814, case=97964, case=114643)
  • Fix for limited scope of C++17 if with initializer. (case=113209)
  • Fixed parsing of C# local functions. (case=118894)
  • Prevent hang opening Spell-Check suggestion menu that occurred in some cases (regression in build 2301). (case=140854)
  • [VS2019] Added workaround for document rename operation failures (in VS0219, renamed files are closed and then reopened to workaround a VS bug). (case=140846)
  • Fix for parsing of a nested final class, forward-declared in a different class. (case=140771)
  • Fixed collision of VA floating button/tomato with VS floating lightbulb/screwdriver. (case=116401, case=136078, case=138234)
  • Fixed case in which parsing of a raw string literal failed and caused a cascading failure in the rest of the file. (case=138472)
  • Fix for conflict with ViEmu introduced in build 2324. (case=140155)
  • Fixed text coloring bug in Find References results list. (case=140343)
  • Fix for incorrect Find References results in a particular scenario on a global function. (case=140823)
  • Fix for VA Snippet processing of _Upper/_Lower/_Camel/_Pascal modifiers on unicode string sources. (case=138339)
  • [VS2019+] Added Ctrl+Shift+V recommended keybinding for the VA Paste command due to new VS2019 command binding collision. (case=140474)
  • [VS2019+] Added Alt+] recommended keybinding for the VA Smart Select Extend Block command due to new VS2019 command binding collision. (case=140897)
  • Files opened from VA View MRU and FIS controls no longer use VS Preview tab (parity with VA OFIS dialog behavior). (case=137970)
  • Fixed parsing of C# verbatim keyword identifiers. (case=140822)

General Release Build 2333

Requires maintenance through 2019.05.04

Bug Fixes

  • [VS2017+] Fix for intermittent cases in which completion listbox appears at incorrect screen coordinate after startup (regression). (case=139997)
  • Fix for corrupt display of unicode characters that require utf16 surrogate pairs. (case=138734)
  • Fix for completion listbox item not being properly entered into editor in some cases when `Insert _ after m and shift` setting is enabled (regression). (case=138729)
  • [VS2019] Fix for enable/disable of built-in highlight current line setting. (case=138638)

General Release Build 2331

Requires maintenance through 2019.04.19

Added support for Visual Studio 16.1 Preview 1, the first version of Visual Studio that requires extensions to load asynchronously.

Visual Assist is completely loaded if it responds to its commands in an editor window, or when notice appears in the status bar.

Visual Assist is not completely loaded if its toolbar begins with disabled icons, its tool windows are empty, or it fails to responds to its commands in an editor window.

Added command to insert a file path into the active document (Alt+X, T, P). Learn more.

Bug Fixes

  • [VS2019] VA Step Filter now supports the new `load debug symbols in external process` feature. (case=132670)
  • Fix for coloring, in dialogs and tool windows, of identifiers that contain non-ASCII characters. (case=118872)
  • Fix for Add Forward Declaration producing invalid namespace in some circumstances. (case=137679)
  • Fix for conflict with version of AvalonEdit assembly installed by NVidia NSight. (case=132900, case=137033)
  • Fix for crash while debugging in some circumstances when the `Child Process Debugging Tool` extension is active. (case=137833)
  • Fix for Implement Virtual Methods not being offered on specified base class if defined class is declared final. (case=119831)
  • Fix for Implement Virtual Methods not being offered in some circumstances involving macros. (case=117943)
  • Fix for incorrect VA Snippet placeholder handling in some circumstances (regression in 2301). (case=137542)
  • [VS2010-VS2013] Fix for flicker of .exe installer when it downgrades to lower versions of .vsix to target IDE versions below VS2015. (case=138045)
  • [pre-VS2010] Fix for crash at exit in some circumstances. (case=138040)
  • [VC6 (officially unsupported)] Fix for failure of registration dialog to load. (case=137664)

General Release Build 2324

Requires maintenance through 2019.03.08

Added support for Microsoft Visual Studio 2019 RC. See release notes for known issues.

Improved handling of legacy activation keys in the new registration dialog. Learn more about registering serial numbers.

Bug Fixes

  • [VS2019] Restored Visual Assist Keyboard Shortcuts command. (case=135856)
  • [VS2010+] Undo for commenting and `surround with` operations now move caret back to edit location. (case=117212)
  • [VS2019] Fix for deadlock that can occur in certain circumstances when closing the Open File in Solution dialog. (case=136927)
  • [VC6-VS2003 (officially unsupported)] Fix for text entry failures in various dialogs due to Unicode support added for newer IDEs in build 2302 (regression in 2302). (case=134135)

General Release Build 2318

Requires maintenance through 2019.02.17

Added support for a new licensing system that 1) includes a customer portal to track new licenses and their renewals of software maintenance, and 2) simplifies the adding of licensees to a team with the new licenses.

Register a new license of Visual Assist using VAssistX | Help | Register.

Learn more.

If you have a legacy, two-line activation key, enter it using a link in the bottom of the dialog that opens.

General Release Build 2316

Requires maintenance through 2019.02.05

Added support for Visual Studio 2019 Preview 2. See release notes for known issues.

Improved ability to insert VA Snippets of large or infrequently used blocks of code. Open the VA Quick Action and Refactoring menu (Shift+Alt+Q) in whitespace and select Insert VA Snippet. Learn more.

Bug Fixes

  • [VS2015] Fix for new breakpoint commands introduced in build 2301 failing to work in some environments. (case=134666)
  • Fix for Create Implementation adding semi-colon at the end of a line comment. (case=81059)
  • Fix for Create Implementation being offered when '=default' implementation already exists in source file. (case=104654)
  • Added support to Move Implementation for '= default' implementations. (case=118695)
  • Fix for incorrect code generation when using Create Implementation or Move Implementation on a method that has a default brace-initialized parameter (= {}). (case=131324)
  • Updated UI on the Source Links page of the VA Options dialog to finalize support of shared solution-defined Source Links. (case=133421, case=135517)
  • The title element of the VA View tool window now properly displays non-ASCII characters. (case=132230)
  • The Spell Check dialog now properly displays non-ASCII characters. (case=132524)
  • Fix for deadlock that could occur when closing the Open File in Solution dialog under some circumstances. (case=135202)
  • Fix for some Code Inspections failing to properly apply changes in editor in some circumstances (regressions in 2301). (case=134448, case=134171)
  • [Win7] Fix for failure of tooltips to appear in VA tool windows (regression in 2301). (case=132901)

General Release Build 2302

Requires maintenance through 2018.12.13

Added very preliminary support for Visual Studio 2019 Preview 1. See release notes for known issues.
Added support for UTF-8 encoding of dictionary files used by Spell Check.

Bug Fixes

  • Fix for exception caught and reported by Visual Studio during startup when VA debugger integration is disabled (regression in 2301). (case=132716)
  • Fixes for Spell Check underlining and correction menu (regression in 2301). (case=132797)

General Release Build 2301

Requires maintenance through 2018.11.30

Added command, to menu and toolbar, to bind all breakpoints to the current thread. Learn more.

Added command, to menu and toolbar, to temporarily disable all currently enabled breakpoints. Learn more.

Solution-defined Source Links can now be shared (beta). Learn more.

Source Links File Viewer plug-in now renders SVG content. Learn more.
Improved support for Unicode and UTF-8.
Improved code generation for Unreal Engine 4 (UE4).

Bug Fixes

  • Code Inspections no longer offered in system include headers (restore previous behavior via ExcludeSystemDirectories registry value). (case=119565)
  • Code Inspections no longer offered in third party source (restore previous behavior via Exclude3rdPartyDirectories registry value). (case=119844)
  • [VS2017] Fix for incompatibility with IntelliCode suggestions. (case=118434)
  • [VS2010+] Fix for incorrect link generation by Source Links File Viewer plugin due to ignoring word boundaries. (case=118798)
  • [VS2017 15.9+] Keyboard bindings for the Visual Assist SmartSelectExtend and SmartSelectShrink commands added to Recommended Keyboard Shortcuts dialog due to 15.9 now using the bindings for itself by default. (case=119816)
  • Fix for incorrect code generation in some cases during quick fix for 'convert to range-based for loop.' (case=117328)
  • Fix for items following block comments missing from Methods In File list in some cases. (case=131102)
  • Fix for incorrect coloring of symbol after string literals that contain non-ASCII text on Windows 10 Insider Preview. (case=116803)
  • Fix for incorrect creation status in Find References results window for extern variable declarations. (case=117634)
  • Fix for failure to be able to use non-ASCII characters in Rename Files and Create File dialogs. (case=130729)
  • Fix for Rename Files dialog defaulting to incorrect name in some scenarios. (case=130794)
  • Fix for Add Forward Declaration being unavailable on parameter type when initializer list is present. (case=131036)
  • Fix for Add Include producing incorrect path in some cases with the "Prefer path relative to project" option. (case=119905)
  • Fix for improperly parented message boxes when using floating editor windows. (case=118459)
  • Visual Assist version number now reported in About Visual Studio dialog. (case=120047)

General Release Build 2291.5

Requires maintenance through 2018.10.02

Bug Fixes

  • Fix for parsing change that caused some members of UE4 classes to no longer be recognized by VA (regression in 2291). (case=119590)
  • [VS2017] Fix for failure of ctrl+left-click commands to work if a selection exists before invocation (regression in 2291). (case=119698

General Release Build 2291

Requires maintenance through 2018.09.21

Find References Results can be collapsed to level of project or file node via commands in the context menu of the window. Learn more.

VA Hashtags can be unhidden selectively. (Requires hidden tags to be shown dimmed—set in the context menu of the VA Hashtags tool window.)

Learn more about hiding and unhiding of VA Hashtags.

Persistent filter in Open-File-in-Solution dialog can be toggled with Ctrl+R. Learn more about persistent filtering.

Path preference for Add Include Directive (Shift+Alt+Q) can now be specified in the options dialog of Visual Assist.

Add Include Directive (Shift+Alt+Q) better places #includes when a file has an #ifndef guard.

Improved code generation for Unreal Engine 4 (UE4).

Bug Fixes

  • [VS2017 15.8+] Fixed coloring of identifier definitions in C# broken by change in editor behavior. (case=118439)
  • [VS2017 15.8+] VA no longer interferes with Multi-Caret Edit mode. (case=117499)
  • Fixed support of C# interpolated strings. (case=96559, case=98335)
  • Fixed support of C# inline declared out variables. (case=116073)
  • Fixed support of C# expression-bodied properties and methods. (case=116299)
  • Improved support of C++14/17 [[attributes]]. (case=112204)
  • Forward declared class/struct in method parameter list no longer breaks VA Outline or Methods in File list. (case=66673)
  • Fixed case in which type deduction in 'range-based for' failed on a dereferenced smart pointer. (case=97149)
  • Fixed case in which a method with parameter list that contains the word enum is not listed in Methods In File. (case=114839)
  • Fixed case in which Change Signature was not available for functions with certain template arguments. (case=114966)
  • Fixed Create Implementation on static class member that is an instance of a class template. (case=115411)
  • Fixed case in which parser inappropriately resolved overloaded operator-> on an instance variable. (case=117758)
  • [Windows Insider Build] Added workaround for backspace handling in Methods In File filter edit control due to change in Windows behavior. (case=118007)
  • Fix for exception reported as caught by VS when git source control diff command is executed. (case=118858)
  • Fix for VA Step Filter failing to work after initial debug session when 'Clear list on start of debugging' is unchecked. (case=118156)
  • [VS2017] Fix for VA Step Filter no longer stepping over some shared_ptr methods (due to them being moved to _Ptr_base in a VS2017 update). (case=119182)
  • Fixed display of directories list in VA Options dialog at 200% scaling. (case=112033)
  • Increased width of .exe installer status window to fit text that is displayed when setup is waiting for VS processes to exit. (case=118044)

General Release Build 2283.2

Requires maintenance through 2018.08.02

Source Links plug-in for Jira issue navigation defaults to number value, which improves finding of links in comments.

Change the configuration manually if the Jira plug-in was installed by a previous build of Visual Assist. Learn more.

Bug Fixes

  • Fix for crash at startup in some scenarios when Recommended Keybindings dialog would automatically appear (regression in 2283). (case=118079)
  • Fixed alt+mouse block selection (regression in 2283, reverted changes for case=116799). (case=118011)

General Release Build 2283.1

Requires maintenance through 2018.07.20

Source Links plug-in for Jira issue navigation now allows a Jira project key to be the keyword for links. For example, if a Jira project key is "JTP" and comments contain references such at "JTP-1", specify "JTP" as keyword and "-" as suffix in the link definition.

Then, specify "JTP" or "$(Keyword) in the configuration dialog for the plug-in.

Hover over issues that follow a plug-in keyword and suffix to view information about respective issues.

Double-click a link to open an issue in a browser window. Learn more.

General Release Build 2283

Requires maintenance through 2018.07.12

The Open File in Solution (OFIS) dialog now includes a second edit field whose value persists to all searches. Open the persistent filter using the context menu of the OFIS dialog.

Enter filtering strings to persist to all searches. For example, enter "-.moc_" to hide Qt files that begin "moc_".

If you develop with Unreal Engine 4 (UE4), hide engine source by filtering its root directory.

If you hide the second edit field, its filters continue to be applied to all searches. Empty the edit field to restore default behavior. Learn more.

Source Links includes a new plug-in, Jira issue navigation, that previews issues stored on a Jira server. Enable and configure the plug-in in the the options dialog for Visual Assist.

Hover over issues that follow a plug-in keyword, "jira" by default, to view information about respective issues.

Double-click a link to open an issue in a browser window. Learn more.

Source Links now allows a choice of mouse actions to open links, and whether link tooltips should identify available actions. Find the related drop-down and checkbox on the Source Links page in the options dialog for Visual Assist.

Source Links tooltips populated by the File Viewer plug-in now include thumbnails from files that contain shell-supported thumbnails.

Settings that pertain to a solution can now be stored in $(SOLUTIONDIR)\.va\ where they can be easily shared. Rules for hiding VA Hashtags are written to .va\user\, and can be copied manually to .va\shared\ for use by other users of Visual Assist. The file that contains overrides for the parsers in Visual Assist, va_stdafx.h, can be placed in .va\shared\. And, solution-specific filters for the VA Step Filter can be written to .va\shared, via setting in options dialog for Visual Assist, also for use by all users.

A new code-generation command, Add Forward Declaration, is available in headers for pointer and reference members added to class definitions and method declarations. Access the command from the Quick Action and Refactoring menu (Shift+Alt+Q).

The forward declaration is added at a sensible location. Learn more.

New Code Inspection:
  • Use shuffle() instead of random_shuffle()

Learn about Code Inspection.

Added symbol names to titles of cloned results windows so multiple windows are easily differentiated.

Learn to clone results of Find References.

Added Quick Info to tooltips in Find Symbol in Solution (Shift+Alt+S) dialog.

Added an option to conserve battery power when Code Inspection is enabled. (When unchecked and on battery power, reparse manually via the VA Code Inspection Results tool window.)

Added registry setting to automatically reload files opened using paths that contain forward slashes. Learn more.
Improved code-generation and navigation for Unreal Engine 4 (UE4).

Bug Fixes

  • Reduced memory required to parse very large files containing huge numbers of macros. (case=115155)
  • Fix for incomplete code transformation of Quick Fix for copy construction body can be replaced with =default. (case=115351)
  • Fix for undeleted .pch files in VA temp directory when Code Inspection is enabled (regression in 2248). (case=116765)
  • Fix for failure to apply multiple Quick Fixes if more than one requires insertion of a #include directive. (case=116405)
  • [VS2017] Fix for failure to observe solution reload events. (case=116501)
  • Fix for incorrect contents of OFIS and FSIS dialogs after switching between git branches (not yet fixed for folder mode). (case=116673)
  • Fix for incorrect contents of FSIS dialog after load of solution in which files were deleted from projects outside of Visual Studio. (case=116689)
  • Fix for odd template items listed in Find Symbol in Solution dialog. (case=9666)
  • .md and .markdown files are now recognized as plain text files. (case=116064)
  • Fixed parsing of classes qualified as both sealed and abstract. (case=115473)
  • [VS2015+] Fixed override of ctrl+click and alt+click mouse command handling. (case=116799)
  • Fix for Spell Check failing to properly ignore word followed by a single quote. (case=116759)
  • Fix for inappropriate display of message box when opening MSSQL data view documents. (case=116561)
  • Caret position is now restored after VA reloads a file opened with a path containing forward slashes. (case=116840)
  • [VS2015+] Fix for failure of Step Filter window to switch from read-only to read-write until second solution load (regression in 2270). (case=117139)
  • [VS2017] Fix for Code Inspection failure to honor C++17 compiler settings in some cases. (case=117208)
  • [VS2017 15.7+] Reduced flicker of Quick Info tooltips. (case=117209)
  • Fixed resource leak. (case=117566)
  • Fix for maintenance renewal dialog no longer being displayed (regression in 2114). (case=117498)
  • Fix for crash when inappropriately invoking Encapsulate Field in a namespace. (case=117548)

General Release Build 2270

Requires maintenance through 2018.04.30

Source Links includes a new plug-in, File Viewer, that previews the content of files whose paths appear in source comments. Preview-able formats include HTML, XAML, RTF, text, and image formats such as png and jpg.

File Viewer can be enabled and configured in the options dialog of Visual Assist. Learn more.

Find References now reports a count of references hidden from the results.

Use single-letter toggles (D, S, R, and M) or the context menu of a results window to control types of references displayed. Learn more.

GoTo Related (Shift+Alt+G) or Quick Action (Shift+Alt+Q) from an #include directive now opens a menu with actions pertinent to a header, including Open Containing Folder.

Improved results of Code Inspection in header files.
Improved support for Unreal Engine (UE4), and added a UE4-specific page to the options dialog of Visual Assist.

Reduced memory footprint by moving Code Inspection to a separate process.

Bug Fixes

  • Fixed undo of Change Signature to require only a single invocation of the command across all files modified. (case=115689)
  • [VS2015] Fix for period of unresponsiveness while attempting to display large Quick Info tooltip. (case=115590)
  • Fixed cases where Introduce Variable, Add/Remove Braces, Create Missing Cases, and Create From Usage either were not available or produced incorrect results in overloaded method implementations. (case=114731, case=114730, case=90190, case=86791)
  • Fix for failure to resolve overloaded method during Goto (Alt+G). (case=114785)
  • Fix for VA Hashtags's not being removed from tool window when file is deleted outside of Visual Studio. (case=114055)
  • Fixed Code Inspection crash. (case=115487)
  • Fix for inappropriate display of message box when opening "mssql::*" documents. (case=115635)
  • Fix for platform change in VA Options dialog's not being properly committed (regression in 2258.5). (case=116077)

General Release Build 2258.5

Requires maintenance through 2018.03.06

Bug Fix

  • Fix for failure of VA Options dialog to load in some circumstances. (case=114812)

General Release Build 2258

Requires maintenance through 2018.02.20

The Open File in Solution (OFIS) dialog now accepts a target character position when specified with a target line number. Learn more.

The Open File in Solution (OFIS) dialog can now include files from all directories below a git root, not just from the directories of the current solution, if the current solution is one or more levels under a git root. Include the files via the context menu of the dialog.

The VA Hashtags tool window can be navigated with arrow keys when focus is in the filter field. Learn more.

Multiple VA Hashtags can be selected at once, and context-menu commands are available to hide the selected or unselected tags.

Convert Instance to Pointer (Shift+Alt+Q) can now create raw and smart pointers.

Code Inspection results, when grouped by level or inspection, can be collapsed and expanded.

Code Inspection is now limited to two threads so the feature does not impede responsiveness of the IDE.
Improved support for Unreal Engine 4 (UE4) with better parsing, italics for local engine installations, smarter Create Implementation, and automatic enabling of support. Learn more.

Bug Fixes

  • Fix for 'check emptiness with empty() instead of size()' Code Inspection breaking code. (case=112036)
  • Fix for failure of Sort Selected Lines to do proper case-insensitive sort in some circumstances. (case=114072)
  • Fix for failure of the Edit.GoTo command to work properly when an argument is passed to it. (case=113275)
  • Fixed indication of write to array elements in Find References Results toolwindow. (case=4985)
  • Fixed caret placement after running Quick Fix for typedef conversion. (case=104811)
  • Fix for sluggish behavior when VA Hashtags toolwindow is open in solution with a large number of hashtags. (case=109251)
  • Fix for Create Implementation and Change Signature problems caused by presence of UPARAM attributes in Unreal Engine source. (case=110732, case=110735, case=112654)
  • [VS2017 15.6p3+] Fix for parsing errors introduced in preview versions of 15.6. (case=114222, case=114182)
  • [VS2017 15.6p2+] Fix for failure of VA suggestions to display. (case=114018)
  • Fixed various issues with Convert Instance to Pointer and Convert Pointer to Instance. (case=113770, case=113764, case=112991, case=112992, case=113015, case=113016, case=113019, case=113021, case=113185, case=113194, case=113195)
  • Fix for Implement Virtual Methods failure on classes derived from some Unreal Engine 4 classes. (case=112700)
  • Fix for incorrect members lists for some classes in Unreal Engine 4 game projects. (case=114494)
  • Code Inspection for make_unique and make_shared no longer add #include if it is already included. (case=113411)
  • Fix for inconsistent line endings caused by make_unique and make_shared Code Inspections. (case=113412)
  • Fix for extra parenthesis left by Code Inspection for push_back to emplace_back. (case=113724)
  • Fix for Introduce Variable placement of variable when uniform initialization syntax is being used. (case=113649)
  • Added registry setting to defeat recent change in behavior of preventing VA Snippets in Unreal Engine U* macro invocations (registry value named AllowSnippetsInUnrealMarkup). (case=113474)

General Release Build 2248

Requires maintenance through 2017.12.16

Added three refactoring commands, all available via Shift+Alt+Q from local variables:

Convert Instance to Pointer

Convert Pointer to Instance

Simplify Instance Declaration

Added support for Code Inspection in Visual Studio 2017 15.5.
Added Code Inspections:
  • Range-based loop variable can be a const reference
  • Local variable can be a const reference
  • Prefer transparent functor
Improved support for Unreal Engine 4 (UE4) with specifier completion, better coloring, and italics.

Improved support for CMake solutions.
Increased speed of opening first editor instance on Windows 10 Version 1709 (Fall Creators Update).
Find References now includes calls to CreateInstance and CoCreateInstance in creation hits.

Learn more.

Added setting to enable/disable Code Inspection while debugging. (Setting is disabled by default.)

Visual Assist now loads va_stdafx.h for all solutions if the header is in AppData\Roaming\VisualAssist\misc.

Bug Fixes

  • Fix for crash when pasting lambda into source when Code Inspection enabled. (case=112413)
  • [V2017 15.6] Fix for failure to properly parse std::shared_ptr. (case=112697)
  • Fix for failure of Add Missing Case Statements to work on reference to enum type. (case=109635)
  • Fix for overload resolution during Alt+g failing due to const variable declaration. (case=109837)
  • Open/closed state of nodes in VA Hashtags toolwindow now properly restored when hashtag instances are deleted (fixing hashtag navigation). (case=112118)
  • Use of [[deprecated]] no longer breaks dot to arrow correction. (case=112232)
  • Changed behavior of Auto-Extend Multi-Line Comments to better accommodate javadoc comment style. (case=111445)
  • Fix for Add Include using incorrect path when solution contains a project that is located in the Windows Program Files directory. (case=111530)
  • [VS2010+] Fix for failure of snippet editor to restore to correct size and position in high DPI environments. (case=110809)
  • Fix for Code Inspection reporting an issue that was not supported by VA. (case=111869)
  • VA no longer colors parameters in Unreal Engine 4 U* macro invocations. (case=109053)
  • Fix for Add Include using incorrect directive token in some cases. (case=111997)
  • Fix for failure of all snippets with identical shortcuts to be suggested in some cases. (case=111945)
  • Improved performance of load of Open File in Solution dialog when show all files in solution directories is enabled. (case=111851)
  • Fix some cases in which the default selection was not visible in completion listboxes. (case=111562, case 111563)
  • Fix for VA Memory View not copying all selected rows. (case=111909)
  • Fix for scaling of icons in certain message boxes in high DPI environments. (case=110376)
  • Fix for errant set of VCINSTALLDIR environment variable (regression in 2231). (case=112001)
  • Fixes for crashes and hangs identified via Windows Error Reporting. (case=111709, case=112180, case=112131)

General Release Build 2238

Requires maintenance through 2017.11.10

Bug Fix

  • Mitigation of some CreateWindow* failures in Windows 10 Fall Creators Update (workaround that helps some, but definitely not all, users). Read the notice on our support page for more information. (case=111864)
  • Fix for Code Inspection failure to properly read include path from project settings (regression in 2231). (case=111596)

General Release Build 2237

Requires maintenance through 2017.10.03

Bug Fix

  • Fix for hang that can occur when Smart Suggestion is displayed for UPARAM invocation in Unreal Engine (UE4) source. (case=111404)

General Release Build 2235

Requires maintenance through 2017.09.25

Added a Source Links plug-in that turns website addresses and URLs in comment blocks into hyperlinks that open in one's external, default browser. Learn more.

New Code Inspections:
  • Integer literal can be replaced with 'true' or 'false'
  • Reduce container capacity with shrink_to_fit() instead of copy and swap
Allow customization of several code inspections. Access individual settings via the gear icons in the options dialog for Visual Assist.

Improved support for Unreal Engine 4 (UE4) by including Unreal markup in Quick Info and offering Smart Suggestions for UPARAM().
Added support for lightweight solution load of C/C++ projects in Visual Studio 2017 15.3. In the Open-File-in-Solution dialog, files in lightweight-loaded projects are listed as deferred.

Visual Assist parses files in deferred projects as the projects, or their containing solutions, are loaded.

Added settings related to GoTo to the options dialog of Visual Assist.

Learn to navigate with GoTo Implementation (Alt+G) and GoTo Related (Shift+Alt+G).

Added settings related to VA Hashtags to the options dialog of Visual Assist.

Learn to manage tasks and set bookmarks with VA Hashtags.

Bug Fixes

  • Added setting to control handling of * by `variable can be declared auto` Code Inspection. (case=108642)
  • Added settings to control `virtual` keyword handling and destructor handling by `overriding function without override specifier` Code Inspection. (case=111123, case=103139)
  • Items on Code Inspection page of VA Options dialog support multiple selection and improved keyboard navigation. (case=110289)
  • Code Inspection no longer inappropriately offers to replace constructor with = default. (case=109725)
  • Fix for Code Inspection failure when a file #includes a UTF16/UCS2 encoded file that is not open in VS. (case=110708)
  • Spellcheck no longer flags VA Hashtags. (case=91351)
  • Goto and Goto Related support VA Hashtags that contain hyphen characters (when the VA Hashtag hyphen setting is enabled). (case=91506, case=109520)
  • Source Links now supported in the VS peek windows. (case=110534)
  • Fix for touch-hold gesture invoking context menu on touchscreens. (case=111020)
  • Improved Goto behavior on symbols #included into namespace scope. (case=111049)
  • Fix for VA interference with Edit.CycleClipboardRing in text files in which VA is not active. (case=110652)
  • Fix for VA comment commands being invoked during XAML source find of / or * in selection. (case=110643)
  • Fix for C# var keyword colored incorrectly in VA windows. (case=110517)
  • VA no longer inappropriately offers parameter list suggestions to macro invocations. (case=109347)
  • Fixed cases in which use of some macros before class definitions caused VA to not underline invalid symbols within the class definition. (case=109637)
  • Fix for Code Inspection failing to parse listed include directories when specified with quotes. (case=110439)
  • Fixes for crashes identified via Windows Error Reporting. (case=110696, case=110697, case=110698, case=110699, case=111288)

General Release Build 2231

Requires maintenance through 2017.08.15

Initial parse of large solutions, especially those that include Unreal Engine 4 (UE4), requires less time. Initial parse times for UE4 have dropped by up to 75%.
Source Links can now find keywords by regular expression.

Added support for system-wide NuGet.Config, and for environment variables in NuGet repositoryPath.
Improved parsing of projects that include Google Test.
Added UI to Source Links page of VA Options dialog to set search directories for Source Links plugins.
Improved support for multiple monitors in mixed-mode DPI.

Bug Fixes

  • Improvements to Smart Select behavior on numeric literals. (case=109428)
  • Use of environment variables in NuGet repositoryPath now supported. (case=105958)
  • [VS2017 15.3] Enabled solution event change notifications (which had been disabled in build 2223). (case=104119)
  • Improved detection of 'Check emptiness with empty()...' Code Inspection. (case=109931)
  • Code Inspection no longer offers nullptr quick fix in .c files. (case=109043)
  • Fix for missing Code Inspections due to include path problem. (case=109844)
  • Fix for bad code resulting from running the 'convert typedef to using' Code Inspection on a function typedef. (case=109745)
  • Fixed Smart Select behavior on lines where multiple variables are declared and initialized. (case=98589)
  • Fixed Smart Select behavior in C# interpolated strings. (case=106091)
  • Fix for missing dot to arrow conversion on an instance of a raw pointer whose type was defined with 'using' keyword. (case=109767)
  • Fix for symbol resolution failure of struct in an enclosing class in nested namespaces. (case=109768)
  • \# no longer causes text to be identified as a VA Hashtag. (case=108807)
  • Goto and Goto Related now work on VA Hashtags that have hyphens (when the behavior is enabled). (case=109520)
  • Fixed case in which nested class and struct definitions were listed twice in the Goto Member dialog. (case=109339)
  • [VS2017] Vcpkg directories now identified as system include directories. (case=109042)
  • Fix for parsing of C# lock statement. (case=104206)
  • Fix for parsing of C# null-conditional operator. (case=104904)
  • Fix for Source Links GitHub plugin not using specified port number. (case=109746)
  • [VS2010+] Message windows from .exe installer now appear on Windows Taskbar. (case=109372)
  • Fix for incorrect line number displayed in tooltips of the Goto Member dialog. (case=109202)
  • Fixes for various Code Inspection crashes. (case=105275, case=109004, case=109145, case=109556. case=109696, case=109808, case=109811, case=109954)
  • Fixes for crashes identified via Windows Error Reporting. (case=108622, case=109146, case=109147, case=109810, case=110325, case=110347)

General Release Build 2223

Requires maintenance through 2017.06.22

Improved performance of Open File in Solution (Shift+Alt+O) dialog in binary distributions of Unreal Engine 4.

Bug Fixes

  • Fix for load of Open File in Solution dialog when no solution is loaded and disk-based search is enabled. (case=106017)
  • [VS2017] Disabled notifications of changes to the open solution to work around a problem in Visual Studio that caused errant "Specified cast is not valid" compilation errors. Learn more. (case=104119)

General Release Build 2219

Requires maintenance through 2017.06.15

Source Links, previously a standalone extension, is now integrated into Visual Assist. Source Links connects comment substrings to external applications and websites, such as bug trackers, case managers, documentation, and source code control systems.

Learn more.

Open File in Solution (Shift+Alt+O) dialog now allows inclusion of files in solution directories that are not explicitly part of a solution, and inclusion of files otherwise hidden by extension.

New Code Inspections:
  • Check emptiness with empty() instead of size()
  • Redundant get() on smart pointer
  • Redundant 'return' or 'continue' statement
  • Reset unique_ptr with '= nullptr' instead of delete 'p.release()'

Learn about Code Inspection.

Find References now designates class creation/construction hits.

By default, symbols declared within \Program Files are now always considered stable, even if the containing files are part of a solution. Such symbols are therefore excluded from the Find Symbol (Shift+Alt+S) dialog, and can appear in italics. VA Hashtags in the files are also excluded from the VA Hashtags tool window.

Files in \Program Files that are part of a solution still appear in the Open File in Solution (Shift+Alt+O) dialog, but as both Solution Files and Shared System Files. Exclude the files from the dialog using the filter "-\Program".

Users with a binary distribution of Unreal Engine 4 can now see stable engine symbols in italics if the engine distribution was installled to \Program Files.

Exclude engine files from the Shift+Alt+O dialog with the filter "-\UE_4".

Registry setting is available to run Visual Assist parsing threads at low priority.

Learn more.

Bug Fixes

  • [VS2012+] Changing the Platform Toolset of a project no longer requires solution reload for VA to see changes of the include paths. (case=61645)
  • [VS2017 15.3] Enabled solution event change notifications that were disabled in VS2017 15.0-15.2 for case=103990; OFIS now reflects changes to solution without needing solution reload. (case=104119, case=108535)
  • The Use Using and make_unique Code Inspections are now disabled by default in VS2010-VS2012. (case=108382, case=108490)
  • Fix for failure of Code Inspection to use appropriate settings in some cases. (case=108533, case=108493)
  • Fixed case in which Code Inspections were not flagged in some files opened during solution load. (case=103667)
  • Fixed case in which Introduce Variable improperly attempted to replace inappropriate source. (case=102782)
  • Fix for highlighting of VA Hashtags being inadvertently dependent upon Highlight References. (case=108516)
  • Fixes for various Code Inspection crashes. (case=106018, case=108197, case=108267, case=108466, case=108599, case=108804, case=108812)
  • Fixes for crashes identified via Windows Error Reporting. (case=108196, case=108623, case=108626, case=108627)

General Release Build 2217

Requires maintenance through 2017.04.26

The Open File in Solution dialog can now be interrupted without the dialog's closing.

Press Esc or click Stop to interrupt loading of system files. (Interrupting does not affect the loading of solution files.)

Added a Code Inspection to convert unadorned, ASCII strings with escaped characters to raw string literals.

Bug Fixes

  • Code Inspection now supported in Shared Items Projects. (case=104861)
  • Code Inspection honors forced include compilation flag. (case=105288)
  • Code Inspection now available in the Visual Studio Preview Tab. (case=104056)
  • Fix for Encapsulate Field incorrectly handling some binary operators. (case=103821)
  • Fix for "Replace with emplace_back" Code Inspection improperly handling some arguments. (case=104506)
  • Code Inspection no longer flags "Destructor body can be replaced with '= default'" in VC++ toolsets earlier than VS2013. (case=105286)
  • Fix for bad formatting after convert to range-based-for. (case=103137)
  • Convert to range-based-for now preserves iterator type. (case=104834)
  • Fix for incorrect comment displayed in VA Hashtags window for some hashtag instances after execution of Goto Related on an instance of the hashtag. (case=105593)
  • Fix for inconsistent trigger range on make_unique and make_shared code inspections. (case=105492)
  • Variables created by conversion to range-based-for whose names are based on symbols with the prefix m_ have the prefix stripped from the new name. (case=104910)
  • Fix for incorrect type deduction by Introduce Variable on some template functions. (case=102781)
  • Fix for pause caused by Code Inspection when opening files in some projects. (case=105153)
  • Improved response of group selection in Code Inspection Results window. (case=105594)
  • VA Step Filter now stores file paths relative to solution so that filter configuration can branch with source code. (case=97565)
  • Symbols located via Vcpkg are rendered in italic (if the italic option is set) and files are listed as [Vcpkg] in OFIS (when 'Show only files...' is unchecked). (case=100271)
  • Adding registry setting to disable #include completion (binary value named IncludeDirectiveCompletionLists). (case=105000)
  • Fix for poor response while typing #include directives in project with large number of include directories. (case=105151)
  • Fix for failure of double-click on file in VA Step Filter to go to expected line. (case=105155)
  • Fix for editor extension exception reported by Visual Studio after install when SourceLinks was also installed. (case=104914)
  • Fixes for various Code Inspection crashes. (case=104863, case=105091, case=105137, case=105246, case=105300)
  • Fixes for crashes identified via Windows Error Reporting. (case=105277, case=105488, case=105489, case=105620)

General Release Build 2212

Requires maintenance through 2017.03.23

Added support for Unreal Engine 4 keywords Super and Cast, and made GoTo Implementation (Alt+G) work for methods declared via UFUNCTION. Learn to enable the support.

Code Inspection, a feature introduced in build 2210, is available also in Makefile projects. Learn about Code Inspection.

Bug Fixes

  • [VS2017] Fix for Code Inspection not being available in projects created in previous versions of Visual Studio when the experimental C++ feature Faster Project Load is enabled. (case=104634)
  • [VS2017] Fixed failure during load of some folder-based solutions. However, settings in cmake folder-based projects are not currently supported. (case=104738)

General Release Build 2210

Requires maintenance through 2017.03.08

Added support for Visual Studio 2017.
Added Code Inspection, a new feature based on LLVM/clang that analyzes code as you edit. Initial checks offer to modernize C++. Feature is off by default because it is under active development. Enable in the options dialog for Visual Assist.

Learn more.

Open File in Solution (Shift+Alt+O) now searches for files in system include paths when "Show only files in current solution" is unchecked.

Added support for Unreal Engine 4 keywords Super and Cast, and made GoTo Implementation (Alt+G) work for methods declared via UFUNCTION.Support for UE4 will be included in the next build of Visual Assist.
Added options to select alternate actions for Ctrl+Mouse-Wheel in the text editor.

Rename Files better supports changing of case only. Invoke Rename Files using Shift+Alt+Q when in whitespace. Learn more.

Visual Assist now reads include paths specified in CppProperties.json of folder-based C++ projects.
Overloaded resolution is applied to the constructors sub-menu of GoTo Related.

Bug Fixes

  • [VS2017] Fix for cast errors reported during compilation of projects created in previous versions of Visual Studio when the experimental C++ feature Faster Project Load is enabled. (case=103990)
  • Multiple fixes and improvements to overload resolution for Goto and Goto Related. (case=100046, case=100047, case=100048, case=100265, case=100311, case=100312, case=100313, case=100333, case=100402, case=100630, case=100737, case=100751, case=101021, case=101249, case=101287, case=101366, case=101367, case=101515, case=102922)
  • Multiple UI improvements to Address Resolver and PDB Explorer. (case=100122, case=100168, case=100169, case=100170, case=100202, case=100336, case=100350)
  • Fixed parsing of anonymous enums that specify size. (case=62046)
  • Fixed case in which symbols from VS2013 include paths were inappropriately displayed in VS2015. (case=65910) 12765
  • Fix for failure to suggest VA Hashtags when solution has more than 1000 hashtag instances. (case=102926)
  • Fix for Goto Member not displaying any members for class defined in source file that is open, but not included in the current solution. (case=100459)
  • Fixed intermittent empty list in Goto Member dialog. (case=100600)
  • Fixed incorrect use of C++ scope resolution operator in C# suggestion for new. (case=101544)
  • Fixed resolution of C# var literals. (case=101919)
  • Prevent Move Implementation to Header from executing when no target file has been identified. (case=102715)
  • Fix for files missing from OFIS (until solution reload) when new project added to loaded solution (regression in 2114). (case=102228)
  • Fix for some class instances incorrectly marked as class definition in Find References Results window. (case=104019)
  • Fixes for crashes and deadlock identified via Windows Error Reporting. (case=102556, case=103360, case=103538, case=103869, case=104121)

General Release Build 2118

Requires maintenance through 2016.12.12

Added support for Visual Studio 2017 RC.

Bug Fixes

  • [VS2017] Fix for erroneous report of failed installation to localized versions of Visual Studio 2017 RC. (case=101392)
  • Fix for Clone command in Find References Results (regression in 2116). (case=101957)
  • Fix for members listbox that temporarily hangs in certain circumstances (regression in 2107). (case=101940)

General Release Build 2116

Requires maintenance through 2016.11.29

Added preliminary support for Visual Studio 2017 RC. (Previous "15" previews are no longer supported.) See this forum announcement for the state of support.

Bug Fixes

  • [VS2017] Support for new Visual Studio extension manifest. (case=100594)
  • [VS2017] Exe installer supports side-by-side installations of VS2017. (case=100590)
  • [VS2017] Support for Faster Project Load feature of VS2017 C++. (case=100735)
  • During #include file completion, inserting a directory name before a file name no longer causes the file name to be eaten. (case=100878)
  • Improved caret placement after #include completion. (case=100874)
  • Added checkbox to Suggestions page of Visual Assist Options dialog to turn off all Visual Assist listbox features. (case=100966)
  • Fix for false reporting of error during Rename Files in C# projects. (case=101530)
  • Fix for a caught exception reported when opening the Visual Assist Keybindings dialog in some environments. (case=101436)
  • Fix for crash in Options dialog identified via Windows Error Reporting. (case=100989)
  • Fix for crash at exit that sometimes occurred if the Tip of the Day dialog was still running when exiting the IDE. (case=100997)
  • Fix for crash at the end of IDE shutdown identified via Windows Error Reporting. (case=101487)
  • [VC6] Fix for crash during startup identified via Windows Error Reporting. (case=100996)

General Release Build 2114

Requires maintenance through 2016.10.15

Added preliminary support for Visual Studio "15" Preview 5. (Other Preview versions are not supported.)

Suggestion Lists and Enhanced Listboxes are not yet available in Preview 5.

The C++ experimental feature 'Faster Project Load' is not supported.

Preview 5 versions 25802 and 25807 have been tested. Run the Visual Studio Installer (a start item after installation of the IDE) to get the newest version of the IDE.

If you uninstall Visual Assist and Visual Studio "15" crashes during startup, see this forum announcement for reset instructions.

Bug Fixes

  • Fix for crash that occurs when processing certain macros (regression in 2112). (case=100596)
  • Tip of the Day dialog is displayed on a background thread (no longer blocks load of solution, etc). (case=2324)
  • Fix for stall that occurs in certain situations when using Alt+O after running Add Class. (case=100382)
  • Fix for unrecognized symbols after files located in non-project solution folders are opened and then closed. (case=100216)

General Release Build 2112

Requires maintenance through 2016.09.16

Visual Assist .exe installer targets and installs to Visual Studio Enterprise "15" Preview 4.
New dialog lists and explains all shortcuts related to Visual Assist. Open via VAssistX | Help | Keyboard Shortcuts.

New dialog displays additional, recommended shortcuts for Visual Assist. Dialog opens one week after installation, or via VAssistX | Help | Keyboard Shortcuts | Recommended.

Open File in Solution dialog now supports opening of files by fully qualified path, even for files that do not appear in the dialog list.
Open File in Solution dialog now supports opening of files at specific line numbers.

Include ":lineNumber" after filtering to a specific file.

Include "(lineNumber)" with a fully qualified path, even if the file is not in the dialog list.

Learn more.

Goto (Alt+G) and Goto Related (Shift+Alt+G) now differentiate between method overloads in C/C++ based on context of site invocation.

Behavior of Smart Select (Alt+[ and Alt+]) can be adjusted on a new page in the options dialog.

Reset Editor Zoom now affects the global zoom state of Visual Studio 2015 rather than just the state of the active editor.
New debug tool, Address Resolver, efficiently converts text versions of virtual addresses, e.g., a call stack, into resolved symbols found in PDBs. Learn more.

New debug tool, PDB Explorer, lets one efficiently browse and search for symbols in a PDB. Learn more.

Improved speed of loading solutions that have a large number of native projects.

Bug Fixes

  • [VS2015 Update 3] Fix for hang when loading some solutions that contain Android or Javascript projects. (case=99166)
  • [VS2012+] Fixed performance degradation of file loading that worsened as the number of open editors increased. (case=99323)
  • Fixed case in which alt+o failed to locate file a match in a sub-directory. (case=98947)
  • Fixed cases in which selection of item from VA Members Listbox unexpectedly overwrote text to the right of the insertion point. (case=99511)
  • Prevent Goto from identifying case-insensitive symbol matches in some cases. (case=99358)
  • Fixed various cases in which identifiers generated by macros were not properly parsed. (case=99486, case=99509, case=99795, case=99816, case=99945)
  • Fixed Goto Member of C++/CLI 'interface class' and 'interface struct' object types. (case=99536)
  • Fixed selection of 'find text' match sometimes not being visible due to line scrolling off screen upon creation of VA Nav Bar. (case=99761)

General Release Build 2108

Requires maintenance through 2016.08.01

Bug Fix

  • Fix for failure of Visual Assist to properly load in some circumstances (regression in build 2107). (case=98983)

General Release Build 2107

Requires maintenance through 2016.07.15

New refactoring commands move implementations to header files and class declarations. Learn more.

Smart Select commands that extend and shrink selections do so with finer granularity. Learn more.

Smart Select block commands (Alt+] and Alt+[) now begin selections with the current statement, and non-block commands (Shift+Alt+] and Shift+Alt+[) now begin with the current word. Registry settings make underscore and change-of-case delimit a word. Learn more.

Open Symbol in Solution dialog can display file and directory columns to make it easy to discern like-named symbols found throughout a solution. Learn more

Enable the columns in the context menu of the dialog.

Tooltips that appear when scrolling or hovering in several dialogs can be hidden. Setting is available in the context menus of Goto Member, Open File in Solution, and Open Symbol in Solution. For the symbols dialog, tooltip content is redundant with file and directory columns.

Open Corresponding File (Alt+O) now searches more places for files, including .., ./inc, and ./include. Learn more
Sorting of lines now prompts for sort order and case sensitivity. Learn more

Parsing of solutions can be restricted to a single thread, without restart of the IDE, to accommodate other tasks with higher priority. Find the setting on the Performance page of the options dialog for Visual Assist. Learn more

New entry in context menu excludes cross-references from VA Hashtags tool window. Learn more

Added access to history of saved versions if auto-recovery feature of Visual Assist is enabled. Learn more

Bug Fixes

  • [VS2010+] Fix for VA Navigate Back (alt+left arrow) failing to return to recorded column position. (case=97613)
  • Fix for Smart Suggestion of vector of shared_ptr. (case=96425)
  • Fixed Smart Suggestion namespace qualification of enum values in user-provided sample. (case=98073)
  • Fix for failure to deduce auto rvalue ref type in range-based for loop. (case=96952)
  • Sort Selected Lines honors system locale. (case=97868)
  • Fix for Create Declaration being confused by a function try block. (case=93234)
  • Fix for failure of Goto to work with variable defined using decltype expression. (case=93387)
  • Various fixes for Smart Select selections. (case=94946, case=95812)
  • Improved auto type deduction in range-based for loops. (case=86248)
  • Improved Smart Suggestions of template variables in certain scenarios. (case=91733)
  • Fixed case in which parentheses were not automatically matched when complete with any character was enabled and '(' was used to commit the listbox selection. (case=97044)
  • Improved results of Goto and Goto Related on namespace usages that reference nested namespaces. (case=68241)
  • Fix for snippets inserted with incorrect line endings in empty files. (case=97752)
  • Fixed case in which VA incorrectly handled static_assert in a class definition. (case=97232)
  • When Goto is invoked on an external type in XAML, VA prompts to open the Object Browser (instead of searching it without prompting). (case=96541)
  • Find Symbol in Solution dialog lists symbols defined in source files imported via nuget packages. (case=97175)
  • Fixed case in which VA Outline reported incorrect range of a #define in certain situations. (case=97224)
  • Add Missing Case Statements now supports switches on properties. (case=96542)
  • Fixed parsing of D2D interfaces and types that implement them. (case=97120)
  • Fixed case in which symbols defined via system include directories might be recognized in one solution but not in another. (case=97154, case=97190)
  • Fix for Move Implementation commands not properly selecting moved code in some cases. (case=96852)
  • Fixed case in which include resolution of files in system include directories might not be properly resolved. (case=97154)
  • Fixed case in which VA Snippet was processed with different end results when executed with in-editor placeholder expansion vs placeholder expansion via dialog. (case=96968)
  • Disabled implementation of case=4568 due to unexplained lag while typing templates in a specific situation (can be re-enabled via edit of reg value ReparseIfNeededMaxFileSize2). (case=98305)
  • [VS2015 Update 3] Enabled in-editor expansion of snippet input placeholders. (case=95894)
  • [VS2015 Update 3] When changing the state of the automatically extend multi-line comments setting, VA prompts to make the opposite action with the IDE provided feature in C#. (case=95605)
  • [VS2012+] Fixed positioning of Goto and Goto Related menus when invoked in XAML files. (case=98462)
  • [VS2010+] Fixed tab order in Snippet Editor. (case=98606)
  • [VC6] Fix for deadlock in some situations after using Add Class. (case=98643)

General Release Build 2102

Requires maintenance through 2016.06.02

Bug Fixes

  • Fix for some template methods missing from Methods in File list (Alt+M) (regression in 2097). (case=97700)
  • Fix for bad letter spacing when using some fonts in non-editor windows on Windows 10 (regression in 2097). (case=93507)

General Release Build 2098

Requires maintenance through 2016.05.12

Added support for Visual Studio Enterprise "15" Preview 2 when the IDE is installed using its ISO or web installer. (Preview 1 is no longer supported.)

Bug Fixes

  • [VS15] Fix for failure to fully initialize in some environments (with caught exception reported by Visual Studio when opening an instance of the editor). (case=97065)
  • [VS2010+] Fix for caught exception reported by Visual Studio at startup in some environments (regression in 2097). (case=97066)

General Release Build 2097

Requires maintenance through 2016.05.09

Added support for Visual Studio Enterprise "15" Preview 1 when the IDE is installed using its ISO or web installer. Support is available in the exe installer and vsix installer of Visual Assist.

Added an alternate location for roaming data, e.g., OneDrive. Learn more.
Added option to display global commands, which apply to all solutions, in the context menu of the VA Hashtags tool window. Learn more.

Added support for themes to the VA Snippet Editor in Visual Studio 2010 and newer IDEs.

Bug Fixes

  • [VS2015+] Improved completion listbox contents in C#. (case=95744)
  • Fixed failure in some cases to parse template that had default parameter values. (case=71786)
  • Fix for Create from Usage not offering to create class in 'new' expression when the new class is different than the type of the declared variable (base/derived class hierarchy). (case=86439)
  • Fix for parse of using keyword/type alias of template. (case=88462)
  • Fix for parse of alias when '=' is not separated by spaces. (case=95849)
  • Fixed incorrect parameter bolding in parameter info for function whose return type is decorated with multiple SAL annotations. (case=96707)
  • Fixed case in which Implement Virtual Methods placed generated code into a comment at end of file. (case=96191)
  • Fixed case in which mouse-clicks were improperly processed in xaml source. (case=96808)
  • [VS2010+] Fix for reset of Step Filter data upon install of updated version of VA (which will occur again with build 2097 but will not occur going forward). (case=96405)
  • Fixed incorrect preprocessor directive indentation when invoking a VA Snippet that starts with the $end$ reserved string. (case=96374)
  • Improved letter spacing of colorized text in non-editor windows on Windows 10. (case=93507)
  • Fix for processing of changes to project properties (for example, include directories) not being honored until reload of solution (regression in 2089). (case=96945)
  • Fixes for crashes identified via Windows Error Reporting. (case=96739, case=96741)

General Release Build 2094

Requires maintenance through 2016.03.25

Bug Fixes

  • [VS2015 Update 2] Disabled in-editor placeholder expansion of VA Snippets due to snippet expansion bug in Update 2. (case=95894)
  • Fix for About dialog crash identified via Windows Error Reporting. (case=95893)
  • [VC6] Fix for a message in the Options dialog appearing repeatedly. (case=95603)

General Release Build 2093

Requires maintenance through 2016.03.11

Added support for Visual Studio 2015 Update 2 RC.
Added a help box to the options dialog. Follow in-help links to external documentation.

Made refactoring commands available immediately after symbols are created.

Made Create from Usage set visibility to private for methods referenced only in a class definition.
Made Implement Interface respect visibility of methods in base classes.
Added parsing and coloring support for Unicode and raw string literals, constexpr, and thread_local (C++11).

Added parsing and coloring support for single-quote digit separators, and standard user-defined literals (C++14).

Bug Fixes

  • [VS2015] Fix for missing tooltip text of some C# listbox items. (case=94734)
  • Fix for broken GUID creation during expansion of inline snippets in C++ (regression in 2073). (case=95237)
  • Open File in Solution no longer opens external editor twice. (case=95062)
  • Template arguments in method return types are now fully qualified by Create Implementation. (case=26956)
  • [VS2015 Update 2 RC] Disabled in-editor placeholder expansion of VA Snippets due to snippet expansion bug in the RC build of Update 2. (case=95473)
  • Fix for Encapsulate Field causing bad code due to constructor initialization list using brace initialization. (case=93992)
  • When Move Implementation to Source File is executed on an inline method of a template class, the implementation is moved outside of the class definition but kept in the header file (unless already outside of the class definition, in which case the implementation is moved to the source file). (case=67727)
  • Function try block no longer causes incorrect positioning during Create Declaration. (case=93234)
  • [VS2015] Fixed case in which Parameter Info tooltip failed to appear. (case=94912)
  • Fixed instance where Introduce Variable incorrectly removed grouping parentheses. (case=95033)
  • Fixed case in which dismissing a listbox with a Rename suggestion prevented reparse from occurring until moving off of current line. (case=95272)
  • Fix for truncated tooltip in VA Hashtags toolwindow. (case=93955)
  • Parser no longer confused by GCC __attribute__. (case=95299)
  • Fixes for crashes identified via Windows Error Reporting. (case=94885, case=95009, case=95010)
  • [VS2010] Fix for crash when VSColorOutput extension is enabled. (case=94928)
  • [VS2010] Fix for cropped text in Find References results window when enhanced coloring is disabled. (case=94718)

General Release Build 2089

Requires maintenance through 2016.02.01

Encapsulate Field in C# can designate a field internal, thereby making the field accessible only within files in the same assembly.

Smart Suggestions for pointers work with typedefs.

Improved response when typing in Visual Studio 2015.

Bug Fixes

  • Fix for intermittent hangs in code with unnamed template parameters that have default values. (case=94492)
  • Improvements to scoping of function return types during Create Implementation. (case=1247)
  • Fixed resolution of keyword 'this' in source files with using namespace directives. (case=4135)
  • Fix for Change Signature failing to update parameter references in source file with using namespace directives. (case=7204)
  • Fix for Rename Files failure when run on files just generated by VS Add Class feature. (case=91385)
  • Add/Remove Braces command now available in the case statements of switch blocks. (case=92040)
  • Fix for parse of constructor implementation (of class in multiple nested namespaces) in source file with multiple using namespace directives. (case=94608)
  • Fix for Goto failure to locate implementation in source file with multiple using namespace directives. (case=93987)
  • Fixed instance in which Create Implementation executed from header file failed to identify proper location in source file for generated implementation. (case=92499)
  • Goto command executed in comment now supported at start of word. (case=94296)
  • [VS2012+] Fix for selection being created in editor during mouse click that gives focus to editor that is in preview state. (case=69901)
  • [VS2015] Fix for C# listbox setting in Options dialog failure to be committed to registry. (case=94282)
  • [VS2013+] Fix for hang during solution load identified via Windows Error Reporting.
  • [VC6] Fixed crash at shutdown identified via Windows Error Reporting.

Visual Assist
Team Blog

Read the latest news.

Don't miss out on
all the goodies


Renew Maintenance
Continue the software updates and technical support for your Standard License

Learn more