News - Tomato Soup https://www.wholetomato.com/blog Visual Assist Team Blog Sun, 21 Jul 2024 22:02:26 +0000 en-US hourly 1 https://wordpress.org/?v=6.4.5 https://i0.wp.com/www.wholetomato.com/blog/wp-content/uploads/2020/05/cropped-wt-logo.jpg?fit=32%2C32&ssl=1 News - Tomato Soup https://www.wholetomato.com/blog 32 32 227787260 Catching up with VA: Our most recent performance updates https://www.wholetomato.com/blog/2024/07/21/catching-up-with-va-our-most-recent-performance-updates/ https://www.wholetomato.com/blog/2024/07/21/catching-up-with-va-our-most-recent-performance-updates/#respond Sun, 21 Jul 2024 21:31:14 +0000 https://www.wholetomato.com/blog/?p=3848 Throughout its long lifetime, Visual Assist (VA) has been a top-of-the-line productivity plugin with a performance advantage over Visual Studio and other plugins. Performance and speed has been a bread-and-butter factor for choosing VA—and we’ve...

The post Catching up with VA: Our most recent performance updates first appeared on Tomato Soup.

]]>
Throughout its long lifetime, Visual Assist (VA) has been a top-of-the-line productivity plugin with a performance advantage over Visual Studio and other plugins. Performance and speed has been a bread-and-butter factor for choosing VA—and we’ve doubled down with updates focused on cutting interruptions and load times.

VA had significant improvements in 2024, particularly in the initial startup time for projects, as well as in the responsiveness of a few key features. It is not farfetched to say that performance has been the primary consideration for the development direction of the plugin.

Why? Because performant, responsive software is productive software, and fast interaction is key to you getting your work done.

We have a lot of solid, robust features based purely on providing not the kitchen sink, but what you need. We already had a reputation for being faster than other products. Now we are even faster: VA is a lean, mean, coding machine.

We’re midway through the year, and we’re summarizing all the recent performance updates in this handy update blog. Read on further to get a more complete picture of when and why these changes were introduced to VA.

Faster startup sequence

Whatever task you have, you first must open and launch Visual Studio—along with any installed plugins you have. Opening a Visual Studio-associated file initiates the startup process which starts loading the essential IDE assets, the solution files you have chosen, and ultimately any auxiliary components like Visual Assist.

While we cannot alter the core loadout of Visual Studio, we’ve worked on every facet of our tool that can be optimized for faster startup:

  • Project initial parsing

    Project parsing is an extra step that code assistant plugins like Visual Assist need to undertake. VA uses its own parser independent of Visual Studio’s which allows it to pre-scan projects so it can be faster, smarter, and able to provide different functions.

    The release in January 2024 featured an overhaul of the parser, which reduced startup times for opening previously unparsed project files by up to 15 times.

    While an initial parse is only done the first time you open a project. The next time you open it, it will be instant. (This was an existing feature.) However, we made it 15x faster for those of you who are opening multiple new projects on a more frequent basis.

    For example, an Unreal Engine project with its typically massive code base previously took 15 minutes to parse. We’ve brought this down to a mere one minute of parsing.

    Tech details: Visual Assist implemented a cache for parsed directories to bypass slow Windows file IO API calls where the same call is expected to give the same result—this significantly reduced the initial parse time.

     

  • Plugin load time

    This update refers to the time it takes for Visual Assist’s features to become functional. As mentioned above, the time-to-functional is the sum of all Visual Studio’s startup routine which includes loading in plugins.
    Every time you close and open a solution, VA’s features take a few moments to load—or at least that’s how it was before. With this update, time-to-functional is more or less instantaneous even in extremely large solutions! 

    As soon as Visual Studio calls on Visual Assist to start loading, you’ll immediately see coloring and syntax highlighting, and have access to all navigation and features. (Note: How Visual Studio initializes plugins and components is indeterminate; results may vary slightly depending on how many components it loads first before Visual Assist.)

    What these changes mean for you:

     

    Depending on how often you need it, the Visual Studio startup sequence and project load can be a part of your feedback cycle when testing and coding. And even a mere 30 seconds are painful and a threat to productivity when repeated, especially when they add up in a work week.

    This is even more pronounced when your work entails opening new projects multiple times in a week. Visual Assist is the best in-class plugin that offers significantly less startup time—giving you more time to be productive.

    READ: Visual Assist startup duration update

Search dialogs: Find References and File Finding

Since starting our crusade against a slow and unresponsive IDE,  there have been two updates that shortened the loading time for finding references and symbols. Utilizing techniques such as parallelism and removing extraneous string searches, you’ll  enjoy up to ten times faster search time.  

Furthermore, better accuracy and new functionality has been added for other search dialogs, including fuzzy search for Open File in Solution.

  • Find references speed and responsiveness

Find references is a feature that looks for symbol usage within the current project or solution. Depending on the project size, there may be hundreds to thousands of symbol definitions in your solution, and many of those, tens of thousands of times they may be used. In order for code navigation to work, VA must scour its database for the correct results.

Find references time increases with the number of symbols in the database. However, VA’s feature has been greatly improved for performance and speed—almost ten times faster than before! That means that this performance improvement applies to many key features and navigations.

Some other common and key features in VA improved by this change: 

  • Renaming finds references in order to rename them.
  • Implement Methods finds methods in order to know which ones do and do not exist
  • Change signature works similarly.

    Visual Assist’s Find references window. Takes significantly less time to find all references in 2024.3.

  • Fuzzy search and uppercase search for opening files and searching symbols

    Fuzzy search is a technique used in searches and information retrieval to find approximate matches for a given query, accommodating variations like typos and misspellings. It employs string distance metrics to measure the similarity between strings.

    Apart from being fast, Open File in Solution and Find Symbol in Solution support this technique, so you can expect more meaningful results with fewer, less accurate search queries.

    Furthermore, beyond fuzzy searching for inexact matches, VA will also match capital letters. For example, if you have a class named MyClassName, searching for “mcn” would find it. Similarly, suppose you have a global variable named myGlobalVariable and type “mgv” – the lowercase “my” is treated as if it were MyGlobalVariable, providing expected results.

  • Move Class feature

    Refactoring and moving entire classes can be a hassle. This feature has completed its beta phase to provide full support for porting an entire class to the file(s) of your choosing.

  • Bonus QoL Change: Select all items in open file in solution (Ctrl + A)

    You can now select and highlight multiple files and open them simultaneously when using open file in solution. The usual shortcut Ctrl + A works.

    What these changes mean for you:

    As a C++ developer, you frequently search for files and symbols in massive projects. So even small reductions in wait times or interruptions cumulatively boost your overall productivity to a significant degree.

Summary

Performance improvements are and will remain the focus of Visual Assist in upcoming releases. As projects grow larger and C++ features grow in complexity, we too must adapt and scale our performance to meet the increasing workload and demands on our parser and product capabilities.

This is our most important aim: speedy performance and accurate responses so you can focus on thinking and problem solving—the crucial parts of coding.

We’re only halfway through the year, so let us know what we should improve upon next. Thank you for your continued use and support of Visual Assist!

The post Catching up with VA: Our most recent performance updates first appeared on Tomato Soup.

]]>
https://www.wholetomato.com/blog/2024/07/21/catching-up-with-va-our-most-recent-performance-updates/feed/ 0 3848
Visual Assist 2024.3 release post https://www.wholetomato.com/blog/2024/05/02/visual-assist-2024-3-release-post/ https://www.wholetomato.com/blog/2024/05/02/visual-assist-2024-3-release-post/#respond Thu, 02 May 2024 20:42:22 +0000 https://www.wholetomato.com/blog/?p=3811 Another Visual Assist update?! VA 2024.3 is headlined by a dramatic improvement to the performance of Find References. This release also features both a fix and an improvement related to Move Implementation. We also have...

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

]]>
Another Visual Assist update?! VA 2024.3 is headlined by a dramatic improvement to the performance of Find References. This release also features both a fix and an improvement related to Move Implementation. We also have some key features exiting their beta phase (try them out!). Lastly, performance for C# should be better than ever with key fixes rolling out in this release.

Download the release now from our website.

Better find references results in multiple faster features

If you’ve updated to at least Visual Assist 2024.1, you may have been enjoying the benefits of the significantly improved parser performance that cut initial parsing time fifteenfold. In this release, we’ve added something even bigger: performance improvements not at startup, but all the time

Find references, the feature that looks for symbol usage within the current project or solution, has been greatly improved for performance and speed. But the Find References engine is used for many other common and key features in Visual Assist! Renaming finds references in order to rename them; implement methods finds methods in order to know which ones do and do not exist; and so forth. That means that this performance improvement applies to many key features and navigations; Rename, Change Signature, Implement Methods and more.

Visual Assist’s Find references window. Takes significantly less time to find all references in 2024.3.

Test Results

The development team ran a few tests to compare the performance of find references between the new Visual Assist version versus an older version of the same plugin. Furthermore, they also tested it against the performance of Visual Studio’s default Find References. 

