Great stuff happens all the time.

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


General Release Build 2237

Requires maintenance through 2017.10.03

Bug Fix

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

General Release Build 2235

Requires maintenance through 2017.09.25

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

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

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

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

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

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

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

Learn to manage tasks and set bookmarks with VA Hashtags.

Bug Fixes

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

General Release Build 2231

Requires maintenance through 2017.08.15

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

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

Bug Fixes

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

General Release Build 2223

Requires maintenance through 2017.06.22

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

Bug Fixes

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

General Release Build 2219

Requires maintenance through 2017.06.15

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

Learn more.

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

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

Learn about Code Inspection.

Find References now designates class creation/construction hits.

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

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

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

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

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

Learn more.

Bug Fixes

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

General Release Build 2217

Requires maintenance through 2017.04.26

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

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

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

Bug Fixes

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

General Release Build 2212

Requires maintenance through 2017.03.23

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

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

Bug Fixes

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

General Release Build 2210

Requires maintenance through 2017.03.08

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

Learn more.

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

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

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

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

Bug Fixes

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

General Release Build 2118

Requires maintenance through 2016.12.12

Added support for Visual Studio 2017 RC.

Bug Fixes

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

General Release Build 2116

Requires maintenance through 2016.11.29

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

Bug Fixes

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

General Release Build 2114

Requires maintenance through 2016.10.15

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

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

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

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

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

Bug Fixes

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

General Release Build 2112

Requires maintenance through 2016.09.16

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

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

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

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

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

Learn more.

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

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

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

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

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

Bug Fixes

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

General Release Build 2108

Requires maintenance through 2016.08.01

Bug Fix

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

General Release Build 2107

Requires maintenance through 2016.07.15

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

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

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

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

Enable the columns in the context menu of the dialog.

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

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

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

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

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

Bug Fixes

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

General Release Build 2102

Requires maintenance through 2016.06.02

Bug Fixes

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

General Release Build 2098

Requires maintenance through 2016.05.12

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

Bug Fixes

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

General Release Build 2097

Requires maintenance through 2016.05.09

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

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

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

Bug Fixes

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

General Release Build 2094

Requires maintenance through 2016.03.25

Bug Fixes

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

General Release Build 2093

Requires maintenance through 2016.03.11

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

Made refactoring commands available immediately after symbols are created.

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

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

Bug Fixes

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

General Release Build 2089

Requires maintenance through 2016.02.01

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

Smart Suggestions for pointers work with typedefs.

Improved response when typing in Visual Studio 2015.

Bug Fixes

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

General Release Build 2086

Requires maintenance through 2015.12.16

Reorganized options dialog makes it easier to find settings. Learn more.

Added ability to assign Shift+Right-Click to an action. Learn more.

Improved priority of suggestions when case varies.

Added command in context menu of VA Outline to disable tooltips.

Improved performance when editing a large number of VA Snippets.
Reduced memory footprint during initial parse of a solution.

Bug Fixes

  • Smart Suggestion to variable of type std::shared_ptr/unique_ptr suggests std::make_shared/make_unique initialization. (case=92897)
  • Reduced memory held after rebuild of symbol database when very large solutions are loaded. (case=92495)
  • Improved default selection in suggestion list when typing a symbol that has both a case-sensitive match and a separate case-insensitive match. (case=93633)
  • Fix for Create Implementation and Move Implementation placing generated code in incorrect position when target file ends with a comment in certain scenarios. (case=92965, case=93336)
  • Fix for Implement Virtual Methods offering to implement a method declared final in a base implementation. (case=93821)
  • Fixed parse issue that caused Introduce Variable and Add Missing Case Statements to fail in some scenarios. (case=90750)
  • Fixed Smart Select failure to shrink selection in files with Unix line endings. (case=93674)
  • Add/Remove Braces now available for execution from within string literals. (case=93411)
  • Fixed truncation of very long constructor during Create Implementation and Move Implementation. (case=93482)
  • Fixed Definition Window in VA Nav Bar failure to display definition of simple macro in source file. (case=93422)
  • Fixed hang of background parsing thread in certain solution unload/reload scenarios. (case=93487)
  • Uncomment no longer deletes space character after comment delimiter if option to insert space when creating comment is not set (also added registry entry to restore old behavior in case that is preferred). (case=93481)
  • [VS2010+] Fixed various issues in VA Snippet Editor. (case=92719, case=93235, case=93242)
  • [VS2010+] Added registry setting to support text files serviced by custom language services. (case=65881, case=93718)
  • [VS2015] Fix for listbox drawing artifacts when vertical scrollbar is removed due to contents being filtered out via the filtering toolbar. (case=93635)

