The Little Known & Documented Team Utilities Feature in Visual Studio's Team Explorer, TFS Power Tools Add-in

Visual Studio Team Explorer Team Utilities

As suggested by the title, this post is my attempt to document what I've learned about the Visual Studio Team Explorer, Team Utilities feature installed with Team Foundation Server (TFS) Power Tools. This feature can greatly simplify distributing customizations to your TFS process across your development team; but it's sparsely documented by Microsoft save a few older blog posts by Brian Harry that I believe are not 100% accurate any longer as a result of changes to the feature. Team Utilities provides solutions to the problem of distributing and controlling customized features for your projects in TFS.

Download TFS Power Tools 2012: http://www.microsoft.com/en-us/download/details.aspx?id=35775

What can Team Utilities do for me?

  1. My Shared Queries
    • Share a set of predefined work item queries with the team that can be used as query starter templates. For example, let's say you track the workload for your team using a specific query and you want to provide your developers with a starter template that they could further customize for a specific project.
  2. Workspace Templates
    • Setup a default workspace configuration for your specific project needs and source control configuration. This feature helps new developers establish their workspace from a predefined template rather than relying on separate documentation. If you've got a large team, this makes things a lot easier.
  3. Shared Components
    • Distribute custom functionality like Custom Work Item Controls and Custom Check-in Policies. Visual Studio takes care of installing and registering these custom assemblies for each developer machine, solving the distribution problem.

How do I add something to Team Utilities Shared Components?

To make custom components available to developers on your team, you must check them into source control at a specific path:

$[ProjectName]/TeamProjectConfig/CheckinPolicies
$[ProjectName]/TeamProjectConfig/CustomControls

Note: Older articles suggest using $[ProjectName]/TeamProjectConfiguration/. I believe this changed starting with Visual Studio 2008.