The test was done on Unreal Engine 5.3 source code using Lyra game examples with two symbols: TOptional and MakeBox as the basis for which references are to be searched. The test was done using Visual Studio 2022 17.8 and Visual Assist 2024.3 & 2024.2. Time was measured from the start of Find References to all references found.

The result of the tests are as follows:

Setup 1 – TOptional:

Run 1 Run 2 Run 3 Average
Visual Assist 2024.3 5:11 4:25 4:17 4:37
Visual Assist 2024.2 14:27 18:02 13:12 15:13
Visual Studio 2022 38:26 * * 38:26
Setup Specs:AMD Ryzen 7, 7800X3D processor, Team T-Force Delta 32GB (2 x 16GB) 288-Pin PC RAM, Crucial T700 Gen5 NVME M.2 SSD
* Test timeout. 

 

Setup 2 – MakeBox:

Run 1 Run 2 Run 3 Average
Visual Assist 2024.3 0:42 0:45 0:43 0:43
Visual Assist 2024.2 1:41 1:40 1:34 1:38
Visual Studio 2022 2:34 2:22 2:27 2:27
Setup Specs:AMD Ryzen 7, 7800X3D processor, Team T-Force Delta 32GB (2 x 16GB) 288-Pin PC RAM, Crucial T700 Gen5 NVME M.2 SSD

As one can surmise from the results, the latest update brings Visual Assist’s symbol finding performance well above that of default Visual Studio’s and other similar plugins. Further testing on other platforms will be undertaken. Please refer back to this page later for more testing.

Exiting Beta: CUDA core development support & Move Class feature

Two VA features enter their stable phase and are now on general availability. If you have not tried these yet, we highly recommend trying them out as it provides a lot of usefulness that might not be readily apparent.

  • CUDA support
    First added in 2023.4, CUDA support allowed Visual Assist to recognize CUDA files and parse and highlight them like regular C/C++ files. This feature now enters full supported status and you can reliably use Intellisense-like features for CUDA files.
  • Move Class feature
    Refactoring and moving entire classes can sometimes be a hassle. This feature moves from beta to supported status and allows you to easily choose an entire class and port it over to file/s of your choosing.

Create File: specify a directory + auto implementation.

This is a tiny but useful quality of life change for creating files. Prior to this change, Visual Assist would sometimes display a failure error and ask you if you wanted to Create File or to stop if a target was not found. Now, it runs create file automatically and you can hit Cancel instead.

Furthermore, a bug fix for when using create file: Visual Assist will consistently move the implementation afterwards. (In the past, it sometimes failed to do so.) 

These two changes will hopefully make your experience more seamless and intuitive.

Discord link and feedback options in the Help menu

Introducing our newly opened Discord server for all Visual Assist users. We’re hoping for this hub to function like our forums wherein users can request for changes, report bugs, and share useful information and tips around the plugin.

As it’s a WIP, anyone who is interested in helping us manage and build the community is welcome to do so. Send us a message here if you’re interested.

Furthermore, we’ve added new feedback channels in one of our menus. Navigate to Help and browse new feedback options and let us know what you think!

Bug fixes and improvements

Apart from the above major fixes, we have a couple of minor bug fixes and QoL changes. The complete list is below: 

  • 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.

Send us a message or start a thread on the user forums for bug reports or suggestions.

Visit our download page to update to the latest release manually. Happy coding!

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

]]>
https://www.wholetomato.com/blog/2024/05/02/visual-assist-2024-3-release-post/feed/ 0 3811
See you at San Francisco for GDC 2024! https://www.wholetomato.com/blog/2024/03/07/see-you-at-san-francisco-for-gdc-2024/ https://www.wholetomato.com/blog/2024/03/07/see-you-at-san-francisco-for-gdc-2024/#respond Thu, 07 Mar 2024 15:26:35 +0000 https://www.wholetomato.com/blog/?p=3765 Whole Tomato will be at the Game Developers Conference 2024! The makers and developers of Visual Assist will make their return to Moscone Center in San Francisco from March 18-22 for GDC 2024! Whole Tomato...

The post See you at San Francisco for GDC 2024! first appeared on Tomato Soup.

]]>
Whole Tomato will be at the Game Developers Conference 2024!

The makers and developers of Visual Assist will make their return to Moscone Center in San Francisco from March 18-22 for GDC 2024! Whole Tomato will be at booth number P1769 sharing space with a sister company, Assembla! Two of the best tools for game development in one booth—efficient!

GDC has always been one of the most awaited gaming events for video game professionals every year. It’s also one of the few opportunities for us to meet with daring new developers, colleagues in the industry, and of course enthusiastic users. That’s why we are excited to physically meet the community once again in this year’s GDC! 

We hope to see you there!

PS: We will be handing out exciting prizes and giveaways for our booth visitors!

Book an appointment with us

If you’re attending GDC and have access to the conference virtual platform, you can book a meeting with any of team members. Use the link below and navigate to the Teams section and take your pick among our dazzling booth members.

 

The post See you at San Francisco for GDC 2024! first appeared on Tomato Soup.

]]>
https://www.wholetomato.com/blog/2024/03/07/see-you-at-san-francisco-for-gdc-2024/feed/ 0 3765
What’s New in Visual Assist 2024—Featuring lightning fast parser performance [Webinar] https://www.wholetomato.com/blog/2024/02/21/whats-new-in-visual-assist-2024-featuring-lightning-fast-parser-performance-webinar/ https://www.wholetomato.com/blog/2024/02/21/whats-new-in-visual-assist-2024-featuring-lightning-fast-parser-performance-webinar/#respond Wed, 21 Feb 2024 23:53:12 +0000 https://www.wholetomato.com/blog/?p=3748 Webinar overview: In this webinar, we discuss the latest developments in Visual Assist with a focus on the latest release. Get an inside look at what the developers added for VA 2024.1 and what you...

The post What’s New in Visual Assist 2024—Featuring lightning fast parser performance [Webinar] first appeared on Tomato Soup.

]]>
Webinar overview:
In this webinar, we discuss the latest developments in Visual Assist with a focus on the latest release. Get an inside look at what the developers added for VA 2024.1 and what you can expect to be added to the toolset in the upcoming months.
.
The Visual Assist team showcases the new features and improvements featuring the newly improved parser time for initial project startups—giving huge gains for those working with huge solutions.

Expect the following in this webinar:

  • Watch the latest improvements in action featuring the newly improved parser speed
  • Familiarize with the other features added in VA 2024 you should be using
  • Learn more about upcoming developments
The webinar is happening on March 13, 2024 | Wednesday 10 AM CST and will be presented by Whole Tomato’s own product managers, David Millington and Nuno Castro, and lead developer Chris Gardner.
Register now and see VA 2024.1 in action: faster performance, tweaked navigations, and more productivity for a hassle and frustration free experience in Visual Studio!
This webinar has concluded. Scroll down below watch the replay or access the slide dec.

Slide Deck Presentation

Webinar Replay

The post What’s New in Visual Assist 2024—Featuring lightning fast parser performance [Webinar] first appeared on Tomato Soup.

]]>
https://www.wholetomato.com/blog/2024/02/21/whats-new-in-visual-assist-2024-featuring-lightning-fast-parser-performance-webinar/feed/ 0 3748
Another reason to cheer: Visual Assist academic licenses! https://www.wholetomato.com/blog/2023/12/22/visual-assist-academic-licenses/ https://www.wholetomato.com/blog/2023/12/22/visual-assist-academic-licenses/#respond Fri, 22 Dec 2023 15:09:35 +0000 https://blog.wholetomato.com/?p=3669 Great news! The Whole Tomato experience just got even more complete and well-rounded!  The hobbies and recreational activities you do during your early days in school often become the gateway to the skills you’ll develop...

The post Another reason to cheer: Visual Assist academic licenses! first appeared on Tomato Soup.

]]>

Great news! The Whole Tomato experience just got even more complete and well-rounded! 

The hobbies and recreational activities you do during your early days in school often become the gateway to the skills you’ll develop and use in the real world. It is no surprise, then, that the tools and machines you use when starting out as a complete novice influence how you grow from a curious enthusiast into a full-blown professional.

This also means that one of the biggest gatekeepers for novices and students learning the basics is access to tools and machines that are fundamental to learning a skill.

This is why Whole Tomato is proud to announce that we’ve recently launched our academic licensing program to help students—as well as their teachers—get a headstart in their programming career!

The benefits for students, instructors, and teaching departments

visual assist benefits for students

To help more people learn about the wonders of fast and efficient programming in C, C#, and C++, Whole Tomato is lowering the barriers to accessing its renowned Visual Assist plugin for Visual Studio. From now on, students and instructors can secure fully sponsored Visual Assist licenses.

Visual Assist is kicking off its foray into accessibility for young learners, instructors, and teachers.

For Students
Students can easily secure a license using a verified educational email address. They will be able to purchase discounted licenses—friendly to an apprentice’s allowance. And if a learner is only willing to test the waters, they can also opt for a monthly subscription plan. Just visit our webstore and follow the checkout process for students.

A student is someone who is enrolled in an accredited educational program. Students can also check with their university or program organizers if they have existing packages with Whole Tomato. 