General Release Build 2083

Requires maintenance through 2015.11.18

Enhanced Listboxes are available for C# users of Visual Studio 2015.

Encapsulate Field now updates references and can limit visibility of the encapsulated field or make the accessors public. Learn more.

Added support for C++ 11 template aliases.

Registry setting allows consistent, not smart, overwrite of existing member or completion.

In Snippet Editor, UI permits simple assignment of a character that surrounds selection with an expanded snippet before selection is destroyed. For example, 'n' might surround selection with namespace. Learn more.

Go button in VA Navigation Bar can be assigned to the more powerful Goto Related (Shift+Alt+G).

Context field of VA Navigation Bar can display only the innermost namespace in nested namespaces.

Bug Fixes

  • Continued improvements to memory consumption during parse of very large solutions. (case=92495)
  • Fixed parsing of 'using' directive nested inside of a class or namespace. (case=87178)
  • Fixed template instantiation of 'using' directives. (case=93229)
  • Fixed input of characters to text editor when using Sogou Pinyin IME. (case=77554, case=92198)
  • Improved Implement Interface of template interfaces. (case=55701)
  • Fixed qualification of local enum classes during Add Missing Case Statements. (case=92024)
  • Fix for Implement Virtual Methods failure to execute on class derived from struct when invoked on the class name (as opposed to invoked on the base struct in the class definition). (case=91532)
  • Fix for Goto Related failing on macros defined in source files. (case=88906)
  • Fixed Smart Select parsing issue. (case=91517)
  • Parser performance improvements. (case=92007, case=92495)
  • Fix for cropping of bold text in Find References Results window on Windows 8+. (case=92807)
  • Various parser fixes. (case=92732, case=92734, case=93231)
  • [VS2015] Fixed the directory-based parsing behavior controlled by the "if solution is not empty" setting. (case=92706)
  • [VS2010+] Fixed positioning of menus when invoked via keyboard shortcut in undocked editors. (case=93164)
  • [VS2010+] Fixed display of menu scroll arrows. (case=82277)
  • [VS2010] Fix for incorrect colors used in Smart Select peek tooltip. (case=91518)
  • [VS2010] Fix for incorrect selection color in OFIS/FSIS dialogs. (case=92589)
  • [VS2002-2008] Fix for failure to observe solution load during startup in certain scenarios. (case=92444)
  • Improvements to setup error notifications. (case=92280)
  • Added trailing newline to three of the default 'surround with' VA Snippets. (case=91657)

General Release Build 2076

Requires maintenance through 2015.09.15

Restored performance of VA Find References in very large solutions to that of build 2068.
Added message at startup if user-defined alternate data directory is read-only.

Bug Fixes

  • Addressed the "one or more errors occurred" message displayed on some systems when modifying VC++ projects (case=91658)
  • Fixed crash identified via Windows Error Reporting (case=92003)

General Release Build 2074

Requires maintenance through 2015.08.28

Bug Fixes

  • Fix for incompatibility with Windows Driver Kit 10 (case=91655)
  • Fix handling of header files without extensions (case=91605, case=91632)

General Release Build 2073

Requires maintenance through 2015.08.20

