Exact Magic Software, LLC: Precision tools for serious developers

The "Vegas" Release

We are happy to announce the first beta of our next release, code named "Vegas". We've gotten lots of great feedback from our customers, and think you will all find this release very exciting. We have rewritten the Studio Tools platform from scratch to improve speed and reliability, and have introduced a new plug-in based architecture.

With plug-ins, you'll be able to install just the products and features you wish. This provides much better compatibility with other Visual Studio add ons, and allow us to add new features more quickly. A built in auto-update feature will keep everything up to date and provide easy access to new plug-ins as they become available.

Download the Beta

The final release won't be available until later this year, but if you want to get an early look at things, and are not afraid of bugs, you can download a beta copy below.

WARNING! This is still an pre-release build, and does contain bugs. This will be the first release that is compatible with Visual Studio 2008 beta 2. You can send bug reports to us through the helpdesk application or by contacting us via email.

Vegas Beta

Early access release



"Vegas" Features Roadmap

We are really excited about the new platform, and want all our users to have the best possible experience. Therefore, we've decided that this will be a free upgrade to all registered users. TestRunner users who upgrade to TestMatrix 1.0 before it is released will also receive a free upgrade. So, buy your copy today and you'll get the next release for free!

This is a list of the features planned for the Vegas release. Items with a check-mark are working, but may be incomplete. Those without check-marks are not yet working. You find out what's new by reading the change log.

Studio Tools Framework

Core framework providing plug-in support, licensing, and management services.

  • Visual Studio 2008 (Orcas) support
  • Auto-update system (user initiated)
  • Uninstaller, Visual Studio cleanup
  • Core plug-in support
  • Multi-user license management
  • Plugin-in browser/manager

TestMatrix

Unit testing and code coverage analysis.

  • NUnit 2.4.3 support
  • MbUnit support
  • csUnit support
  • Test Explorer window
  • Detect tests without compiling
  • Tracking build dependencies
  • Generate test stubs (snippets)
  • Clipboard support, copying test output and stack trace
  • Optimize NUnit launching of single fixture
  • Export test results in NUnit's XML format
  • Line level code coverage tracking
  • Enable/disable editor markup option
  • Remove gutter markers
  • Properties panel for unit tests
  • Walk stack traces on test failure (right click on error gutter)
  • Hide unit test framework stack frames
  • New shortcuts, Run tests in project, solution
  • Ability to enable/disable shadow copy
  • Redesigned results window
  • more easily distinguished status icons
  • Handle multiple debug targets

CodeSpell

Integrated, code-aware spell checking

  • Exclude files by type
  • Native C# and Visual Basic parsing
  • Treat underscores as word separators option
  • Treat camel case as word separators option
  • Ignore words in UPPERCASE option
  • Ignore words with numbers option
  • Ignore single letter words option
  • Ignore internet and file addresses (emails, URLs) option
  • Ignore non-letters at word boundaries option
  • Ignore words containing non-alphanumeric characters option
  • Check inside comments option
  • Disable checking of code symbols
  • XML/HTML support (.vm, .aspx as well)
  • Code dictionary improvements and updates
  • Option to ignore string literals in source code
  • Ability to set maximum number of errors
  • Ability to set maximum number of suggestions

Code Metrics

Generate and review statistics about your code, both logical and physical.

  • Coupling
  • Maintainability
  • Complexity
  • Parameter count (methods only)
  • Executable lines of code
  • Inheritance depth
  • Number of instructions
  • Number of variables
  • Lines of code
  • Lines of tests
  • Test Coverage (with TestMatrix)
  • Comment percentage
  • Option to flag "stinky" code

Other Plugins

Navigation and editor enhancements

  • File Explorer
  • Smart Goto (Ctrl+G)
  • Open File by Name (Alt+O)
  • Tear off editor windows
  • Incremental Search (Ctrl+I)

Requirements

.NET Framework

Vegas requires that you install the .NET 3.0 framework. This does not mean that you must compile or build your projects with the .NET 3.0 framework, just that the plugin require this framework to run. You can still run and test in any version of the framework.

While many of the features of Vegas are language agnostic, testing and coverage have some language specific aspects that must be considered. The primary languages supported by Vegas are C# and VisualBasic, but IDL and C++ are supported somewhat.

Visual Studio

Visual Studio is, of course, required to install and run Vegas. Vegas should run on both Visual Studio 2005 and the beta 2 of Visual Studio 2008 (Orcas) that allow support third party plugins. This means it will run fine on Standard, Professional, and Team, but not Express. Orcas beta 1 will not work.

Operating System and Hardware

Vegas supports both XP and Vista, in 32-bit or 64-bit editions. Since this is developer tool, we assume that you have a "developer class machine", meaning one with multiple processors and plenty of RAM. We take full advantage of multi-threading and RAM to give you the best possible performance. Please let us know your hardware configuration if you feel you are experiencing slow performance from Vegas.