For teachers, instructors, and departments
Sometimes a beginner needs a push in the right direction. Recommending Visual Assist to students has never been easier. If an instructor is looking to share Visual Assist with their class or department, they have access to a number of tiered options ranging from fully sponsored deals to specially tailored plans.

If you’re interested in sharing the unrivaled power of Visual Assist to a class or a group of learners, contact the Whole Tomato sales team to explore your options.

Why an academic licensing program?

Picture this: rolling out academic licenses could be a game-changer, especially with the new generation of developers and programmers in mind. Think of it as guiding the future workforce with a backstage pass to industry-grade tools while they’re still in school. This early exposure to efficient and optimized instruments and applications makes learning a more encouraging and satisfactory experience. 

Partnering up with schools and departments also means that we, as software providers, get a chance to know what the new wave of developers are interested in trying or what problems they are facing. This allows Visual Assist to grow alongside the ever-changing demands of C/C++ development. 

And you students, on the other hand, get a more suitable and optimized tool to help you become fast and efficient developers. You won’t need to train and study as much when you graduate, as well since you will already be accustomed to the tools in the industry. This makes you a more attractive candidate for the occasional picky recruiter.

Supporting young learners is also one of the initiatives that the community should always strive to promote. As an interdependent and ever-changing industry, developers and the software world must ensure that people remain interested in learning our craft. Offering software at student-friendly rates (or even sponsoring them completely) levels the playing field and makes it more accessible. It’s totally the way to go! ?

Why would students need Visual Assist?

Long loading times, incomplete prompts, incorrect suggestions, and missing navigations, among others. The Visual Studio IDE has gone through leaps and bounds to improve C development, however, there are still areas in C++ that are in dire need of improvement.

Visual Assist provides the necessary support  and tooling learners need in their journey to becoming developers. Visual Assist provides new tools and improves existing ones in VS to eliminate the frustration in C/C++ development.

The latest additions to Visual Assist

Visual Studio 2022 
Cash in on that sweet x64 process. With virtually limitless memory available to Visual Studio, your productivity plugins no longer have to squeeze themselves for the remaining memory allocation. Visual Assist has been tweaked to properly utilize the newfound bandwidth.

Extremely fast project parsing
Interruptions and long loading times can make a significant hit on productivity. Stop fighting your development environment. Visual Assist’s raw performance allows users to focus on thinking and coding.

Better coding support and tooling
It’s easier to teach new learners new things. Visual Assist keeps the development environment updated with the latest features available. Follow the latest C++ standards and conventions with VA’s 100+ New code inspection checks and updated LLVM Clang Tidy 15.0 engine.

Specialized support
Unreal Engine source, shader files, CUDA core development, you name it. Visual Assist adds special support for lookalike C++ code. Enable basic IDE features such as navigations, refactoring, and code completion for these applications.

 The best time to get Visual Assist

Visual Assist was running at a discounted price when we publicly launched academic licenses—but luckily for you, being a student or a teacher ain’t seasonal! Visual Assist academic licenses will be available continuously for students using our webstore. And if you’re an instructor looking to secure some seats for your students, just contact our sales team to browse your fully-sponsored options.

Not a student or a teacher but you’re looking for affordable sets of licenses? Not a problem! Contact us to check your available options for bulk and enterprise licensing.

The post Another reason to cheer: Visual Assist academic licenses! first appeared on Tomato Soup.

]]>
https://www.wholetomato.com/blog/2023/12/22/visual-assist-academic-licenses/feed/ 0 3678
Game Development Showcase: Visual Assist + Cloud Hosted Perforce from Assembla https://www.wholetomato.com/blog/2023/09/17/game-development-showcase-visual-assist-cloud-hosted-perforce-from-assembla/ https://www.wholetomato.com/blog/2023/09/17/game-development-showcase-visual-assist-cloud-hosted-perforce-from-assembla/#respond Sun, 17 Sep 2023 15:44:33 +0000 https://blog.wholetomato.com/?p=3405 Game development cycles can get increasingly longer when working with larger projects and teams. Learn how Assembla’s Cloud Hosted Perforce solutions can further speed up your dev cycles by streamlining source control management in Helix...

The post Game Development Showcase: Visual Assist + Cloud Hosted Perforce from Assembla first appeared on Tomato Soup.

]]>
Game development cycles can get increasingly longer when working with larger projects and teams. Learn how Assembla’s Cloud Hosted Perforce solutions can further speed up your dev cycles by streamlining source control management in Helix Core with tailored support for Unreal Engine.

As many of our readers know, Visual Assist is a productivity extension for Visual Studio that provides a set of intelligent refactoring, navigation, code highlighting and generation features for C++ development, along with tailored features that help game devs make the most of Visual Studio’s integration with Unreal Engine. For those who are newer to our blog, check out this article for a quick overview of how Visual Assist can make game dev with Unreal Engine easier. In addition, last month was the first version of Visual Assist to officially support Unity. Read more about it in the VA 2023.4 build announcement.

Today, we’d like to introduce you to one of our partners, Assembla, and share how their Perforce hosting offerings can make game dev with Unreal and Unity even more efficient. Assembla provides a cloud-based source code management platform that brings project management, source code hosting, security solutions and other integrations under one roof to streamline your E2E dev pipeline. 

Assembla hosts Perforce Helix Core in the cloud under two solutions: Perforce Cloud, a quick-to-deploy SaaS platform, and Perforce Enterprise, where Assembla DevOps engineers set up Perforce Helix Core in a fully managed, dedicated AWS server or a custom network of servers to support global teams. With Assembla’s solutions, gaming studios save the overhead of managing their own on-prem or cloud solution and can focus on creating the best game possible rather than infrastructure. Additionally, teams can scale globally without worrying about how source control and file transfers will perform across locales.

Assembla was the first company to package Helix Core for the cloud and remains a leading expert today, bringing you the best features: 

  • Fast commit performance
  • Faster revisions, code testing and binary file handling 
  • Automatic backups for every commit
  • Virtually unlimited cloud repository storage
  • Track and trace any code changes to identify security threats
  • Native support for Unreal Engine and Unity
  • Helix DAM to help speed up the creative process for your artists and designers
  • Helix Swarm for code review

 

Assembla also supports Perforce’s third-party integrations with standard game dev tools such as Visual Studio, Jira, Adobe, Maya, Microsoft, and AWS. To further streamline your dev pipeline, Assembla recently launched a new CI/CD integration that supports GPU builds through Travis CI, improving the speed and efficiency of processing your games. 

Discover how Assembla can help you make the most of Perforce so you can create virtual worlds and immersive games by visiting their Gaming Development page.

The post Game Development Showcase: Visual Assist + Cloud Hosted Perforce from Assembla first appeared on Tomato Soup.

]]>
https://www.wholetomato.com/blog/2023/09/17/game-development-showcase-visual-assist-cloud-hosted-perforce-from-assembla/feed/ 0 3405
Summer CodeFest: C++ coding camp hosted by Whole Tomato https://www.wholetomato.com/blog/2023/07/20/summer-codefest-c/ https://www.wholetomato.com/blog/2023/07/20/summer-codefest-c/#respond Thu, 20 Jul 2023 22:28:34 +0000 https://blog.wholetomato.com/?p=3268 CodeFest happened on August 17th, 2023. Registration is not available now. Stay tuned and find out when next CodeFest begins! Get ready to unwind with Whole Tomato at our first Summer C++ CodeFest! Join us...

The post Summer CodeFest: C++ coding camp hosted by Whole Tomato first appeared on Tomato Soup.

]]>
CodeFest happened on August 17th, 2023. Registration is not available now. Stay tuned and find out when next CodeFest begins!

Get ready to unwind with Whole Tomato at our first Summer C++ CodeFest! Join us for two weeks of laid-back learning, collaboration, and coding sessions. Expand your C++ coding skills and ignite your passion for coding in a join-when-you-can environment.

Why this virtual coding camp for?

C++ is one of the most established procedural and object-oriented programming languages but it has also undergone numerous revisions throughout its lifetime. What you may have learned from using prior versions as a wee developer in C++11 may have drastically changed in the most recent version of the C++ standard (C++20). 

But as C++ developers ourselves, we understand that keeping up with the ever changing standards may sometimes feel like an unnecessary chore—if what we’re using works, don’t fix it, right? 

And while it’s certainly cool to be using new stuff in itself, we feel that there are potential benefits from modern C++ that are extremely underutilized. Getting familiar with modern techniques and strategies such as lambdas, structured bindings, and the like can not only optimize performance, it can make our work much much faster and easier too!

This is why we are holding our first ever summer code fest! This is a two-week long event where in usual Tomato fashion, we present short, highly digestible sessions about specific practices you should know about and use in your everyday  C++ workflow. 

Who is this coding camp for?

Junior developers looking to expand their skill set with modern C++ practices and strategies, and intermediate C++ developers that are stuck in the old ways are all welcome to join. While we will be primarily using Visual Studio with some features provided by Visual Assist, anyone with a C++-capable IDE will be able to benefit.

What topics will be covered?

