Site icon Tomato Soup

Visual Assist 2023.6 release post

Visual Assist 2023.6 is here and is available to download! This release is filled to the brim with new functionality that improves upon your staple VA features and a new, convenient way to share source code with colleagues.

We also have a new code checker, support for two new C++ language features, and small but useful improvements to VA’s behavior. Read on further to get the complete details of the changes and improvements in this release, or download the release right away.

Share source code via email, GitHub, and more.

Starting from VA 2023.6, users can now highlight sections of code from the editor and open the Quick Actions and Refactoring (Shift + Alt + Q) menu, or right-click on the code and select the “Share with team member” option to instantly send code to other developers.

Select and share sections of code by highlighting it and using the Quick Actions
menu (Shift + Alt + Q).

Choose where and how you want to share your code. This new feature can work in conjunction with GitHub Gist and GitLab’s snippets feature, where you can instantly share and upload parts of your source code. You can also send your source code via email for more general-use purposes. 

Improvements to VA’s navigation features

This release provides a number of improvements and additional functionality to VA’s bread and butter navigation features, such as open file in solution and find symbol in solution.

Improved support for Braced Initialization Lists / Uniform initialization (C++ 11)

2023.6 also improves support for braced initialization of lists and/or uniform initialization. Brace initialization lists and uniform initialization provide a more consistent and flexible way to initialize objects in C++. 

These features  improve code readability and reduce the chances of certain types of errors. Visual Assist’s parser will recognize these lists and highlight and suggest auto corrections within them.

Improved support for constexpr, consteval and constinit  (C++ 20)

These features are related to compile-time evaluation and initialization. They have specific use cases and are used to enforce certain behaviors at compile time. If you haven’t been using these, here’s a quick breakdown:

When using these features, Visual Assist will recognize what you are trying to accomplish such as refactoring commands mainly. Refactorings such as Create From Usage will now properly handle these keywords.

New code inspection for detecting “magic-numbers”

This new Clang-based code inspection checks for instances of magic numbers—or numeric literals that are used without any definition—that are advised against by many coding guidelines for readability sake.

Enable code inspections by navigating to Extensions ->> VAssistX ->> Code Inspection ->> Enable code inspections.  This specific code inspection is disabled by default because some users may be intentionally using it and are not interested in “fixing” it.

Then you can either click on detected issues underlined in blue, use the Quick Refactoring Menu (Shift + Alt + Q) while on the highlighted issue, to allow VA to do it for you. In this case, there is no automatic fix so it will prompt you to define a variable with that number as its value and use the variable instead. 

Protip: VA can help do that for you with the introduce variable feature. If you highlight the number, then use the Quick Actions menu and select Introduce Variable it will ask you for a name and pull the number out into a variable for you.

You can read more about the readability-magic-numbers code checker on Clang’s documentation

New move class feature

You can now move entire classes into different files with the new move class feature included in 2023.6. 

For example, if you have a class named MyClass, with its declaration in MyClass.h and its definition in MyClass.cpp, you can move the entire class into a new pair of files, MyClassNew.h and MyClassNew.cpp. 

This is useful if you have a header and source file pair (.h and .cpp) that contain multiple classes and you want to break that up into multiple files.

Bug fixes and improvements

For this release, we have a couple of fixes based on user requests. The most notable of these improvements include a fix for file exclusion instructions using .json configs similar to a previous release, a parser improvement for Unreal Engine 5, and improved auto-detect logic for Unity.

Thanks to those who submitted their feedback and bug reports. Please continue sending them our way. Send us a message or start a thread on the user forums for bug reports or suggestions.

You can also check our download page to manually update to the latest release. Happy coding!

FAQs: Visual Assist 2023.6 Release

What is new in Visual Assist 2023.6?

Visual Assist 2023.6 introduces several productivity-focused features, including the ability to share code snippets directly via email or platforms like GitHub and GitLab. It also enhances support for modern C++ features such as constexpr and uniform initialization, along with new code inspections and navigation improvements.

How does the new code-sharing feature work in Visual Assist?

Users can highlight any section of code and access the Quick Actions menu (Shift + Alt + Q) or right-click to use the “Share with team member” option. This allows developers to instantly share code snippets through email or upload them as GitHub Gists or GitLab snippets.

What improvements have been made to search and navigation?

The update introduces fuzzy search, which allows developers to find files or symbols even with partial or misspelled inputs. Additionally, uppercase search shortcuts enable quicker navigation by matching capitalized letters in class or variable names.

Which modern C++ features did  Visual Assist 2023.6 add support for?

The release improves support for C++11 and C++20 features, including braced initialization, constexpr, consteval, and continuity. These enhancements ensure better code parsing, suggestions, and refactoring accuracy.

What is the “magic numbers” code inspection feature?

This new inspection detects hard-coded numeric values in code that lack proper context or naming. It encourages developers to replace them with named variables, improving code readability and maintainability.

Can Visual Assist automatically fix magic numbers?

While there is no direct auto-fix, Visual Assist provides suggestions and tools like the “Introduce Variable” refactoring option to quickly convert magic numbers into meaningful variables.

What is the new “Move Class” feature?

The Move Class feature allows developers to relocate an entire class, including its declaration and definition, into new files. This is especially useful for organizing large codebases with multiple classes in a single file.

How does Visual Assist improve code refactoring with C++20 keywords?

Visual Assist now recognizes keywords like constexpr, consteval, and constinit during refactoring operations. This ensures that features like “Create From Usage” behave correctly with compile-time constructs.

Are there any improvements for game development frameworks like Unreal or Unity?

Yes, the parser has been improved to better support Unreal Engine 5 types, and the Unity auto-detection logic has been refined to reduce false positives, enhancing the overall development experience.

What bug fixes are included in this release?

The update includes fixes for file exclusion handling in JSON configurations, improved syntax highlighting, faster code inspection dialogs, and stability improvements when debugging Unity projects.

 

Exit mobile version