extract method - Tomato Soup https://www.wholetomato.com/blog Visual Assist Team Blog Fri, 15 Aug 2025 10:42:37 +0000 en-US hourly 1 https://wordpress.org/?v=6.8.2 https://www.wholetomato.com/blog/wp-content/uploads/2025/05/favicon.ico extract method - Tomato Soup https://www.wholetomato.com/blog 32 32 227787260 Visual Assist 2025.3 release post https://www.wholetomato.com/blog/visual-assist-2025-3-release-post/ https://www.wholetomato.com/blog/visual-assist-2025-3-release-post/#respond Thu, 03 Jul 2025 19:19:45 +0000 https://www.wholetomato.com/blog/?p=4262 Visual Assist 2025.3 is now public and available to download.  This release improves developer experience by updating the feedback UI when using some of our added features from recent releases. We’ve also updated our options...

The post Visual Assist 2025.3 release post first appeared on Tomato Soup.

]]>
Visual Assist 2025.3 is now public and available to download. 

This release improves developer experience by updating the feedback UI when using some of our added features from recent releases. We’ve also updated our options dialog’s look and feel alongside some of line highlighting options. We’ve also fixed many of the bugs and issues based on user reports.

The highlight of this release is a new option when using VA’s extract method so you can now fine-tune the parameter list—which includes selecting variables, excluding unnecessary ones, or arranging their order. 

On the visual feedback side, we’ve enhanced the popup interface when using Replace Auto With Exact Type. Additionally, macros expansion will also have its context revealed upon hovering. Learn more about these changes by going through our release blog post.

Download the release now by visiting our website download page.

Enhanced Extract Method with parameter customization

Visual Assist’s Extract Method feature now offers full parameter customization through an intuitive dialog interface. When extracting code into a new method, developers can now:

  • Add, remove, or reorder parameters before the method is created
  • Modify function signatures using natural coding language syntax
  • Make extracted methods more general by adding custom parameters

This enhancement skips most of the post-extract method editing, instead, a smarter interface guides you to adjust the extracted method as Visual Assist creates the implementation.

This is unlike most rigid UI implementations found in other tools. Visual Assist uses its intelligent parsing to understand your code modifications, providing a more natural and flexible experience.

New editing options for extract method. Edit name, move, or reorder parameters.

How it works: Select code you want to extract, choose Extract Method under the quick actions menu, and customize the function declaration in the dialog using standard C++ syntax. Use VA’s updated UI to create the optimized method accordingly.

Macro Expansions on Hover (Quick Info)

This was added based on a request from a user who was developing in Unreal Engine (UE) in Visual Studio. Many UE users turn off the built-in IntelliSense and just rely solely on VA’s features in order to maximize performance on large codebases—which is usually associated with the size of Unreal projects. Unfortunately, this also means that the macro expansion info provided by IntelliSense is also removed.

With this new change, however, VA can now display macro expansions instantly when you hover over macro definitions, providing immediate insight into complex preprocessor directives without interrupting your workflow.

Hover over macro definitions to show its expansion instantly.

Improved dot to arrow conversion now supports for auto pointers

VA’s dot-to-arrow conversion automatically changes . to -> when accessing members through pointers, eliminating the need to manually switch between dot and arrow operators.

With this update, however, the dot to arrow conversion feature now handle auto pointer declarations better. The plugin now recognizes explicit pointer hints in auto variable declarations, providing more accurate code completion and conversion.
Example:


int myInt = 1;
int* myIntPtr = &myInt;

auto myAutoPtr = &myInt;      // Implicit pointer
auto* myExplicitAutoPtr = &myInt;  // Explicit pointer - now detected!

In the above example, “myAutoPtr” and “myExplicitAutoPtr” variables have their auto type both resolved to “int *”, but with the second one the fact that it should be a pointer is made explicit.

This enhancement makes the feature more reliable when working with modern C++ auto declarations, reducing coding errors and improving developer productivity.

Modernized Options Dialog Interface

The Visual Assist Options dialog has been completely rebuilt with a modern UI framework, moving away from the legacy Win32 interface theme. This modernization represents the first step in a comprehensive UI refresh that will extend to other Visual Assist components in future releases.

Visual Assist 2025.3 updates the look and feel of the options dialog.

Improved Ray Line Highlighting Style

One of VA’s ways to showcase the current active line is achieved by using the “ray lines” highlighting style. Ray lines provide a subtle, non-intrusive way to highlight the current line using minimal horizontal lines without left/right borders.