At the Summer CodeFest, we invite you to join our mini lectures on a variety of C++ topics, condensed into 30 to 45 minute sessions with additional time for audience Q&A. Some of our specialized topics will include concurrency structures, lambda functions, and C++ templates.  Here are other things you can expect to learn at our coding camp:

  • The most important developments from C++ 11 all the way to C++ 20.
  • Modern practices and strategies that you should be using regularly
  • Life hacks and expert advice from our professional C++ presenters

Event Schedule

The Summer CodeFest will have four sessions, each ranging from 30 to 45 minute presentations.

  • Session 1: Next-Level Concurrency: Enhancing Scalability with C++20

    with Chris Gardner
    Explore modern C++20 multithreading and powerful parallelism techniques. As programs get more complex, computers get equipped with even more CPU cores. Learn to optimize applications for peak performance with real-world examples and practical insights with C++20’s new concurrency features.
    August 8 – 10:00 AM CT

  • Session 2: What the Hex? Ports and Adapters Architecture with C++

    with Nuno Castro
    In this session, we’ll dive into Hexagonal architecture. Explore how to build scalable applications effectively and address challenges with logic changes when refactoring code and maintaining application integrity during logic changes.
    August 10 – 10:00 AM CT

  • Session 3: Modern C++ with Modern 3D

    with Yilmaz Yoru
    This is a journey to modern 3D with modern C++, we will walk you through to modern 3D in C++. Rotation matrix, vectors, Viewport3D, 3D objects, 3D engines, animation, and more.
    August 11 – 1:00 PM CT

  • Session 4: Lambdas go Baa!

    with David Millington
    Many C++ developers still use functor objects instead of lambdas. That might be because they’re “ol’ reliable”, or lambdas seem complex, or there just seems no need. But lambdas are exciting, simpler than you think, and really useful.
    August 15 – 10:00 AM CT

  • Session 5: Tips and Tricks using C++ Templates

    with Miguel Angel Moreno
    Discover the many ways you can take advantage of C++ templates in your day to day coding. Templates are a very useful feature of C++, yet many developers still think of them as “too complex” to use. In this presentation we will show you some tips and tricks that will encourage you to start using templates in your next coding project.
    August 16 – 11:00 AM CT

  • Session 6: Magnificent or Malevolent? Maps! Measured, Monitored, & Magnified

    with David Millington
    Good old std::map. We use it everywhere. But what about some of the others? Like std::unordered_map — why would you use that? And is it true that the STL collections have inbuilt performance issues by design? Are there are collection classes out there that we could use instead?
    August 17 – 10:00 AM CT

 

The Summer CodeFest will be made up of multiple sessions organized and presented by a number of C++ experts, with some of our friends in the industry guesting for some of the sessions. You can choose which of these sessions you want to watch. Replays will also be provided but we encourage everyone to attend live so we can answer your questions and demonstrate them live to you. All content will be in English unless otherwise indicated.

Joining is easy and free. Sign up using the individual registration links or click this all-in-one link to register and add all of the sessions to your calendar. 

The post Summer CodeFest: C++ coding camp hosted by Whole Tomato first appeared on Tomato Soup.

]]>
https://www.wholetomato.com/blog/2023/07/20/summer-codefest-c/feed/ 0 3268
Visual Assist 2022 Year End Summary https://www.wholetomato.com/blog/2022/12/29/2022-recap/ https://www.wholetomato.com/blog/2022/12/29/2022-recap/#respond Thu, 29 Dec 2022 19:58:45 +0000 https://blog.wholetomato.com/?p=2814 Here's a summary of what happened with Visual Assist in 2022—from product development to hosted and joined events.

The post Visual Assist 2022 Year End Summary first appeared on Tomato Soup.

]]>
Another year is once again coming to a close and with it comes a slew of changes to our favorite Visual Studio plugin. Visual Assist has had four releases this year—all filled with useful tweaks, bug fixes, and optimizations but here are the most important updates you need to know (in no particular order).

Visual Assist core parser behavior updated.

While generally a staple change, new features are introduced into C++ roughly once every three years which is why these changes keep Visual Assist on pace with the ever changing industry standards.

Apart from performance, updating the parser allows Visual Assist to recognize and suggest modern coding practices. This includes new features such as C++17’s structured bindings declaration or C++20’s nested inline namespace definitions features which had support added in 2022.4 and 2022.1 respectively.

Unreal Engine 5 support

Arguably one of the competitors for biggest update in 2022, rivaling only Visual Studio 2022 itself. Unreal Engine 5 brought game developers Lumen and Nanite, among other useful tools and technology.

VA 2022.2 gave developers a new level of Unreal Engine programming with better parser behavior when used alongside Unreal’s core redirect functions.This was a key development for renaming classes. and allows their Blueprint code to find the renamed classes by editing a redirect file for them.

HLSL Support

High-level shader language (HLSL) is an industry standard for those working with shaders and graphics technology. VA 2022.3 and 2022.4 added internal support for HLSL, as well as Unreal’s counterpart USH and USF files.

  • Code navigation features
  • Syntax highlighting 
  • Context-aware smart suggestions
  • Automatic code generation prompts
  • Coloring support for various file and matrix types
    Visual Assist support HLSL

    Basic HLSL syntax highlighted by Visual Assist.

     

     

New code inspections

Over the course of the year, Visual Assist has added 6 code inspection checks. Code inspection is a VA feature that automatically checks your projects for code smells and suggests the appropriate fix. 

Use this constantly, even only as a reference, so your skills (and your code) can keep up to date on the latest C/C++ standards. Here’s a quick rundown of the new code inspections added in VA 2022:

Head on over to our documentation for the complete list of all available code inspections

Bonus: Visual Studio 2022 Support

While support for VS 2022 started in November of 2021, we can still consider this part of this year’s updates. It was such a monumental milestone for Visual Studio and Visual Assist that we thought should be added here.

It isn’t an understatement that both the underlying architecture and the interface for Visual Assist were heavily adjusted for VS 2022.

Some other things we did this year

Apart from the usual bug fixes and Visual Assist improvements, we’ve also embarked on a few activities and events for the first time. Here are a couple of them:

Two new webinars

The game development community is a key audience for Visual Assist so we wanted to host something specific for them. One of our webinars was intended to help aspiring game developers get a feel for actual game development. This was hosted by VA’s very own lead engineer, Chris Gardner.

The other webinar was a mid-year What’s New presentation for Visual Assist. This was a spin on our regular blog posts and notifications. The interaction aspect of the webinar made it very much worthwhile!

Attending Game Developers Conference (GDC) 2022

Speaking of community interactions, 2022 saw the return of live events and conferences so we were super stoked to attend GDC. Relive the event in our blog post.

GDC 2022 was held in Moscone Center in CA.

A cool new website refresh

As our year ender, the website gets a facelift! We made some aesthetic and UX changes to some of the pages on the Visual Assist website. (And it’s not just a seasonal thing!)

If you have any suggestions on what you want to see on the website, please let me know.

What’s next?

We hope you find the work we do useful. Expect a new release sometime early next year.

Be sure to check our what’s new page and scroll a few screens down to learn more about the changes we didn’t include here.

The post Visual Assist 2022 Year End Summary first appeared on Tomato Soup.

]]>
https://www.wholetomato.com/blog/2022/12/29/2022-recap/feed/ 0 2814
Recap: What’s New in Visual Assist 2022 https://www.wholetomato.com/blog/2022/06/16/webinar-recap-whats-new-in-visual-assist-2022/ https://www.wholetomato.com/blog/2022/06/16/webinar-recap-whats-new-in-visual-assist-2022/#respond Thu, 16 Jun 2022 17:03:41 +0000 https://blog.wholetomato.com/?p=2533 Did you miss the What’s New in Visual Assist 2022 webinar? We’ve got you covered.  The webinar and this recap blog are part of ongoing efforts to share more information around the latest Visual Assist...

The post Recap: What’s New in Visual Assist 2022 first appeared on Tomato Soup.

]]>
Did you miss the What’s New in Visual Assist 2022 webinar? We’ve got you covered. 

The webinar and this recap blog are part of ongoing efforts to share more information around the latest Visual Assist updates and developments. Usually we publish what’s new in a bulletin, but we haven’t often had a webinar where we share what’s new and have live questions and answers. So we had one!

The webinar was hosted by Whole Tomato’s Chris Gardner (Lead Developer), David Millington (Product Manager), and Kyle Wheeler (General Manager).

If you want to skip ahead to specific parts, we’ve summarized the most important points and linked them to the appropriate section in the webinar.

An overview of Visual Assist and its features

In this section, Chris gives a brief rundown of Visual Assist features, and how Visual Studio users can benefit from the tool. And while this serves as a great introduction to new users, Chris imparts his years of knowledge and experience— making it a great reference even for those already familiar with the tool.

This section includes a quick summary of the key feature categories included in the Visual Assist package:

 

What makes Visual Assist a unique C++ productivity tool? 

“There’s a ton of features,” says Kyle Wheeler. The tool has been available for a few years and has seen many versions of Visual Studio. And with each version came “new complexities, challenges but also new opportunities”.

One of the main design principles of Visual Assist is finding gaps in Visual Studio and making them better. The native environment sometimes does not work in the most intuitive of ways or struggles “because C++ code is [relatively] complex”, which is why the tool tries to provide better options, if not outright replacements.

