Visual Assist | |
Developer: | Whole Tomato Software |
Latest Release Version: | 2022.6 (build 10.9.2476) |
Operating System: | Microsoft Windows |
Genre: | Microsoft Visual Studio add-on for VC++ 6.0, .NET 2003, 2005, 2008, 2010, 2012, 2013, 2015, 2017, 2019, 2022 |
License: | Commercial, $129–279 |
Visual Assist is a plug-in for Microsoft Visual Studio developed by Whole Tomato Software. The plug-in primarily enhances IntelliSense and syntax highlighting, along with navigating through source code and providing flexible refactorings. It also enhances code suggestions, can generate or rewrite code, and includes spell checking support for comments, as well as adding enhanced debugging tools.[1] It can also detect syntax mistakes such as use of undeclared variables, and provides code analysis to detect potential bugs or performance issues in source code.[2]
Visual Assist supports Visual C++ and Visual C#.
As of March 2023, Visual Assist supports Visual C++ 2022 right back to Visual Studio 2005, including the Community Editions. Support for Visual Studio 6.0 - 2003 was deprecated in 2017, though the latest version to support those older IDEs is still available for download. (Visual Studio Express editions lack third-party extensibility and Visual Studio Code uses a separate extensibility model, thus Visual Assist cannot be used with them.)
Visual Assist is used by C++ development teams worldwide, but is especially popular in the game development industry. Many Unreal Engine developers list installing Visual Assist as a key requirement before beginning development with Unreal.[3] [4] [5]
Youtuber TheCherno states they've used Visual Assist for 90% of the C++ development they've ever done, and refers to the combination of Unreal Engine and Visual Assist as "a match made in heaven."[6]
The Unreal Engine Community wiki notes, "Many programmers simply prefer to disable [Visual Studio's inbuilt] Intellisense and use Visual Assist that has included support for Unreal Engine".[7]
Visual Assist has a custom language parser, which is not a compiler-style parser. Compiler-style parsers require well-formed code (badly formed code causes a compile error!) and will follow compiler directives, such as macros that can direct the compiler to include or exclude certain code. It's common for code tooling tools to use either compiler engines or compiler-style parsers, but Visual Assist's approach is more flexible and means the tool is more useful in real-world coding environments. When coding, a developer may have incompletely written code, but an assistance tool needs to still function correctly, as Visual Assist does. Similarly, Visual Assist is aware of macros, but can "see" inside macros that a compiler will exclude: this means it can refactor fully, rather than missing references that other tools would not see.
Visual Assist is tightly integrated into Visual Studio, which uses a different extensibility model to Visual Studio Code.
Until Visual Studio 2022, Visual Studio was a 32-bit application, constraining memory to a maximum of 4GB. It is common for developers to have multiple plugins loaded into Visual Studio, and the Visual Assist developers spent considerable effort on ensuring the memory impact of using Visual Assist was very low,[8] even parsing very large projects. Both this and the custom parser also result in high performance parsing or indexing code compared to other tools.