New improved ray line highlighting style.

This option has been refined with better vertical spacing, addressing user feedback about the previous tight layout.

If you prefer using a different highlighting style, you can choose from the available options in the options dialog (Thin Frame, Background Color and Ray Lines). To choose your preferred highlighting style, navigate to Extensions — VAssistX —Visual Assist Options — Editor — Highlighting —”Highlight current line with:” 

Enhanced Replace Auto With Exact Type Accessibility

Building on the popular Replace Auto With Exact Type feature in previous releases, Visual Assist now makes this functionality more accessible via the right click menu or automatically via typing  the auto keyword.

Use Quick Info menu or right click on Auto.

Bug Fixes

For bug fixes and general improvements, the most critical update is the restoration of shader syntax coloring support in Visual Studio 17.12.0 and newer versions, addressing multiple related issues with code formatting and syntax highlighting in shader files across VS 2019 and 2022.

Additionally, there are significant performance improvements for Unreal Engine projects, specifically enhanced responsiveness of quick actions and refactoring menus. The release also includes fixes for HLSL file formatting and improved navigation performance for MAUI base classes.

The following list summarizes the most important bugs addressed in this release:

  • Fix for code formatting not working in shader files in VS 2019+
  • Fix for syntax coloring not working in shader files in VS 2022
  • Restored shader syntax coloring support in Visual Studio 17.12.0 and newer
  • Improved responsiveness of quick actions and refactoring menu in Unreal Engine projects
  • Fixed inconsistent filter control display in initial Find References results
  • Improved performance when navigating from MAUI base classes using Go To Related
  • Resolved formatting issues in HLSL files when shader support is enabled in Visual Studio 2019 and 2022

Availability & Feedback

This release was made generally available on June 30th and can be downloaded via the downloads page. As always, we appreciate feedback, especially on recently introduced features and the UI changes we introduced. 

Update now to an active license to utilize all the features and fixes in this release. And if you have any questions or encounter any issues, feel free to reach out to support@ewholetomato.com.

The post Visual Assist 2025.3 release post first appeared on Tomato Soup.

]]>
https://www.wholetomato.com/blog/visual-assist-2025-3-release-post/feed/ 0 4262
Visual Assist 2025.1 release post https://www.wholetomato.com/blog/visual-assist-2025-1-release-post/ https://www.wholetomato.com/blog/visual-assist-2025-1-release-post/#respond Mon, 31 Mar 2025 15:52:53 +0000 https://www.wholetomato.com/blog/?p=4133 VA 2025.1 enhances usability with smarter navigation, better C++ module support, and more flexible refactoring options. The updated first-run dialog, configurable test snippets, and a refreshed UI improve the overall experience. Additionally, several key fixes...

The post Visual Assist 2025.1 release post first appeared on Tomato Soup.

]]>
VA 2025.1 enhances usability with smarter navigation, better C++ module support, and more flexible refactoring options. The updated first-run dialog, configurable test snippets, and a refreshed UI improve the overall experience. Additionally, several key fixes address navigation issues, assignment suggestions, and UI inconsistencies, ensuring a more stable and efficient development environment.

Download the release now from our website download page.

VA Integration modes: Updated First Run Dialog

In VA 2024.9, new integration modes were added to allow users to personalize their experience with how Visual Assist features were presented and accessed. You can visit the integration mode page to learn more about available integration modes. This dialog was initially shown for fresh installs only. 

VA 2025.1 makes the dialog appear for every user who has not previously encountered it, regardless of whether they are installing Visual Assist for the first time or have updated from an earlier version.

The first run dialog allows users to pick VA integration modes.

Option to exclude symbols in GoTo and List Methods navigation

This small tweak adds an option to skip selecting symbols after you navigate to it. In that way, you can immediately start typing before the symbol, or you would be able to keep your current selection even after jumping to different parts of the code.

This currently works for VA’s Go To and List Methods in Current File (Alt + M). Access the new option via the toolbar.

Open the options dialog to select symbol selection behavior.

Specify access level on Extract Method

VA introduces a new option that allows developers to specify the access level (public, private, or protected) directly when using the Extract Method refactoring tool.

Specify the visibility of methods obtained via Extract Methods using the new options.

This streamlines the refactoring process by providing an immediate choice of access level for the new method being created from the selected block of code. Previously, after extracting a method, the default access level was applied (usually private), and any changes to this required manual adjustment. 