But apart from a lengthy list of added functionality, David Millington explains a few key benefits of having Visual Assist as a coding partner:

  • Non-distracting, non-flashy  UI that shows up only when needed.
  • Low memory usage,  making it perfect for large projects – we recently halved memory usage, and we were already pretty good
  • Highly performant to parse and to provide results from parsing
  • Parser can handle non-compiling code, i.e. code you’re in the middle of working on

Live Demo: Using Code Inspection to Modernize Code

Visual Assist's Code Refactoring

Visual Assist inspects code for issues and automatically suggests a replacement according to latest standards.

Chris demoed one of Visual Assist’s refactoring tools that looks for code issues and automatically suggest the replacement code appropriate to the latest C++ coding standards.

This feature makes it easier to maintain older code bases or update legacy code to modern, and often safer and more performant, coding styles. For example, following the latest C++ Standard Template Library (STL) standard practices.

You can quickly apply all fixes in the code inspection results window.

Note: This feature is currently disabled by default. Turn it on via accessing Extensions > VAssistX > Code Inspection (beta). 

Live Demo: Accessing features (Navigation & Commands) 

Chris also gave a brief demo of the most popular Visual Assist features and their default/recommended shortcuts. He also shows a few tips and tricks to maximize these features.

  • Refactoring Menu – a comprehensive dialog menu that shows a list of available actions depending on the highlighted symbol
  • Go to related –  a strong navigational feature wherein you can jump to anywhere related to the current symbol
  • Keyboard shortcuts – best way of finding and learning how to use new functions
  • Open file in solution – a lightweight search window that lists all openable files
  • Find symbols – a tool for finding and jumping to a symbol
  • Code snippets – used to create, save, and insert snippets of code quickly

Chris and Kyle also gave a few tips on how to keep track of the many shortcuts and how to integrate them into you workflow.

What’s new in Visual Assist

Visual Studio 2022 support, Unreal Engine 5 parity, and more! These are just a few of the latest developments in the recent versions of Visual Assist

  • Visual Studio 2022
    David explained how the shift to an x64 process affects Visual Studio coding, and also what it may mean in terms of new and exciting possibilities for Visual Assist.
  • Unreal Engine 5
    Chris shared a bit on Unreal Engine 5: his firsthand experience with a UE5 demo, the troubles with development on Visual Studio, and how VA remains a highly necessary tool for UE development.
  • Other notable updates
    David capped off the latest VA news with a list of key development points for Visual Assist in the past year.

The future of Visual Assist

The following bullet points are by no means official announcements, but they are ideas currently being considered by the product development team.

  • Consolidating more Unreal Engine improvements
  • Improving C# support and feature parity
  • More refactoring options
  • Visual Studio for ARM
  • Taking advantage of new 64-bit architecture

Getting involved

This update webinar was a new effort for us. It may be useful to be able to ask questions and have the team answer them directly, so if you prefer these live sessions of what’s new in Visual Assist, do let us know so we can continue doing more in the future.

And if you have any other suggestions on what we should focus on next, feel free to shoot us a message on our support channel.

 

 

 

 

 

 

And if you know someone in the community who’s been a great help to your coding journey, let us know. They might be our next MVP. (It might even be you!) 

Viewing the webinar

The full webinar recording is available here

The post Recap: What’s New in Visual Assist 2022 first appeared on Tomato Soup.

]]>
https://www.wholetomato.com/blog/2022/06/16/webinar-recap-whats-new-in-visual-assist-2022/feed/ 0 2533
Announcing our GDC giveaway winner, plus an important community announcement https://www.wholetomato.com/blog/2022/05/05/announcing-our-gdc-giveaway-winner-plus-an-important-community-announcement/ https://www.wholetomato.com/blog/2022/05/05/announcing-our-gdc-giveaway-winner-plus-an-important-community-announcement/#respond Thu, 05 May 2022 21:04:40 +0000 https://blog.wholetomato.com/?p=2297 Meet our winner We’ve had a couple of giveaways during our stint at GDC last March in San Francisco— the most exciting of which was our Steam Deck giveaway. After drawing from our list of...

The post Announcing our GDC giveaway winner, plus an important community announcement first appeared on Tomato Soup.

]]>
Meet our winner

We’ve had a couple of giveaways during our stint at GDC last March in San Francisco— the most exciting of which was our Steam Deck giveaway.

After drawing from our list of entries, we’re excited to introduce our winner: Rebecca Vessal. We have coordinated with her and she will receive a brand new Steam Deck as soon as stocks are available (even we aren’t immune to shortages!)

Omg!  I’m super excited to win the Steam Deck from the GDC giveaway!  I look forward to receiving it and playing my Steam games on the go or hooking it up to a TV.  Thank you so much! =D

– Becca

Rebecca Vessal is currently enjoying her work as a gameplay programmer at Double Fine Productions. She particularly enjoys collaborating with her team of game developers to come up with creative solutions in order to make awesome games. 

Psychonauts 2, Rebecca Vessal

Becca helped her team at Double Fine create the cinematic platform-adventure game Psychonauts 2, which won Best Narrative at this year’s Game Developers Choice Awards.

Prior to her joining Double Fine, Becca worked on mobile games like the popular Diner Dash at Playfirst and Glu Mobile. She also worked on LEGO Movie Maker, a mobile application for DIY LEGO animations.

Rebecca has a wide variety of programming experiences, from mobile games and apps to console/PC games.  Her game development programming experience includes working on:

  • Video Game A.I.
  • Global gameplay systems
  • Custom level specific systems
  • User Interface
  • Physics and tools programming. 

In her spare time, Rebecca likes to try out new kinds of food and drinks, play sports, hang out with friends, play with and pet her doggos, draw, play video games, and explore new places.

Her next big thing is Whole Tomato’s MVP program

One other thing that you need to know about Becca is that she is a dedicated Visual Assist user. There is almost never a work day where she wouldn’t be able to find use for one of VA’s features.

And in the spirit of full disclosure, Rebecca was a participant in one of our focus groups, so we had a bit of a background on her already. It was a happy coincidence that she won the giveaway out of the 240 entries we had.

With that in mind, we took the opportunity to invite her to be one of our first MVPs for the launch of Whole Tomato’s new community recognition program. We’re looking forward to many exciting collaborations and projects with her soon!

If you think you’re qualified to be one of our MVPs and are interested, you can fill this form.

The post Announcing our GDC giveaway winner, plus an important community announcement first appeared on Tomato Soup.

]]>
https://www.wholetomato.com/blog/2022/05/05/announcing-our-gdc-giveaway-winner-plus-an-important-community-announcement/feed/ 0 2297
Improving Visual Assist: We need your opinion https://www.wholetomato.com/blog/2021/12/15/improving-visual-assist-we-need-your-opinion/ https://www.wholetomato.com/blog/2021/12/15/improving-visual-assist-we-need-your-opinion/#respond Wed, 15 Dec 2021 20:11:02 +0000 https://blog.wholetomato.com/?p=2050 Good day! The Whole Tomato team is looking to improve the Visual Assist experience in other fields, and we are inviting you to join us! We are currently looking for focus group participants in the...

The post Improving Visual Assist: We need your opinion first appeared on Tomato Soup.

]]>

Good day! The Whole Tomato team is looking to improve the Visual Assist experience in other fields, and we are inviting you to join us!

We are currently looking for focus group participants in the financial service sector. Eligible participants include programmers or people working in similar positions in banking, investment, trading, insurance, and similar sectors. 

Specifically, we are looking for those using C++ in their work— perhaps for high-performance trading, insurance calculations, payroll organization, or anything at all so long as it’s C++.

If you think you fit these requirements, please fill out this form.

Participants who attend the focus group sessions will be awarded with a visa gift card, and will be given special privileges as a token of our appreciation.

Long-time users will remember how VAX started as a simple plugin that provided code snippets, code refactoring, and file navigation. Newer users may be aware of VAX’s seamless integration for Unreal Engine projects, which is arguably one of our most successful features—though perhaps not widely used in finance. Today, our latest achievement comes with the release of our official support for Visual Studio 2022— more on that here

Just as we are a key tool for game development using Unreal Engine, we want to help those who use C++ in finance— and that’s where this focus group comes in.  We want to invite our community to influence Visual Assist’s development as we head into this new venture. The future awaits, and we hope you are as excited as we are.

 

The post Improving Visual Assist: We need your opinion first appeared on Tomato Soup.

]]>
https://www.wholetomato.com/blog/2021/12/15/improving-visual-assist-we-need-your-opinion/feed/ 0 2050
Visual Assist support for Visual Studio 2022 Previews! https://www.wholetomato.com/blog/2021/08/12/visual-assist-support-for-visual-studio-2022-previews/ https://www.wholetomato.com/blog/2021/08/12/visual-assist-support-for-visual-studio-2022-previews/#comments Thu, 12 Aug 2021 17:48:00 +0000 https://blog.wholetomato.com/?p=1996 Visual Assist 2021.3 is out now, and includes beta support for the Visual Studio 2022 Previews!

