Visual Assist build 2042 is available

If you follow our blog, you might remember my mentioning a forthcoming enhancement to the Visual Studio debugger. We demonstrated that feature—the VA Step Filter—at the Build conference in April to rave reviews, and we are happy to announce that the feature is included in a new general release of Visual Assist.

If you use the native C/C++ debugger, you are undoubtedly familiar with—or frustrated by—the need to step into and out of methods in a parameter list before you can step into a method you need to debug. With the VA Step Filter, you can now step over those pesky methods, and step directly into the body of a method of interest.

The VA Step Filter includes built-in filters to step over commonly invoked methods that don’t need to be debugged, and lets you define filters for your methods you are confident are not culprits of any bug. In the following example, the VA Step Filter lets me step into MethodStdString without stepping into the standard string class, and without stepping into my method GetLoopCount.

stepFilterStdString

In addition to the VA Step Filter, Visual Assist build 2042 includes support for files and symbols that are part of Nuget packages, a little more control of our refactoring commands, and several bug fixes. Visual Assist build 2042 requires software maintenance through 2014.06.25.

Although build 2042 is a general release, the VA Step Filter is designated beta. We welcome your feedback in this blog, in our discussion forums, and at support@wholetomato.com.

Learn more about the VA Step Filter, check out the complete list of what’s new, or download the installer.

License and maintenance options get an update

We’ve updated our license and maintenance options for Visual Assist, and we want to take this opportunity to explain what remains the same, what’s changed, and what it means for you.

  • Our standard license of Visual Assist now better serves the needs of our corporate customers. The terms of the license agreement now grant ownership to the purchasing entity, not the individual installing the software. Also, standard licenses can now be transferred with prior written permission, if a company or division is sold or merges. The price for a standard license is $279, and purchase continues to include one year of software maintenance.
  • Our personal license is now better targeted for the private individual—the hobbyist or freelancer. A personal license for Visual Assist can be used for private or commercial development, but the license must be purchased using personal funds. (Personal licenses cannot be purchased by companies, nor reimbursed by them in any manner.) Terms for the personal license have been updated to grant ownership to the individual purchasing the license, so the individual can use Visual Assist wherever he works. The price for a personal license remains $99, and the term of included maintenance has increased to one year.
  • Our academic license remains targeted for students, researchers, and faculty members of accredited institutions. The price of an academic license remains $49, and the term of included maintenance has increased to one year.
  • Our classroom license remains targeted for instructors of programming courses. The license is still free and includes a year of maintenance.
  • Software maintenance still includes our steady stream of builds, which include all of our new features and bug fixes. We still do not charge separately for major upgrades, e.g. version 8.0 to 9.0.
  • Renewal of software maintenance for a standard license of Visual Assist provides a year of priority support and software updates—beginning the date of renewal. Price to renew is $79, and there is still no penalty for late renewal. Customers who demand maximum productivity continue to renew maintenance promptly. Customers on a tight budget are free to delay renewal until accrued improvements exceed their threshold for purchase.

With our updated policy, we believe every customer can find an option that suits his needs. Whatever your needs might be, trust that we will continue to make you more productive in all the Microsoft IDEs you use, to whatever capacity you use them.

Filtering results of Find References

We regularly hear from C/C++ and C# users that Find References is their most-used feature of Visual Assist. Despite the existence of a similarly named feature in Visual Studio, the functionality and speed provided by our version appears to be a game changer. And Find References keeps getting better.

Beginning with Visual Assist build 2036, you can filter the results of Find References, in original and cloned windows. Although filtering is available via the context menu, keyboard access is the way to go.

I begin with a simple example that includes a reference to a quantity in a comment, its definition, one write access, and one read access.

findRefsExample

Find References (Shift+Alt+F) on quantity produces a results window with four entries, one of each type.

findRefsResultsAll

Although Find References has always differentiated read versus write references—blue and pink in my example—you can now use shortcuts R and W to filter by type. When focus is in the results, press W to remove the write reference(s).

findRefsResultsW

Press W again to make the write reference reappear, then R to remove the read reference(s).

findRefsResultsR

Initializations aren’t considered write references. Instead, they are included in definition references, which are filtered with the D shortcut. (In C/C++, declarations are also filtered with D.)

“References” in coMments and strings are filtered using M, and if my example had any, unknown/Guess hits would be filtered with G. Hence, pressing RDM immediately after my initial find would leave me with only the write reference.

findRefsResultsWOnly

Filter states aren’t sticky. Each Find References begins with all results, and each of the shortcuts initially removes references.

Additionally, filter states are specific to the window. You can show read references in one window and write references in a cloned window—to one or different symbols. If you can’t remember the state of a filter in a window, toggle it and look for a change in the vertical scroll bar.

Shortcuts for Highlight All (H) and Search All Projects (P) work similarly. H toggles the highlighting of references in source windows; P refreshes search results to include references from all projects, or restrict them to the current project. (Because quantity is a local variable in my example, my searches were always restricted to the current file.) .

Open the context menu of Find References if you forget the shortcuts. Only those that apply to your results are visible.

findRefsResultsMenu

Find References in Visual Assist is powerful and complex, and you need time and revisits to take full advantage of the command. Try the filtering described in this post, check out a previous post about using Find References to manage a task , then hit the documentation when you are ready for more.