Added support for Visual Studio 2015 RTM.
New context-sensitive menu improves access to features of Visual Assist. The VA Context Menu includes all features available for the current file, symbol, or position in the editor. Learn more.

Open the VA Context Menu via shortcut to VAssistX.OpenContextMenu, or via binding in the options dialog for Visual Assist.

New code-generation feature automatically adds missing case statements to a switch on enum. Access via Shift+Alt+Q or the VA Context Menu. Learn more.

Encapsulate Field automatically makes getters and setters publicly visible.

Smart Select commands, Alt+] and Shift+Alt+], now show the start of a selection normally out of view.

VA Snippets with input placeholders now prompt for input in the editor, not in a modal dialog. Learn more.

VA Snippets with $selected$ can now be invoked with single characters, instead of only via menu, without overwriting the current selection. Use keyword SurroundWith= to identify the trigger, which can appear in addition to a normal, multi-character shortcut that causes a VA Snippet to appear in listboxes. Learn more.

Several features of Visual Assist are now available for binding in the options dialog for Visual Assist. Learn more.

New debugger tool window, VA Memory View, helps debug crash dumps with call stacks that are corrupt or have been optimized for release. In VA Memory View, addresses pointed to by the stack pointer (RSP or ESP) are displayed in the form of a call stack.

Open the view when debugging via VAssistX | Debug | VA Memory View.

Learn more.

Improved responsiveness of Visual Assist when editing large solutions.

Bug Fixes

  • [VS2013+] Fix for slow load of very large solutions that are passed to Visual Studio on the command line. (case=90540)
  • Multiple fixes and enhancements to Add/Remove Braces. (case=90101, case=90126, case=90150, case=90808, case=91301, case=90586, case=90461, case=90928)
  • Fixed parsing of large unnamed structs and unions. (case=91391)
  • [VS2013+] Fix for reported crash that occurs during debugging. (case=90379)
  • Fixed slow population of Goto Related menu in large class hierarchies. (case=91486)
  • Fix for hashtags that begin with a non-ascii character. (case=90322)
  • Improvements made to parsing of templates. (case=90371)
  • When an item in a listbox is focused, but not selected, press of up/down selects the item rather than moves on to the next item. (case=90124)
  • VA Hashtags optionally support dash character in hashtags (registry value "HashtagsAllowHyphens"). (case=90329)
  • Fixed crash reported during solution load. (case=91064)
  • [VS2010+] Fix for correct positioning of spellcheck menu when invoked via context menu key. (case=90995)
  • Fix for parsing of variables in C# named thread. (case=90430)
  • Added more development words to the internal spell check dictionary. (case=90272)
  • Fixed Snippet Editor placeholder highlighting errors. (case=88926)
  • Fixed Snippet Editor identification of identically named snippets. (case=90532)
  • Fixed icon transparency issues that occur in various unique scenarios. (case=90226)

General Release Build 2068

Requires maintenance through 2015.06.09

New Add/Remove Braces commands make it easy to convert a statement to a compound statement, and vice versa.

Access the Add/Remove Braces commands via the Quick Refactoring Menu (Shift+Alt+Q) and via key bindings. A shortcut assigned to VAssistX.BracesToggle makes it.

Learn more.

Entries in the VA Hashtags tool window may now be hidden. Hide all occurrences of a tag, or all tags in a file, directory, or project. Hide from the current solution or all solutions.

Learn more.

VA Hashtags tool window now includes text from source files.

More words, e.g. hex strings, are ignored by VA Hashtags.

Several dialogs that support filtering now interpret commas to mean logical "or". For example, "binary, base64" finds files that contain "binary" or "base64". Improved dialogs include those for VA Hashtags, List Methods in File, and Open File in Solution.

Memory footprint of Visual Assist has been reduced for all solutions.