The post Visual Assist support for Visual Studio 2022 Previews! first appeared on Tomato Soup.

]]>
There’s a lot of interest in the developer community about the new version of Visual Studio, which is in preview currently. This week we released Visual Assist 2021.3 (build 2420), and Visual Assist includes beta support for the Visual Studio 2022 Previews.

VAssistX menu open in the Visual Studio 2022 Extensions menu
Visual Assist 2021.3 running inside Visual Studio 2022 Preview 3

Visual Studio Preview

Visual Studio (VS) 2022’s main change—and it’s a significant one—is that it will become a 64-bit process. Since Visual Assist (VA or VAX) runs as a plugin, in-process, we needed to build a 64-bit version of our plugin DLL. Those who have upgraded 32-bit code to 64-bit code before know that, even in well-architected code, it takes some work even just to review code to ensure it is correct. In addition, the new version adds and modifies a number of APIs we rely on to interact with the IDE. Adapting to those was the most significant change for us.

We’ve tested fully against VS 2022 Preview 2, and in fact the installer says ‘Preview 2’. There are some known regressions:

  • VA Quick Info not appearing when triggered by keyboard in VS 2022 [case: 146063]
  • Source Links example plugin does not load in VS 2022 [case: 146012]
  • Changing from Cascadia to another font for italicized system symbols requires restart in VS 2022 [case: 145979]
  • plus a few others.

Visual Studio 2022 Preview 3 was released two days ago—overlapping timing with our release—and our regression tests are showing some failures. Currently we believe those are because of changed behaviour in a Visual Studio API which we use when verifying in-IDE behaviour (ie not an issue in VAX itself), but it is always possible that once that is resolved further test failures will need to be resolved. However, we believe the current build is well worth trying out on Preview 3 as well.

Performance

Many of our customers strain the Visual Studio IDE, with many plugins and SDKs installed. Both to help them, and because we believe it’s part of being a good member of the Visual Studio ecosystem where our plugin sits alongside others, last November we greatly reduced the in-process memory usage largely through (spoiler: the full blog is worth reading) use of memory-mapped files.

Now that Visual Studio 2022 is a 64-bit process, that work is not necessary for VS2022. For older versions of Visual Studio, those techniques are still used, so if you’re using VS 2019 or even VS 2005 with Visual Assist 2021.3, you’ll still benefit from the lighter memory impact within the IDE.

When we did that work, we also focused on performance to ensure that the changes to memory access had either zero or a positive impact. The blog notes that for heavy usage, we had equal performance; for small projects, VAX actually was a bit faster. Despite no longer needing the memory usage code we added, VS 2022 benefits from that performance work as well, plus some more work we’ve done while adding support. Since it’s a beta build, and Visual Studio itself is in preview, we do not have hard numbers. But a rough guideline is that an operation like Find References that previously may have taken (say) two minutes will now take about one minute twenty seconds, or about two thirds the time.

Overall

It’s historically been very important to us to have swift support for new versions of Visual Studio, and this work is our foundation for quickly officially supporting Visual Studio 2022 when it is officially released. While the main focus of this release was VS 2022 support, there are other changes as well in 2021.3, which we’ll document in the What’s New. We know we have many customers using older versions of Visual Studio, and as well as those improvements today you can look forward to further improvements focusing on other, non-VS areas as we switch back to a more normal focus in our next release.

We’re really happy to be able to ship beta support for the Visual Studio 2022 previews, and providing an even faster Visual Assist is a happy bonus. We’ll continue to work and look forward to shipping full support when Visual Studio publishes its final release.

Visual Assist 2021.3 is available for download on our website now, and will be on the Visual Studio Marketplace in a few days. Enjoy!

The post Visual Assist support for Visual Studio 2022 Previews! first appeared on Tomato Soup.

]]>
https://www.wholetomato.com/blog/2021/08/12/visual-assist-support-for-visual-studio-2022-previews/feed/ 2 1996
Unreal Engine ‘Quality Of Life’ in Visual Assist 2021.2 https://www.wholetomato.com/blog/2021/07/15/unreal-engine-quality-of-life-in-visual-assist-2021-2/ https://www.wholetomato.com/blog/2021/07/15/unreal-engine-quality-of-life-in-visual-assist-2021-2/#respond Thu, 15 Jul 2021 17:52:24 +0000 https://blog.wholetomato.com/?p=1978 Two new features in Visual Assist mean that your Unreal Engine projects should be fully usable much faster when you open them, and that Visual Assist only shows and uses methods and other symbols that you’re really interested in.

The post Unreal Engine ‘Quality Of Life’ in Visual Assist 2021.2 first appeared on Tomato Soup.

]]>
The first two releases of Visual Assist this year contain some great Unreal Engine quality-of-life improvements you may want to take advantage of.

While we’ve always announced features in our changelog and release blogs, we’re starting to blog in greater detail about some of what we change — our December blog about reducing memory usage started this — and this time we’ll dig a bit more into two changes improving using Unreal Engine with Visual Assist.

This applies only to versions 2021.1 and 2021.2, the first two versions this year. If you’re reading from the future, there’s likely much more for UE than is described here!

There are two notable items in these versions:

  • Improving parse times for Unreal Engine projects
  • Removing unwanted generated headers and symbols

These mean that your Unreal Engine projects should be fully usable with Visual Assist faster when you open them, and that Visual Assist only shows and uses methods and other symbols that you’re really interested in.

Parse Times

When a solution is opened in Visual Studio, Visual Assist (VAX) parses that solution. This generates the databases of symbols and other data which VAX uses to be able to implement features like GoTo Related, extra syntax highlighting, parameter info, and so forth.

Parsing can take time. Although VAX is not based around a C++ compiler (one of its strengths), parsing is analogous to compiling a project, and while you can use VAX right away, some features require that data before they will work. Unreal Engine solutions can be very large. Therefore, we spend a lot of thought on how to speed up parse time to make the time between opening a solution and having VAX fully functional be as short as possible.

Avoiding Unnecessary Parsing

This following is going to sound ridiculously simple, and it is. What’s the best way to spend less time doing something? Not to do it.

We do focus on optimisations; the parse engine is heavily multi-threaded; the database uses considerably less memory than it used to; and other techniques. But ultimately, the best way to reduce parse time is to do less parsing.

Unreal Engine projects include plugins. These are additional libraries that add features to your game or project (in-editor or at runtime.) The UE editor lets you enable and disable these, so it’s common to have several installed but only use a subset of them. Yet, the presence of plugins is a key item that makes parsing a UE project lengthier. We added an option to turn off parsing them.

In 2021.1 we added an option to disable indexing these plugins. When off, the default, UE plugins were not parsed.

However, we realised this was based on a flawed understanding: that if plugins are third-party (as plugins often are) then you may not need them to be parsed into VAX’s memory: after all, we thought, you’re unlikely to do a ‘find references’ on an internal method of a third-party library. Omitting them from being parsed would not affect day to day use of Visual Assist. But we got feedback that it was more common than we thought for plugins to be first-party: that is, for UE developers to move parts of their game or project’s functionality into a plugin. That means that it was necessary to parse some plugins, and so a simple on/off parse all-or-none toggle was not useful.

In 2021.2 we expanded the setting so that Visual Assist can parse plugins that are genuinely used by your project, only. Today the ‘Index Unreal Engine plugins’ setting has three options for parsing plugins:

  • None: don’t parse anything in the Plugins folder. This reduces parse time the most
  • Referenced: parse only plugins references by the project, and referenced by default. Depending on how many plugins you have installed that are not used, this still reduces parse time. It is the recommended setting
  • All: parse all plugins; there is no reduction in parse time.
Visual Assist Options dialog, showing the settings to index all, referenced, or no Unreal Engine plugins

Real-World Performance Improvements

The amount of time saved by not parsing unused plugins depends on the complexity of your Unreal Engine solution and the specific machine on which Visual Studio runs, but some real-world measurements are as follows:

Time (minutes and seconds) to fully index an Unreal Engine project, when indexing UE plugins. The percentage annotations are the fraction the Referenced Plugins or No Plugins times are of the time indexing the same project with all plugins.

The absolute values may vary but we expect the relative percentage to be broadly applicable.

Notes

If you open a file from a plugin folder which was not parsed (either not referenced, or the above setting was set to None), then you will see a notification message that the file was not parsed and Visual Assist won’t provide your expected functionality for that file. This is shown only once, and won’t be shown again until Visual Studio restarts.

Avoiding Parsing UE-Generated Files

Saving a very useful change for last — there are many places Visual Assist shows you the symbols and files it’s aware of. The two main windows are Open File In Solution which lists all headers (and other files), and Find Symbol will list every symbol in the database. Unreal Engine, however, generates header files, and these include generated symbols, neither of which are useful in practice when coding on your UE project in Visual Studio.

Voila, a new setting, which means Visual Assist won’t show *.generated.h files, and the Find Symbol dialog is not polluted with generated symbols either. The setting is called ‘Index generated code’ and is off by default. That is, the default is aimed at clean results within Visual Assist, to not index these generated files and store those generated symbols. You can always turn it back on if you want the old behaviour.

Visual Assist Options dialog showing the checkbox to index generated code. By default it is off, which means the results shown within Unreal Engine will be cleaner

