Category Archives: TFS

Launching the Source Control Explorer by default in the Visual Studio 2012 IDE

One of the things I find really annoying in Visual Studio 2012 is how hard it is to get to the Source Control Explorer in Team Foundation Server. Because of the new “drop down” interface, you have to go to “Home” and then choose Source Control Explorer. This is rather counter intuitive, and somewhat annoying.

Fortunately, there is an IDE Command: View.TfsSourceControlExplorer. You can map this to a short cut key in Tools > Options > Environment > Keyboard.

screenshot

As an added bonus, you can change the shortcut that launches the Visual Studio 2012 IDE to show the Source Control Explorer by default – just add /Command View.TfsSourceControlExplorer as a parameter to the command

"C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe" /Command View.TfsSourceControlExplorer

How to speed up Test Manager

I think we’re one of the only users of Microsoft’s Test Manager (MTM) – it’s actually a pretty amazing application for testing applications once you get used to it’s quirky UI. However, it can be very slow when running tests (even when you don’t choose “create action recording”) – for example, your mouse actions end up being jerky, and typing can be very unresponsive/bursty. The reason for this is that there are a lot of Trace Diagnostics that are running by default. We don’t use any of that information, so we turn it off. How does one do this?

  • First of all, go to Plan then select your root node and hit “Properties”
  • Create a new Manual Run Test Settings Configuration
  •  Go to Data and Diagnostics, and clear all the traces you don’t need
  • You will now use these settings by default when you hit Run
  • Bask in the speed of it all

TFS: Description HTML field is Read Only in Excel

We have recently moved towards using Team Foundation Sever (TFS) as our main collaboration environment. Previously, we had been just using it for Source Control and tracking bugs in Fogbugz. TFS has several advantages, which I will get into in another post, but there are a lot of quirks.

One of the things I found great, then annoying, with TFS is the ability to edit all the work items in Excel. We used this for creating our initial backlog, populating the Description HTML field with descriptions of the use case. However, when I went back to edit them, I found out that HTML items are only editable in Excel when you first create them. We don’t use the HTML abilities of the Descrpition, so we decided to switch to just the “plain text” version of description instead.

WARNING: Do this in a test project first, so you know what you are getting yourself into.

So I cracked out my trusty text editor and started editing the product workflow item XML – I’ll cover this in more detail later, but what you need to do is this:

(Command Prompt in  C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE)
witadmin exportwitd /collection:http://yourcollection/tfs /p:ProjectYouAreChanging /n:"Product Backlog Item" /f:productbacklogitem.xml

Now open up the xml file in your trusty editor and change the line:

<Control FieldName="Microsoft.VSTS.Common.DescriptionHtml" Type="HtmlFieldControl" Label="" LabelPosition="Top" Dock="Fill" />

to

<Control FieldName="System.Description" Type="HtmlFieldControl" Label="" LabelPosition="Top" Dock="Fill" />

Now import your new Work Item Definition:

witadmin importwitd /collection:http://yourcollection/tfs /p:ProjectYouAreChanging /f:productbacklogitem.xml

The HTML Field Control is smart enough to realize that it should only allow text in this field, and when it displays in Visual Studio and Team Web Access, it works like an old-school Textbox control.

It was really easy to update the System.Description field with the old content – just create a custom query of all your backlog items, and select the Description and Description HTML fields. Open the result in Excel, and copy and paste all the data and press Publish.

Another bonus is that the Description Field is indexed, so it should come up in search results (haven’t tested this yet, though).