With this update, developers can set the desired access level in the initial step of the extraction, ensuring better code organization and encapsulation from the outset.

New features added for C++ modules when importing

When declaring new modules into your project, VA will recognize what you are trying to do and core navigation and features will work accordingly. This includes autocompletion prompts, adding includes, finding references, and other pertinent navigations.

C++ modules were added in C++ 20 to help improve the compilation times and the overall build performance of C++ programs. Modules provided a modern alternative to traditional header files and includes by allowing programmers to define interfaces that are compiled separately and imported as needed. 

This reduces the need to include headers and recompile code unnecessarily, which can significantly speed up the build process. 

Modules in C++ are fairly new and the committee is still pushing for mass adoption. But whether you’re an early adopter of C++ modules or not, this VA update should help you find available modules should the need arise.

VA now parses C++ modules, enabling core navigations and features.

Support for *.IXX module files.

This change allows VA to parse and understand the new modular structure introduced with C++20. This means that developers can now work with module interface files (.ixx) directly within the Visual Assist environment, benefiting from features like syntax highlighting, code navigation, and intelligent code completion that were previously limited to traditional header and source files.

For instance, if you had symbols declared in an .IXX file, VA now properly parses them and navigation features such as Go To will now work properly.

Configurable snippet base for unit test generation

There are new configuration options available for Unit Test Generation that allow developers to customize the boilerplate code that is automatically generated when creating unit tests. 

The unit test generation feature was first introduced in VA 2024.9 and added a new feature to create a boilerplate that follows the Google Test framework. This creates a new test file, prepopulated with placeholders following the test structure to make it more convenient to users.

VA 2025.1 upgrades this new feature with the flexibility of specifying preferences and settings that align with their project’s requirements or personal coding standards.

New modernized tomato icon 

Our loveable tomato icon has been given a fresher look for the new development year! This was primarily done to improve user experience and accessibility. This change was made to increase contrast, and make VA’s features more distinguishable so users can utilize it more effectively in the IDE.

new whole tomato visual assist logo 2025

Updated tomato icon. Will be rolled out for every platform!

We’ve also taken the opportunity to maintain a consistent look and feel across all instances of our tomato icon. This update ensures that they appear correctly and uniformly across all platforms.

Excluding C# files from parsing via “settings.json” file.

VA 2025.1 builds upon a similar functionality introduced in VA 2022.4 where an option to consider configuration instructions outlined in a .json file can be used to skip unnecessary parsing when building solutions. 

This new feature does something similar, but for C# instead. The feature allows developers to specify which C# files should be excluded from parsing by Visual Assist through a configuration in a .json file.

This is particularly useful for developers working cross-platform as this tells Visual Studio and Visual Assist to “open a file but do not parse anything else apart from a specific part.” 

So even if users have dozens of non Visual Studio files in one directory, you can specify which files are part of the project you are trying to open. (Otherwise, VS and VA will try to parse the whole directory—very resource intensive and time consuming.)

Bug Fixes

For bug fixes and general improvements, most of them were based on user feedback and reports. The most notable of these updates are fixes for a crash happening when logging is enabled while debugging, and a hang involving the Go To features. There was also a pesky bug related to having two-monitor setups that is now fixed. 

The following list summarizes the most important bugs addressed in this release:

Fix for flashing in the Find References results window on start or when changing monitors.

  • Fix for Encapsulate field in C#.
  • Fix for VA Hashtags not being suggested.
  • Fix for assignment suggestions not appearing in some cases.
  • Fix for dialog hang that could sometimes happen when using Goto.
  • Increased the display limit for Move Method to Base Class to 12 base classes (from 6).
  • Fix for Move Method to Base Class sometimes not displaying the base class list to move to.
  • Fix for tip of the day links opening in Internet Explorer rather than the default browser.
  • Fix for a crash that could sometimes happen when troubleshoot logging is enabled.
  • Fix for attributes displaying in a difficult to read color when in dark mode.

Availability & Feedback

This release was made generally available on March 28th and can be downloaded via the downloads page. As always, we appreciate feedback, especially on recently introduced features and the UI changes we introduced. Thank you for helping us create a better experience for all our users.

Update now to an active version to utilize all the features and fixes in this release. And if you have any questions or encounter any issues, feel free to reach out to support@ewholetomato.com.

The post Visual Assist 2025.1 release post first appeared on Tomato Soup.

]]>
https://www.wholetomato.com/blog/visual-assist-2025-1-release-post/feed/ 0 4133