Unreal Engine with Visual Assist 2021.1 and 2021.2

The above covers only the first two releases this year, and we have more planned. However, the parsing speed improvements (including our followup for more granular parsing of plugins) and removing generated files and symbols by default should the general ‘quality of life’ using Visual Assist with Unreal Engine. As always, feedback is welcome!

The post Unreal Engine ‘Quality Of Life’ in Visual Assist 2021.2 first appeared on Tomato Soup.

]]>
https://www.wholetomato.com/blog/2021/07/15/unreal-engine-quality-of-life-in-visual-assist-2021-2/feed/ 0 1978
License and Website Changes for Visual Assist https://www.wholetomato.com/blog/2019/05/16/license-and-website-changes-for-visual-assist/ https://www.wholetomato.com/blog/2019/05/16/license-and-website-changes-for-visual-assist/#comments Thu, 16 May 2019 16:55:36 +0000 http://blog.wholetomato.com/?p=1580 You’ve spoken, and we’ve listened! Our recent website and license migration failed to deliver the high quality experience you deserve. Recently, Whole Tomato migrated our website to a new backend technology and a much needed...

The post License and Website Changes for Visual Assist first appeared on Tomato Soup.

]]>
You’ve spoken, and we’ve listened! Our recent website and license migration failed to deliver the high quality experience you deserve.

Recently, Whole Tomato migrated our website to a new backend technology and a much needed new license technology for Visual Assist. There have been some hiccups, and some of the changes to licensing resulted in delays sending licenses to customers, and concerns expressed to us. We’ve heard you. In this post we’d like to cover what changed and why for both the website and licenses, as well as what steps we are taking to address concerns.

Whole Tomato Website

We migrated the main Whole Tomato website, wholetomato.com, to the same backend used by other Idera websites. This retained all existing content and ensured our web team only needs to maintain one server stack.

During this content migration, there were a few changes. The most significant is that when you download a trial or a new build, you are asked for information about yourself: name, email, address, and so forth. For a trial, we believe this is ok – it is standard business practice to know who is trying out our software and allows us to  follow up in the future. You can opt out of all marketing communications from Whole Tomato here. Your confirmation email also includes instructions for opting out, plus our privacy policy also has a link (section 14, Unsubscribe.)

However, there is no reason to ask for licensed customers’ information again when downloading a new build of Visual Assist for which you are already validly licensed. This has been pointed out to us, sometimes quite vocally, both through support and online. We hear you. The website no longer requires customers to enter personal information to download new builds.

The new website should also be more stable and faster.

License Technology

At the same time, we also changed the technology used to generate and validate license serial numbers for Visual Assist. Once again, this is to ensure a single technology is used across multiple products. It’s also a benefit for you because this licensing technology reduces uncertainty about licensed usage and decreases over deployment compliance issues, which is something that many large customers request. No one wants to be in a situation where audits are necessary – you don’t, and we don’t.

It’s a great goal, but customers have reported two issues: delays in generating new serial numbers after purchase and concerns about individual registration data, even for large volume serial numbers.

Let’s look at the current license options available, and changes we plan to introduce in the future.

Current License Options

When you purchase a Visual Assist license, you have the following options:

  • As an individual:
    • You purchase and get a serial number. You need a user account (see below) on our website, and your serial number is registered against that account. You can use this serial number on multiple VMs, so long as the serial number is used only by the same person.
  • As a company:
    • You purchase and get a serial number, one per developer. Just as for individuals above, each serial number must be registered against a developer’s EDN account. Each developer can use it on multiple VMs.
    • You purchase a multi-user serial number. This is a single number that is valid for multiple people. Just as for normal serials, when any individual developer installs and registers Visual Assist, they will need their own user account. Each developer can use it on multiple VMs.

There are also some temporary options that you may have seen if you encountered issues: a manually generated legacy serial number using the old license system, and an eSlip file, which is a single license file shared for a team but requiring an internet connection. We’ve used these for limited cases when none of the above licenses work for a team due to technical reasons.

The licensing changes are new to us too, and we may not have clearly explained them when you purchased or contacted Support.

User Accounts

What is a user account? User accounts provide a single licensing account across all Idera-owned products. Create yours here, and then use those login credentials when registering your license.

Registering Visual Assist. Enter your serial number at the top, and use the email and password for your Idera user account below
Registering Visual Assist. Enter your serial number at the top, and use the email and password for your Idera user account below

Right now, the webpage is not ideal, and we’ve had some feedback about that too. More on what will change there below.

Licenses In The Future

The majority of issues we’ve seen have been to do with a missing use case: a team with multiple developers who either wish to not register individually or need to use the license in a disconnected environment. We believe it’s reasonable for personal or individual users to register via an account, but we understand it’s a barrier for some larger teams.

Within the next week, we are adding a new license option to address this scenario. If you are a large company with many developers, or you operate disconnected from the net, you will be able to purchase a network named user license. This is a single license shared by the whole team. Individuals can use it on multiple VMs. No internet connection is required: instead, you run a license server on your internal network, which manages all verification without contacting us.

You’ll be given this license option if you purchase Visual Assist for a team of five or more, or by request to our sales / licensing team.

Running a license server may not be ideal for some teams with strict IT requirements. If your team is unable to use this option, you can always contact our sales or license teams to discuss some other options we can make available.

This retires eSlip licenses (except through licensing support requests) and legacy serial numbers, leaving three license options:

  1. Personal use, or multiple individual developers: individual serial numbers, registered for each developer through your user account.
  2. Multiple individual developers in a small team: a multi-user serial number, registered for each developer through your user account.
  3. Multiple individual developers in a large team, or by request for small teams: a network named user license, with no registration or internet access required.

We also expect the speed of license generation to be faster at the same time we introduce this new option. Note our staff don’t work weekends, so if you order on a Friday, you may not get your serial number until Monday. Orders during the week should be next-day or sooner, and we aim to process each one within a few hours.

License support requests are also now handled by a dedicated team with experience with this license technology. That means they are familiar with the issues you may encounter and should be able to speedily resolve them. They have a dedicated email address: licenses@wholetomato.com. (You can email this directly. If you contact normal support, your email will also be forwarded to and handled by the dedicated license team.)

In addition, we are replacing the user account website, with a planned launch date in early July. This is a brand new version of the user account website, built in Ext JS, where you will be able to create an account and view all your registered products and serial numbers. It will be quite minimal, clean, fast, and should be a lot clearer to use than the current website.

Preview of the new user account website - not yet launched! - showing products, serials, subscription status, and a separate pane for quick downloads
Preview of the new user account website – not yet launched! – showing products, serials, subscription status, and a separate pane for quick downloads

Overview

In short:

  • We rolled out a new website and new license system, and neither was quite perfect
  • You will not need to enter personal information to download your licensed software
  • The license system and where and how to use your account may not have been well explained, and we hope the above makes it clearer
  • We’re introducing a new license option, Network Named User License, that works better for large teams and teams who work offline
  • If you have issues or requests, we now have a dedicated license support team: please email licenses@wholetomato.com
  • Our new user account website will have a clean UI and provide an easy site to view your products and licenses

Idera is a developer-focused company. We do listen, and we make changes if needed. We hope the above is easy to understand and use, and the changes we’re making solve your concerns.

The post License and Website Changes for Visual Assist first appeared on Tomato Soup.

]]>
https://www.wholetomato.com/blog/2019/05/16/license-and-website-changes-for-visual-assist/feed/ 7 1580
Changes to our renewal policy https://www.wholetomato.com/blog/2018/09/17/changes-to-our-renewal-policy/ https://www.wholetomato.com/blog/2018/09/17/changes-to-our-renewal-policy/#respond Tue, 18 Sep 2018 03:28:31 +0000 http://blog.wholetomato.com/?p=1506 Whole Tomato prides ourselves on our ability to support continued development of our product.  To that end, we revised our renewal policy for Standard licenses to ensure that customers are able to benefit from ongoing...

The post Changes to our renewal policy first appeared on Tomato Soup.

]]>
Whole Tomato prides ourselves on our ability to support continued development of our product.  To that end, we revised our renewal policy for Standard licenses to ensure that customers are able to benefit from ongoing development of Visual Assist. Encouraging customers to leverage maintenance increases the productivity of developers by making new features at their disposal and increases resources that allow us to keep up with releases of Microsoft Visual Studio.  This change in policy does not impact Academic or Personal licenses.

Customers who have been off maintenance less than a year can request a quote to restart maintenance the date of purchase. Term will be for a full year. Cost to renew is $119 per user. This offer expires March 12th, 2019.

After March 12, 2019, customers who have been off maintenance less than a year can request a quote for maintenance. Term will be for a year beginning the date their prior maintenance expired.

Customers who have been off maintenance for more than one year should contact us for a customized quote.

Visual Assist evolves frequently and significantly.  If you’re after new features, ever-improving usability, increased performance and the latest innovations, staying current on maintenance allows you to get access to all updates to Visual Assist.

World Class Support

You’ll receive our world class support for the term of your maintenance period.  Our support team consists of experts at troubleshooting, problem diagnosis, and problem resolution.  A maintenance and support contract includes front-of-the-line technical assistance via email, website and discussion forums.

