- NEW Fix for unintended keyboard focus switching.
Summary:
Visual Assist 2024.8 is live and is available to download! This update introduces a key fix for an issue that multiple users have encountered regarding keystroke focus inside the IDE.
The issue was the caret focus alternating between windows unintentionally. For instance, when typing into certain dialogs (e.g. Visual Studio’s Find and Replace box) the first keystrokes would register correctly in the dialog then would suddenly jump and start typing elsewhere (in this case in the main editor window instead).
This update fixes the unintended behavior. Plenty of thanks to users who submitted reports regarding this issue. Please continue to inform our team of similar issues by contacting support.
Download the release now.
- NEW New Refactoring! Sort Methods in Source is released as beta.
- NEW New Refactoring! Promote Lambda to Method is released as beta.
- NEW Context-sensitive naming in Shift+Alt+Q menu items.
- NEW Option to stop highlighting Read and Write references when you move your mouse away.
- NEW New reserved strings for VA snippets, especially useful for CMake scripts.
- NEW VA Nav Bar dropdown to switch between projects.
- NEW Option to adjust overwrite behavior when accepting a completion.
Summary:
We are excited to announce the release of 2024.7 of Visual Assist! This update introduces several powerful features aimed at improving your coding efficiency and project navigation. Download the release now.
This release is packed with powerful new features and enhancements designed to streamline your development workflow. It also marks a developmental milestone on Visual Assist’s context aware features and how they are displayed in the UI.
Highlights include a context-sensitive naming in the quick actions menu. Also in this release, improved highlighting for read and write references and the introduction of two beta features—Sort Methods in Source and Promote Lambda to Method. We also introduce new reserved string variables for the project, solution, and file folder names (just the name not full path) which was a requested feature for CMake. Lastly, better navigation with the VA Nav Bar project switching.
Visit our blog for the more detailed release announcement post.
Bug fixes and improvements:
- Fixed error in when renaming items in particular cases.
- Fixed Move implementation header file error when on first line.
- Fixed quick info menu not showing all options properly when enabled.
- UPDATE Fixed a crash which can sometimes happen when saving files
- UPDATE Fixed an installer crash in versions of Windows older than Windows 10
Summary:
VA 2024.6 is here and is available to download!
A small but crucial release coming your way. Visual Assist 2024.6 brings two critical fixes for Visual Assist’s interaction with Visual Studio.
The first fix in this release addresses a critical issue that could sometimes cause Visual Studio to crash when saving files. This fix enhances the stability of the IDE, ensuring a smoother and more reliable experience while working on your projects.
Additionally, we have resolved an issue where the Visual Studio installer would crash on versions of Windows older than Windows 10. This fix ensures that users running older operating systems can install and update Visual Studio without encountering disruptions. This should provide a seamless setup experience across all supported Visual Assist-supported versions of Visual Studio.
We appreciate your patience and feedback as we continue to improve Visual Assist for all our users.
- NEW Greatly improved Find References performance. (Yes, again!)
- NEW Flexible enterprise licensing support.
- UPDATE Fixed Find References crash that could happen in some cases (notably, in Unreal Engine 4.2x)
Summary:
VA 2024.5 is here and is available to download!
Say goodbye to sitting around waiting for search dialogs to finish. VA 2024.5 features yet another round of performance improvements to Find References. Similar to earlier versions, this affects all reference-finding functions such as Rename, Change Signature, Implement Methods and more.
We also include a new type of enterprise licensing intended for simplicity and ease of administration and deployment. Please contact sales for more information.
Lastly, a stability fix for an issue observed with Unreal Engine 4.2. This is associated with the previous update to Find References. While fixing this, we discovered a further way to improve performance in the feature.
Bug fixes and improvements:
- Fixed a crash observed with Unreal Engine 4.2. The issue was related to Find References, and the fix also improved performance in the feature.
- NEW Support for devices using ARM CPUs!
- NEW Support for using '/' as a path delimiter.
Summary:
VA 2024.4 is here and is available to download!
It’s our pleasure to announce a major addition to Visual Assist—supporting ARM!
The highlight of Visual Assist 2024.4 is our new support for Windows ARM devices. This means that Visual Assist is now fully compatible for those of you running Windows on ARM, including in VMs on Apple Silicon, on Surface or Snapdragon devices, and more.
This is a completely new front for us, and we would like to know more about how we can improve the experience for Windows ARM users. If you’re part of the group that would benefit from this update, please let us know more by answering this short survey.
We first asked our community about ARM support some time ago. Since then, we’ve seen growing interest and customer requests – and we’re happy to deliver! We believe that wherever Visual Studio is, Visual Assist should be also, and we’re delivering that with Windows ARM support.
Also in this release: We’ve added support for using a front slash as a path delimiter in our search windows. This is to minimize confusion and add a bit of flexibility depending on your preference.
For a more complete explanation of the release and more information about bug fixes, head on over to our announcement blog.
Bug fixes and improvements:
- Fixed issue where std::tuple would not be recognized in some cases.
- Fixed Move Class to New File jumping to a new file before showing the dialog.
- Fixed broken Discord invite link.
- NEW Greatly improved find references results speed.
- NEW Features that locate references also improved as a result of the change above.
- NEW Enabled support for CUDA source files (Beta finished)
- NEW Move entire class to new files with "Move Class" (Beta finished)
- NEW Create File now allows you to specify a directory.
- NEW Move Implementation will now run Create File immediately if no suitable target is found.
- UPDATE Syntax coloring and feature performance for C# are now more responsive.
Summary:
VA 2024.3 is here and is available to download!
More performance coming your way! Visual Assist 2024.3 brings dramatic improvements to the performance of Find References. Our tests show that a query that usually takes 38 minutes using default Find References, now only takes about 5 minutes in Visual Assist 2024.3. Consequently, this also improves the performance of features that rely on locating references.
Also in this release: key features exit their beta phases. CUDA core development support and the Move Class feature are now classified as stable and enter general availability. Try them out now!
Last of our highlights: great news for C# users. Syntax coloring and basic features have been reoptimized and should be working much more responsive now.
Bug fixes and improvements:
- Fixed issue where Move Implementation would not move the implementation if a new file needed to be created.
- Improved editor performance when editing C#.
- Fixed Add Include issue where C headers would sometimes be added instead of their C++ counterparts.
- Fixed issue where Move Class to New File would sometimes not be offered near macros.
- NEW Initial parse time speed further improved.
- UPDATE Startup time* greatly improved, especially in large solutions.
- NEW Better add include formatting and directory path naming for Unreal Engine.
- Fixed syntax coloring in C# for Visual Studio 2022.
- Fixed compatibility issues with Copilot, AI assistant.
Summary:
VA 2024.2 is here and is available to download!
It’s been only a short time since a performance-focused release – only weeks! – but Visual Assist 2024.2 is here, squeezing even more performance to set it apart from the rest! Read on for a summary of changes or jump straight to the complete announcement blog.
We have two big performance items: both the initial parse time and startup have been made faster. The startup time refers to how fast VA’s features load on solution load; the latter refers to the parser change made in VA 2024.1—which is further improved by anywhere between 20-50% in this release.
Rounding up the release highlights are improvements to how Add Includes are written, especially in Unreal projects, and three major fixes: a fix for a C# coloring bug, a fix for the 'dot' filtering for Open File in Solution, and a fix for Copilot compatibility issue.
We highly recommend reading through the complete announcement blog post to get a more comprehensive explanation of the release.
Bug fixes and improvements:
- Fixed UI conflict with GitHub Copilot.
- Fixed issue where Add Include would sometimes not add the new include.
- Fixed long Add Include paths for some symbols in Unreal Engine 5.3.x.
- Fixed issue where Open File in Solution would sometimes not display results when the filter starts with a dot.
- Fixed issue where C# syntax coloring would not be applied in Visual Studio 2022 17.9.0.
- Fixed issue where readability-magic-numbers Code Inspection would not properly underline hex numbers.
- Fixed issue where GoTo would not navigate to classes without a constructor.
- Fixed issue where suggestions could show suggestions for non-existent types.
- Updated Create Account link to point to the correct page.
- Added Alt+O to Recommended Keyboard Shortcuts as Visual Studio 2022 now uses that binding.
- UPDATE Greatly improved parser performance and initial startup time.
- NEW Navigate directly to a class constructor definition from an explicit constructor call.
- NEW Find references can now find references to class constructor calls.
- NEW Completion dropdown toolbar now displayed by default (without having to mouse over).
- UPDATE Improved header selection to be more accurate for several STL types when using Add Include, such as std::stringstream and Std::once_flag.
Summary:
VA 2024.1 is here and is available to download!
The first release of the year is here with Visual Assist 2024.1. This update is headlined by the overhaul of our parser, which significantly reduces users' initial startup times for projects: VA 2024.1 is up to fifteen times faster to parse. Also in this release: key behavioral fixes for a few or VA’s navigation features, a UI update for the ubiquitous dropdown toolbar, and a plethora of bug fixes and QoL improvements.
We highly recommend reading through the complete announcement blog post to get a more comprehensive explanation of the release.
Bug fixes and improvements:
- Fixed visual issues with completion dropdown toolbar
- Fixed issue where trial activation dialog could display an error and prevent activation
- Fixed issue with new “Magic Numbers” detecting Code Inspection where it was highlighting only a portion of the constant
- Fixed issue where logging could overflow and cause a crash when enabled alongside very large solutions
- Fixed issue where preprocessor directives in shader files were sometimes colored as methods
- Fixed issue where Unreal Engine Create***Subobject symbols were not recognized by our parser
- Fixed issue where changing the signature of an Unreal Engine method which requires a *_Validate thunk would result in rewriting the return of the *_Validate thunk to void.
- Fixed issue where typing a dot the start of the word in a few of our dialogs would result in no hits being displayed
- NEW Instantly share code snippets via email, github, and more using new “Share with Team Member".
- NEW Use inexact searches with Fuzzy Search logic in Open file in solution and Find symbol in solution
- NEW Improved support for braced initialization lists / uniform initialization (C++11).
- NEW Improved support for constexpr, consteval and constinit (C++20).
- NEW Clang ”readability-magic-numbers” code checker with options
- NEW Move an entire class to a new (pair) of files with "Move Class".
- UPDATE honor excluded items setting defined in “.vscode\settings.json” when using open solution
- UPDATE shortcut to select all for Open file in solution
- UPDATE Quotation marks now added by default when using Add Include in an Unreal Engine project.
Summary:
VA 2023.6 is here and is available to download!
The highlights of this release are added functionality to help users navigate source code more deftly with new search filtering options. You can now share code in as easy as two clicks with the new Share with Team Member option, There are also two C++-related improvements for added support for list initialization and a helpful checker to assist with enforcement of coding guidelines.
VA 2023.6 adds functionality to its bread and butter navigation windows. Fuzzy searching (or approximate string matching) is now available when searching through Open file in solution or Find symbol in solution. And another nifty update when using the open files interface: using Ctrl + A to select all now works as expected.
2023.6 also adds support for C++11’s braced initialization lists or uniform initialization and also a new Clang code checker for “numbers, integers, or floating point literals that are embedded in code and not introduced via constants or symbols”—otherwise known as magic numbers.
We highly recommend reading through the complete announcement blog post to get a more comprehensive explanation of the release.
- NEW Support for custom precompiled header files to new intelligent Add Include logic.
Summary:
VA 2023.4 is now available for public download! This release follows the cadence of alternating between big and small releases—largely influenced by the timing of important bug fixes or highly sought after requests.
This release’s highlights are two major bug fixes affecting Visual Studio’s solution startups and code inspections. In fact, this release has been expedited specifically to address these two issues. One was a regression in Visual Studio 2008 and 2005, and the second was introduced by a recent Visual Studio update—2022.17.7. Last time an issue was introduced with a point release of Visual Studio we were slower to react; we are specifically noting that we have a policy of swift resolution to these sorts of issues and this release is an example.
And a new feature has also been added: users can now set custom precompiled header files For added context, new projects in Visual Studio can come with precompiled header files. The main purpose of which is to prevent bottlenecks associated with having to compile with too many includes, especially in large projects.
Precompiled header files should be included first, and Visual Assist’s recently-added intelligent Add Include logic will now take that into account.
Overall, another compact release but should be beneficial to those who are power users of the aforementioned features.
Bug Fixes:
- Fixed crash on solution load in Visual Studio 2008 and 2005.
- Fixed issue where Code Inspections would not function correctly in Visual Studio 2022 17.7+
- NEW Start of official support for the Unity game engine
- NEW Support for Unity engine shader files
- NEW Support for CUDA source files for C/C++ development
- NEW Parser support for template functions with auto / trailing return type and for std::tuple autocompletes
- UPDATE Shader support is now enabled by default (beta finished).
- UPDATE Improved add include logic (intelligent selection of Add Include placement.)
- UPDATE Streamlined Game Development tab of our options dialog in preparation for upcoming additions.
- UPDATE New icons for check / uncheck all in implement methods context menu
- Added notice of combined Visual Studio 2022-2010 marketplace listing.
- Added vector tomato art to FSIS and OFIS.
- Removed phone number requirement to start a new trial
Summary:
VA 2023.4 is now published and is now available to download!
This release marks a major milestone in Visual Assist’s history as it starts its official support for Unity engine development. Starting from the upcoming release, Visual Assist will expand its focus to C# game development as well starting with shader support. Later on, users can expect VA staples such as refined navigation, intelligent autocomplete, code refactoring, and the like to work its way into C# development.
Equally significant is the start of official support for CUDA C/C++ development. Visual Assist’s can now parse and analyze CUDA related syntax, libraries, and APIs so you can have IntelliSense-like features, navigation, and highlighting for CUDA (.cu) files.
We also have a couple of parser improvements for the more complex C++ features. Furthermore, the logic and UI for VA’s features have also been revisited and improved based on user feedback.
It is highly recommended to read through the complete announcement blog post to know more about the changes included in this release.
- NEW Added parser support for “is” operators in C#.
- UPDATE Code inspection engine updated to LLVM/Clang version 16.
Summary:
VA 2023.3 is now available for download! This small release highlights the added support for “is” operators in C#. The is operator is used to check if the run-time type of an object is compatible with the given type or not.
This release also updates the underlying engine responsible for code inspections. As of VA 2023.3, the plugin now uses LLVM/Clang version 16.
There are other tweaks and additions tailored for new users. Overall, a compact release but hopefully helpful to the many users who requested it.
- 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.
- 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.
- 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.
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.
- NEW HLSL shader files are now supported. This feature is in beta in this release. (USH and USF in Unreal)
- NEW Added Code Inspection for cppcoreguidelines-pro-type-member-init clang checker
- NEW Added Code Inspection for readability-string-compare clang checker
- NEW Allow forward slashes (Linux style) to be used in Open File in Solution directory filters
The pièce de résistance of this release is the introduction of support for HLSL shader files. While in beta, you can now use common Visual Assist features for HLSL projects.
Shader file functions are disabled by default. To enable it, go to Visual Assist Options -> Game Development -> Enable support for shader files.
Visual Assist’s library of code inspections also gets two new checkers. The first check involves flagging construction definitions with incomplete initialized fields. While the second checks for a common mistake when using the compare method, a sort function, to compare strings.
This release also adds Linux-style shorthand to Open File in Solution which adds a filter for files contained in a certain directory. For example, "\TestContent" filters all files not contained in a directory starting with "TestContent". "/TestContent" to be a directory filter now too.
Bug Fixes
- Fix for Unreal Engine core redirect being offered on types with no markup
- The Unreal Engine core redirect checkbox in dialogs will always be unchecked on dialog open, instead of remembering last state
- Fix for issue where Modify Expression would be inconsistently offered in whitespace
- Fix for issue that could cause some icons to not load
- Fix for incorrect OS version reported in Windows 11
- Fix for poor contrast in Create File dialog edit control
- Fix for issue where Insert Path dialog radio button text would sometimes be cut off
Keep the reports coming. Send us a message or start a thread on the user forums for bug reports or suggestions.
- NEW Unreal Engine 5 now officially supported
- NEW Unreal Engine Core Redirect -aware renaming of classes, structs and more
- NEW Sort Selected Lines, Spell Check and Insert Path now function in more file types by default
- NEW Added Code Inspection for performance-noexcept-move-constructor clang checker
- NEW Added Code Inspection for performance-move-const-arg clang checker
- NEW High DPI icons matching the new VS 2022 style
VA 2022.2 is here with new features and updates!
Firstly, our game developer users will be glad to hear that Visual Assist now officially supports Unreal Engine 5. We’ve also added a really useful productivity feature: renaming assets now supports Core Redirect. This is an Unreal feature that tracks old and new names to keep code and Blueprints that refer to the old name functioning, and now Visual Assist will add this data when renaming. This will allow you to rename more freely (an important part of code maintenance or code changes) without worrying about your game malfunctioning due to a missing redirect or needing to manually add the redirects.
And for those working in Visual Studio 2022, we’ve also spruced up VA’s icons with higher DPI to scale better and fit the IDE’s style changes.
Next up, a number of VA’s coding assistance features will now be turned on by default for more file types. This makes it easier to recognize places where the feature can be used. For example, sort selected lines and spell check now automatically work for plain text files.
Lastly, some code inspection improvements. The first checks for an easy-to-make mistake where std::move does nothing, where it should speed up copying of a type. The second check validates user defined move constructors to ensure they are properly marked noexcept, which would prevent them from being used.
Bug Fixes
- Fix for Ctrl + Backspace entering a character into VA View search boxes
- Fix for Inline Snippets to prevent surrounding the input placeholder when typing characters such as "("
- Fix for our exe installer to prevent a possible failed install loop
- Fix for Introduce Variable being offered in whitespace of comment blocks
- Fix for incorrect scope deduction with "using x" and inline namespaces
Plenty of thanks to everyone who submitted bug reports. It helps us keep track of fixes to include in each update. Reminder: if you have any comments, suggestions, or encounter any errors, please send us a message or start a thread on our user forums.
- NEW Support for C++20 style nested inline namespace definitions
- NEW Code inspection support for ReSharper clang-tidy skip directives
We’ve just released the first update for VAX for 2022! Download the latest version now to get access to new features and fixes.
This release was earlier than expected, but getting updates and fixes to our users as fast as possible is something we prioritize.
There are two new features in this update. The first one is syntax support for C++20’s nested inline namespace definitions. Secondly, our code inspection now fully recognizes the clang-tidy skip directives from ReSharper. This will be beneficial if you’ve added a lot of code check directives in your projects and are transitioning to VAX.
We’ve also fixed a few bugs based on reports and requests. For more information about the changes, head to the Whole Tomato blog.
And as always, if you have any comments, suggestions, or encounter any errors, please send us a message at [email protected].
- 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.
- 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.
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!
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.
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)
- 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.
- 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.
- 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)
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.
- NEW Code Inspections for performance-inefficient-vector-operation and performance-faster-string-find to help optimize your use of vectors and strings.
- 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.
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!
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.
- 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 [email protected] 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 1.5.0.10. (case=141861) 16854, 16662, 16680
- 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 [email protected] 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)
- 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)
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)
- 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)
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)
- 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)
- 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)
- 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.
- 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)
- 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)
- 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)
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
- 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)
-
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)
-
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.
- 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)
- 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)
Bug Fix
- Fix for failure of VA Options dialog to load in some circumstances. (case=114812)
- 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)
- 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)
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)
Bug Fix
- Fix for hang that can occur when Smart Suggestion is displayed for UPARAM invocation in Unreal Engine (UE4) source. (case=111404)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
Bug Fix
- Fix for failure of Visual Assist to properly load in some circumstances (regression in build 2107). (case=98983)
- 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)
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)
- 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)
- 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)
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)
- 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)
- 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.