We are pleased to announce that Test Design Studio 4.5 is now generally available and can be downloaded here. Much like version 4.0, this release continues our journey to modernize the application by shifting away from .NET Windows Forms toward Windows Presentation Foundation (WPF). While there is still a lot to migrate, we have completed the migration of all Tool Windows to WPF.
As noted in the introduction, several windows were converted to WPF for this release. Those include:
- Find and Replace tool window
- Find Results tool window
- Object Browser tool window
- Bookmarks tool window
- Solution Explorer tool window
- Task List tool window
- ALM Version History dialog
The end goal is to convert the entire application to WPF as that platform provides more flexible UI options and will better support hi-dpi monitors that are becoming more common today.
Search Solution Explorer
The WPF update enabled us to implement one of our favorite new features of this release, Search Solution Explorer. This feature adds a search box at the top of solution explorer. As you type, the entries in Solution Explorer are filter to only include the items that match your filter. In projects with a lot of files, this can help you quickly navigate to the file you are looking for.
The picture below shows a side-by-side view of a project open in Solution Explorer. On the right, the search term “check” has been entered in the “Search Solution Explorer” box, and the content of Solution Explorer has been filtered to only show items containing the text “check”
Error List Column Updates
The error list now supports two new columns of data, Code and Path. Description and File were also updated as noted below.
The Code, which is used to identify a code analysis rule, was previously displayed as part of the description, but has now been separated for display in a dedicated column. Not only does this make it easier to sort, the value of the code is now hyperlinked to help about the particular code if you are unsure why Test Design Studio is making a recommendation.
The File column previously displayed the full path of a the file. This has now been separated into two columns, Path and File. The Path will display the folder location, while File now only displays the name of the file. This helps reduce visual clutter when file path is not important, and can also make it easier to sort errors independently by either location or file name.
Object Browser Parameter Details
VBScript does not support overloads directly in the language, but many of the built-in functions provided by VBScript do. When the Object Browser would repeat these overloaded methods, it was not clear which entry matched which overload.
The member list has now been updated to show the type of data passed as parameters to each method call. As seen in the picture below, it makes it easier to determine which overloaded method matches a particular parameter signature, and the faded color of the data helps keep emphasis on the function name itself.
Task List Filter to Active File
This feature has been available on the Error List tool window for a while, so this release brings “Filter to Active File” to the Task List tool window as well. When activated, the Task List will only show entries that are related to the currently selected file. This allows you to stay focused on the file at hand.
Output Window Provider Filtering and Output Buffering
The Output tool window provides a method for various parts of the application to provide textual feedback about a process. There is a drop-down to select which output you want to see. New in this release, we now only show entries in the drop-down list that are actually providing content in the current. The first time a provider publishes content, it will also become the active selection to make sure that content is easily seen.
Some output providers, like the one used when generating documentation, produce a lot of detail in the output window. Updating the UI with the new output could cause poor performance. We are now buffering the output so that instead of pushing updates on each new line, we are building a buffer of lines and only push updates about once a second. That may not sound like much, but Documenter could easily produce many lines of output a second. With the new buffered approach, content is still updated in near-real-time but without the performance penalties.
Open Help from Options
Test Design Studio has a lot of options to allow the end user to customize the application experience, and sometimes those options need a little explaining. A new “Help” button has been added to the Options dialog to allow you to open the Help file to the corresponding topic.
Cache COM References
Test Design Studio has long supported the ability to parse a COM library and provide rich IntelliSense when editing files. Unfortunately, some of the larger libraries can take a long time to fully parse. After a library is parsed, that data is now cached in a temporary folder for future use. On subsequent launches of the application, the cached data can be read significantly faster than returning to the original COM library. This greatly improves the time needed to launch a new instance of the application.
Built-in references rarely change, yet the Test Design Studio documenter was generating HTML pages for members of the built-in references every time you generated documentation with that option. This easily exploded the amount of time it took to generate documentation. These generated files are now cached as they are generated. On future documentation updates, any previously generated cache file will be used instead of re-creating the file.
We also identified a scenario where the XML data used to provide details about a project would duplicate some information for each project. This resulted in files that were larger than they needed to be, and could result in OutOfMemory exceptions when processing the data. Any data that can be shared between projects is now shared to reduce the file size.