Peace of mind

Your team depends on Visual Assist for day-to-day activities and having a guaranteed direct line of contact to a committed support team offers that peace of mind. Renewing ensures that the privileges of software maintenance and your day is uninterrupted.

The post Changes to our renewal policy first appeared on Tomato Soup.

]]>
https://www.wholetomato.com/blog/2018/09/17/changes-to-our-renewal-policy/feed/ 0 1506
Privacy Policy Updated https://www.wholetomato.com/blog/2018/05/25/privacy-policy-updated/ https://www.wholetomato.com/blog/2018/05/25/privacy-policy-updated/#respond Fri, 25 May 2018 17:07:09 +0000 http://blog.wholetomato.com/?p=1490 We updated our privacy policy per the EU’s General Data Protection Regulations (“GDPR”) which went into effect today, May 25th, 2018. While the GDPR is a European law, we clarified and applied our privacy policy to everyone,...

The post Privacy Policy Updated first appeared on Tomato Soup.

]]>
We updated our privacy policy per the EU’s General Data Protection Regulations (“GDPR”) which went into effect today, May 25th, 2018. While the GDPR is a European law, we clarified and applied our privacy policy to everyone, independent of location.

Our updated privacy policy is more specific with regard to the information we collect, how we use the information, how we share the information, and your rights to the information.

If you visit www.wholetomato.com or forums.wholetomato.com on or after May 25, 2018, you are agreeing to the terms of our updated privacy policy.

You do not need to take any action.

The post Privacy Policy Updated first appeared on Tomato Soup.

]]>
https://www.wholetomato.com/blog/2018/05/25/privacy-policy-updated/feed/ 0 1490
Visit us at GDC 2018 in San Francisco https://www.wholetomato.com/blog/2018/03/19/visit-us-at-gdc-2018-in-san-francisco/ https://www.wholetomato.com/blog/2018/03/19/visit-us-at-gdc-2018-in-san-francisco/#respond Mon, 19 Mar 2018 21:49:52 +0000 http://blog.wholetomato.com/?p=1472 Whole Tomato Software will exhibit at the Game Developer Conference this week, March 21-23, in San Francisco. If you attend the expo, stop by booth 123 to see the latest features in Visual Assist, share...

The post Visit us at GDC 2018 in San Francisco first appeared on Tomato Soup.

]]>

Whole Tomato Software will exhibit at the Game Developer Conference this week, March 21-23, in San Francisco. If you attend the expo, stop by booth 123 to see the latest features in Visual Assist, share your wishes for the product, and pick up some nifty swag.

The post Visit us at GDC 2018 in San Francisco first appeared on Tomato Soup.

]]>
https://www.wholetomato.com/blog/2018/03/19/visit-us-at-gdc-2018-in-san-francisco/feed/ 0 1472
December 12th update resolves another Visual Studio crash https://www.wholetomato.com/blog/2017/12/15/december-12th-update-resolves-another-visual-studio-crash/ https://www.wholetomato.com/blog/2017/12/15/december-12th-update-resolves-another-visual-studio-crash/#respond Sat, 16 Dec 2017 03:48:35 +0000 http://blog.wholetomato.com/?p=1437 If you follow news from Whole Tomato, you know that Microsoft released several builds of Windows 10 with bugs that caused Visual Studio to crash when Visual Assist was installed. More recently, Microsoft introduced a change...

The post December 12th update resolves another Visual Studio crash first appeared on Tomato Soup.

]]>
If you follow news from Whole Tomato, you know that Microsoft released several builds of Windows 10 with bugs that caused Visual Studio to crash when Visual Assist was installed. More recently, Microsoft introduced a change in Visual Studio 2017 15.5 that causes the Code Inspection feature of Visual Assist to crash.

If you use Visual Studio 2017 and updated to 15.5, disable Code Inspection in the options dialog of Visual Assist. The next build of Visual Assist will include a fix that will let you re-enable the feature.

If you run Windows 10 Version 1709 (Fall Creators Update), your installation of Windows 10 must be up to date in order to use Visual Assist. Microsoft’s December 12th update to OS Build 16299.125 includes a required fix for a CreateWindowEx() failure.

If you run Windows 10 Version 1703 and deferred installation of the Fall Creators Update, you are free to un-pause Windows Update and upgrade to 1709.

If you prefer to remain with Windows 10 Version 1703, you must run at least OS Build 15063.729, released November 22nd, in order to have a required fix for a broken hook mechanism.

Thank you for your patience as we grapple with the bugs and crashes.

If all goes well, the next post in this blog will simply announce a new build of Visual Assist.

The post December 12th update resolves another Visual Studio crash first appeared on Tomato Soup.

]]>
https://www.wholetomato.com/blog/2017/12/15/december-12th-update-resolves-another-visual-studio-crash/feed/ 0 1437
November 14th update fixes one crash in Visual Studio https://www.wholetomato.com/blog/2017/11/22/november-14th-update-fixes-one-crash-in-visual-studio/ https://www.wholetomato.com/blog/2017/11/22/november-14th-update-fixes-one-crash-in-visual-studio/#respond Wed, 22 Nov 2017 18:18:32 +0000 http://blog.wholetomato.com/?p=1400 Two bugs in recent updates to Microsoft Windows 10 cause Visual Studio to crash when certain extensions, including Visual Assist, are installed. Microsoft fixed one of the bugs, a broken hook mechanism, in its November...

The post November 14th update fixes one crash in Visual Studio first appeared on Tomato Soup.

]]>
Two bugs in recent updates to Microsoft Windows 10 cause Visual Studio to crash when certain extensions, including Visual Assist, are installed. Microsoft fixed one of the bugs, a broken hook mechanism, in its November 14, 2017, update.

All Windows 10 users with Visual Assist should install the November 14 update, available via Windows Update or via stand-alone packages. Download the stand-alone update from the Windows Update Catalog, accessed from the bottom of the description of the update for Windows 10 Version 1703 or update for Windows 10 Version 1709 Fall Creators Update.

Microsoft acknowledged that the second bug, which causes CreateWindowEx() to fail, exists in Windows 10 (64-bit) Fall Creators Update (Version 1709). The CreateWindowEx bug also causes Visual Studio to crash when Visual Assist is installed. The workaround recommended by Microsoft and by Whole Tomato is to rollback to the previous version of Windows 10. If you do rollback, defer installation of the Fall Creators Update and install the November 14th update.

If you run Windows 10 (64-bit) Fall Creators Update (Version 1709) and you cannot rollback, install Visual Assist build 2238 to mitigate the CreateWindowEx() failures. If Visual Studio continues to crash, disable Visual Assist and wait for another update from Microsoft, mid-December at earliest, before resuming normal use of Visual Assist.

Visit our discussion forums or contact us if you have questions or need technical support.

Thank you for your patience as we work around these Windows bugs.

Stay tuned for our next announcement.

The post November 14th update fixes one crash in Visual Studio first appeared on Tomato Soup.

]]>
https://www.wholetomato.com/blog/2017/11/22/november-14th-update-fixes-one-crash-in-visual-studio/feed/ 0 1400
Defer installation of the Fall Creators Update to avoid crashes in Visual Studio https://www.wholetomato.com/blog/2017/11/08/defer-installation-of-the-fall-creators-update-to-avoid-crashes-in-visual-studio/ https://www.wholetomato.com/blog/2017/11/08/defer-installation-of-the-fall-creators-update-to-avoid-crashes-in-visual-studio/#comments Wed, 08 Nov 2017 19:27:39 +0000 http://blog.wholetomato.com/?p=1386 The Windows 10 Fall Creators Update (FCU) 1709 contains a bug that causes CreateWindow() and CreateWindowEx() to fail unpredictably. The bug prevents Visual Assist from rendering all components of its UI, and eventually causes Visual...

The post Defer installation of the Fall Creators Update to avoid crashes in Visual Studio first appeared on Tomato Soup.

]]>
The Windows 10 Fall Creators Update (FCU) 1709 contains a bug that causes CreateWindow() and CreateWindowEx() to fail unpredictably. The bug prevents Visual Assist from rendering all components of its UI, and eventually causes Visual Studio to crash.

Microsoft has acknowledged the CreateWindow() bug and is investigating its cause, but the bug will not be fixed—at the earliest—until the December Patch Tuesday. If you want to use Visual Assist until Microsoft releases a fix, defer installation of the Windows 10 Fall Creators Update.

Separately, Microsoft broke Windows hook procedures in Windows 10 Build 15063.608, issued Sept 12th. The hook bug causes Visual Studio to crash intermittently, e.g. when opening certain dialogs of Visual Assist. Microsoft has acknowledged the bug and is scheduled to release a fix on November Patch Tuesday.

Visit our discussion forums or contact us if you have questions or need technical support.

Stay tuned for our next announcement regarding the bugs.

The post Defer installation of the Fall Creators Update to avoid crashes in Visual Studio first appeared on Tomato Soup.

]]>
https://www.wholetomato.com/blog/2017/11/08/defer-installation-of-the-fall-creators-update-to-avoid-crashes-in-visual-studio/feed/ 1 1386