Bug Fixes

  • [VS2015] Fix for failure to install to Community Edition of VS2015. (case=89605)
  • [VS2010+] Fixed situation in which VA could cause slow solution load when a solution contains 50+ projects that are being delay-loaded by VS. (case=89231)
  • Fixed case in which Derived Classes on the Goto Related menu failed to display some classes. (case=89293)
  • Fixed situation in which caret was left at unexpected position after running Introduce Variable. (case=88975)
  • Addressed resource leaks identified in OFIS/FSIS dialogs and VA Hashtags window. (case=89624, case=89604)
  • Prevent case in which text in the VA Hashtags window was inappropriately colored. (case=89321)
  • Fixed case in which an extern variable was not properly type deduced when assigned to an auto variable. (case=89121)
  • Fix for failure to properly default-select the expected item in the Find Symbol in Solution dialog. (regression in build 2052) (case=88985)
  • [VS2010+] Fix for failure of VA Step Filter to read callstack properly in localized versions of Visual Studio. (case=89924)
  • [VS2010+] Fixed issue with VA Snippet Editor highlighting of tokens in some scenarios. (case=88926, case=89156)
  • [VS2010+] VA Navigation Bar uses VS Environment Font and displays properly with HDPI system settings. (case=74697)
  • [VS2010+] Fixed various issues with rendering of images on HDPI systems. (case=88799, case=88871, case=88980, case=89840)
  • Added a registry setting to help workaround the dreaded "One or more errors occurred" message that appears in some game development environments when editing VC++ Project settings. Contact support for details. (case=89177)

General Release Build 2062

Requires maintenance through 2015.04.07

New feature—VA Hashtags let you mark code so you can return quickly to specific locations or manage a list of programming tasks. Any comment word preceded by # automatically becomes a VA Hashtag.

A new tool window in Visual Assist lists all VA Hashtags in the current solution.

Other uses of a VA Hashtag can be found with Goto (Alt+G) and Goto Related (Shift+Alt+G).

VA Hashtags, unlike IDE bookmarks:

  • Are named
  • Move with code
  • Are accessible in all solutions of a file

VA Hashtags, unlike the IDE Task List:

  • Need no configuration
  • Are automatically available to every developer
  • Operate consistently across file types

Learn more.

Introduce Variable is available in whitespace to automatically select expressions or capture return values of method/function calls.

Introduce Variable provides an option to determine where new braces are placed.

VA Snippets support _EN modifiers that always expand day and month names in English.

New pane in options dialog includes settings for order and spacing of generated C/C++ implementations.

Memory footprint of Visual Assist is reduced for large solutions.

Bug Fixes

  • Introduce Variable removes outer parentheses on expressions that have been extracted to initialize the introduced variable. (case=87598)
  • Multiple fixes for HDPI displays including tooltip font size, rendering of list icons at odd display scalings and font size in tree controls, (case=64523, case=88530, case=88609, case=88610)
  • VA properly locates boost headers installed by NuGet. (case=87289)
  • [VS2010+] Fix for incorrect font used in Find References, Rename and Change Signature tree controls. (case=88874)
  • Multiple enhancements and fixes to Introduce Variable. (case=85025, case=85028, case=85258, case=87897, case=88738, case=88762)
  • Fixed case in which replace all occurrences failed during Introduce Variable in files with spaces rather than tabs. (case=88118)
  • Fix for Change Signature failing to parse some declarations. (case=88554)
  • Methods in File list displays multiple items with same name in order of occurrence when the list is sorted alphabetically. (case=87549)
  • Fixed cases in which Extract Method and Create Implementation placed implementations before declarations. (case=87859, case=88557)
  • Fixed case in which Create Declaration placed declaration after all blank lines at bottom of file rather with the other declarations. (case=88435)
  • [VS2010+] VA Step Filter no longer displays breakpoint events of unsupported languages. (case=87361)
  • Fixed situation in which Methods in File list was incomplete until a file edit occurred. (case=87527)
  • Fixed case in which Goto, unable to identify a symbol, would go to a symbol whose name was a prefix of the unidentified symbol. (case=88436)
  • Edits made during the search phase of Change Signature no longer leave the OK button disabled once search is complete. (case=88552)