Compatibility with Other Plugins

It's always tricky to coexist with other plugins when you are all competing for the same gutter, keyboard shortcuts, and the like. We have added a number of features to Vegas specifically to help cut down on the number of conflicts. You can disable individual plugins for example, and we've eliminated some visual features that were causing issues. We'd love to hear your feedback regarding any conflicts or problems encountered coexisting with other plugins.

Installation and Updates

First Time Install

You can not install Vegas along side TestMatrix 1.0 or the earlier TestRunner or CodeSpell products. Vegas is a superset of all of these products and will certainly cause problems. Uninstall any previous versions before attempting to install Vegas.

Download and install the MSI file from the beta site to install the StudioTools framework, TestMatrix, CodeSpell, and the other plugins. You should only have to do install this package once. Future updates will be installed through the auto update feature.

Licensing

Currently, no license key is required to run the beta. Eventually we'll be closing the beta to unregistered users in order to test the licensing. It will stop functioning at the end of the beta period. If you have an existing TestMatrix 1.0 at the end of the beta period you will receive a free upgrade to Vegas.

Auto Update

Vegas has an automatic update feature which will automatically download updates to the StudioTools framework and your StudioTools applications. When new tools become available you will be able to download them through the auto update facility.

Uninstalling

You can uninstall everything from the Add/Remove Programs panel. If an uninstall leaves your Visual Studio in a funky state, you can run "devenv.exe" and pass the "/resetaddin *" switch to set everything back to its defaults. If that doesn't work, use the "/reset" option, which resets everything.

Vegas uses your Local Settings directory to store user specific information, logs, coverage files, and any data that the plugins need to write. If the uninstaller leaves some trash behind (it shouldn't) and you want to really clean up you'll want to get this to. For example...

C:\Documents and Settings\Joe Coder\Local Settings\Application Data\ExactMagic

Plugin Support

Overview

With the release of Vegas, we are moving to a plugin model of architecture. Instead of one big Visual Studio add-in with unit testing, code coverage, spell check, navigation tools, and so forth, you instead install individual plugins for each discrete set of features. For the beta, we have installed all of the plugins with your initial download.

All of these plugins are built atop StudioTools, our new framework. The StudioTools Framework provides services and Visual Studio integration features to the plugins and allows them to communicate with one another. StudioTools plugins are real Visual Studio Add-ins, but they are much easier to build and manage because the framework is handling many of the things that makes developing Visual Studio add-ins so difficult. We will be opening up the framework to third party vendors in the future. Email us if you would be interesting in developing plugins atop the StudioTools Framework.

Managing StudioTools Plugins

Currently, you can turn StudioTool plugins on and off through Visual Studio's Add-in Manager, located in the Tools menu. From here you can deactivate any plugins that you don't want to use or are causing conflicts with other tools. Just uncheck the box in the Startup column. We hope to add a custom StudioTool plugin manager in the future.

TestMatrix

Lots of improvements in TestMatrix. Significant performance increases and multi-framework support chief amongst them. Tests are now detected through direct code parsing, meaning we no longer require a build in order to recognize your unit tests. We are also much smarter about how we are instrumenting the code for tracking coverage and profiling. Careful dependency tracking minimizes the amount of rebuilding required and a new instrumentation scheme has significantly reduced the overhead.

The debug shim now cleans up after itself much better by creating a new AppDomain for each test run. This should prevent problems with statics and bound resources.

Shadow Copy is now on by default. You can disable it through the options dialog. You will need to disable Shadow Copy if your tests rely on running your DLLs directly from your source tree.

You can toggle the coverage profiling on and off though the Test Results window. Coverage profiling now installs in the same time it took the previous version to load tests at all. Also, there is now essentially no runtime overhead introduced by coverage profiling.

CodeSpell

Significant updates in terms of speed and configuration. Much faster operation, smarter code awareness, and more flexible options. Check out all of the new features by selecting Options from the Tools menu, then navigating to the StudioTools/CodeSpell section. One important change is that spell checking of code symbols is now off by default, meaning spell check only happens inside string literals, comments, and tag bodies. You can change this through the options menu. There's also a new popup icon allowing you to choose your corrections.

Smart Goto

This is a completely new feature that overrides the default Ctrl+G (Goto) shortcut to extend its features. Instead of only allowing you to go to a given line number, you can now go to any file, symbol, class, or line number. Just type a few characters of the filename, class, method, or whatever and use the arrow and Tab keys to choose from the matches. If you type a number, it will navigate the cursor to that line number in the current file.

Code Metrics

A new plugIn provides logical (such as "complexity") and physical (such as "number of lines") code metrics to your solution. Quickly spot likely problem areas.

Documentation

The Vegas documentation is still under development.