General Release Build 2059

Requires maintenance through 2015.02.11

New Smart Select commands make it easy to select the current block, and to extend and shrink the selection.

Use Extend Block Selection (Alt+]) to select the current block, then use any of the commands to extend or shrink the selection.

Alternatively, begin with Extend Selection (Shift+Alt+]) to select less code, then extend or shrink.

Learn more.

Refactoring and Code Generation commands place new methods in more relevant locations, typically relative to the current method. The improvement largely eliminates the needs to move methods with cut and paste.

Commands affected include:

  • Create Declaration
  • Create Implementation
  • Create Method Implementations
  • Move Implementation to Source File
  • Move Method Implementations to Source File
Goto Member supports execution from anonymous enums.

Introduce Variable now supports lambdas.
Refactoring and Code Generation commands that insert/move methods adjust line spacing so targets include only one—and exactly one— blank line between methods.
Mouse access to Goto Related is now available in lieu of the simpler Goto.

Parse time is shorter for headers whose modification times have changed but whose content has not.

Bug Fixes

  • Introduce Variable removes parentheses when the expression inside the parentheses has been replaced with the generated variable. (case=84951)
  • Multiple enhancements and fixes to Introduce Variable and Create From Usage. (case=84953, case=85433, case=86106, case=86415)
  • Fixed Goto Related in cases of multiply inherited classes that involve templates. (case=86720)
  • Fix for failure of filtering in FSIS to properly reset when opened in some circumstances. (case=86713)
  • Fixed parsing of structs embedded in classes whose name is duplicated in global namespace. (case=85237)
  • Find References is able to identify the constructor of a class whose name is duplicated in two different namespaces. (case=58076)
  • Prevent display of code completion listbox in the editor while typing in the intermediates window. (case=85535)
  • Fix for auto type deduction when method scope is dependent upon using namespace statements. (case=85849)
  • MRU in VA View populates at solution load even if VA View is not open. (case=77373)
  • Multiple enhancements and fixes to auto type deduction. (case=86108, case=86143, case=86189)
  • Fixed handling of auto variables by Extract Method. (case=86109)
  • Fix VA Outline display of certain pragma directives. (case=86455)
  • Fix for parsing of namespace with colliding using statements in different preprocessor blocks. (case=86670)
  • Fixed parsing of lambdas in some nested blocks. (case=86677)
  • When Goto is executed in comments, it now honors explicit scoping if present. (case=87245)
  • Fix for Introduce Variable failing to replace some occurrences. (case=87363)
  • Enhanced display of values of enums in VA definition window. (case=87509)
  • Goto Member dialog displays the word operator for operator members. (case=85968)
  • Fixed intermittent failure of Next Scope to hit some closing braces. (case=87471)
  • Improved handling of line insertion between methods during Create Implementation and Move Implementation. (case=87039)
  • Improved handling of updates to solutions with a large number of projects. (case=86188)
  • [VS2010] Enabled support of native NuGet packages. (case=87088)
  • [VS2010+] Fix for double effective rate of key repeat not resetting properly when an alt key is held down. (case=86270)
  • [VS2010+] Fix for Visual Studio error message being displayed in some circumstances. (case=86287)
  • [VS2010+] Fix for startup crash identified via Windows Error Reporting. (case=86368)
  • [VS2010+] Fix for failure of Visual Assist to install in older versions of Visual Studio on some systems that have VS2015 CTP. (case=87853)
  • [VS2015 CTP] Fix for multiple copies of Visual Assist being copied to the extensions directory. (case=87810)

Visual Assist
Team Blog

Read the latest news.

Don't miss out on
all the goodies

$79

Renew Maintenance
Get another year of software updates and priority support for your Standard License

Learn more

Happy People