18 January 2012

Visual Studio Achievements–Nice Idea, But…

Today, on The Official Microsoft Blog, Karsten (of Channel 9) posted about achievements being brought to Visual StudioVisual Studio Achievements (beta) is a Visual Studio add-in enabling developers to unlock various badges as they do what they do everyday – write code in Visual Studio.  There are currently 32 achievements, across six categories, waiting to be unlocked.  The categories include:

  • Customizing Visual Studio
  • Don’t Try This At Home
  • Good Housekeeping
  • Just For Fun
  • Power Coder
  • Unleashing Visual Studio
You can read the full list of achievements here.

As you unlock various achievements, you will earn points and your progress will be tracked the Channel 9 achievements leaderboard site.  You can tweet about your achievements and share them on Facebook, if you like.  There is also a Visual Studio Achievements widget that you can make use of to show off your achievements on your own blog.

While this is an interesting idea, it is not a new one.  In fact, the Channel 9 team at Microsoft was inspired by this post from Rudi on the While True blog and the subsequent discussion on Reddit.

All of this is done in the name of gamifying your development tasks.  While I enjoy (most) games as much as the next person, I am not sure this is the approach I would have taken with this add-in.  I suppose what I might have done differently is to build a set of achievements that more accurately measure your coding/Visual Studio skills and improvements to those skills over time.  While some of the current achievements appear to sway you toward learning various Visual Studio capabilities and features (e.g. the Stubby achievement for generating a method stub nine times) others seem to be counter-productive (e.g. having 50 projects in a solution).

If I were to champion an add-in like this at my place of employment, I’d rather see a list of achievements something like the following:
  • Implements the SOLID principles in at least 5 solutions.
  • Implements a well-known UI pattern in at least 5 solutions (e.g. MVP, MVC, MVVM, Presenter First, etc.).
  • Creates a Layer Diagram in Visual Studio to enforce patterns (such as those listed above) in at least 5 solutions.
  • Creates a Single-File Generator (Custom Tool) in Visual Studio to auto-generate code to solve a specific problem.
  • Masters Visual Studio keyboard shortcuts by utilizing shortcut keys x number of times within a certain timespan.
  • Implements Code Analysis in at least 5 solutions.
  • Building on the above, keeping Code Analysis warnings consistently near zero.
  • Writes unit tests and consistently keeps code coverage near 100%.
  • Following some form of well-known coding standards (e.g. .NET naming conventions).
  • Etc.
The above list could go on and on but the general idea is that the achievements would be more geared toward actually measuring how well one utilizes Visual Studio and how well they practice “good” engineering principles.

Now with all that said, I am not taking anything away from what the Channel 9 team has created.  The Visual Studio Achievements can definitely add a new dimension of fun to the everyday task of writing code.  If you want to have a little fun with your code development, then this add-in appears to handle this goal nicely.  If, however, you are looking for something a little more serious, then you will probably need to look elsewhere and/or come up with something on your own.

Maybe the Visual Studio Achievements add-in will provide an extensibility API and anyone can create any types of achievements they like (presumably posted to another leaderboard)?  Since this is a beta release, maybe they are planning on adding more “serious” achievements to future releases?  Whatever the case, nice job Channel 9!

09 December 2011

Team Foundation Service Update

We’re just a few days shy of three months since Microsoft first announced the new Team Foundation Service (a.k.a. TFS Azure) at this year’s //build/ conference. Since that time, Microsoft has updated this service over a dozen times – mostly to address bugs. Yesterday, the service received a major update that directly impacts how the service looks and acts.
A high-level look at some of the new features includes:

  • Improved navigation (really glad to see this).
  • Homepages with more/better information allowing you to see a project’s overall status at a glance.
  • Simplified UI for project “teams of one” – i.e. if you’re a one-person team, then various team-related features in the UI will be collapsed so they are out of the way.
  • E-mail notifications – there’s a UI for setting up quick-n-simple alerts as well as an advanced UI that provides capabilities above and beyond what’s available in TFS 2010 today.
  • Forecast Lines – this is a really neat feature that displays a line between work items in your product backlog based on where iterations are projected to fall (based on your current estimates and team velocity). This feature can easily be turned off if it’s not something you care for.
  • Improved Task Board editing – updating the Remaining Work and Assigned To fields can now be done directly on the “card” displayed on the task board – i.e. you do not have to open the work item to update these fields.
For the full details behind the above highlights, check out the following links:
If you would like to try out the Team Foundation Service, you can sign up at tfspreview.com. At the moment, the preview program is full but you can submit your e-mail address to get on the waiting list. Also, Brian Harry mentioned (in the post linked above) that he plans on posting a registration code sometime today (December 9th, 2011) that would allow a limited number of new registrations. Keep an eye out on his blog if you’re interested.

17 November 2011

Even More of Getting Started with the TFS 2010 Object Model

Back in October, I presented on Getting Started with the TFS Object Model (as well as a look at what’s coming in Visual Studio 11) at the Tulsa TechFest.  I had intended to post the source code for the demos I ran through during my talk but I never got around to it and it completely slipped my mind.  A few days ago, I was gently reminded by one of the attendees (thanks Sean!) that I had not posted the source code so, here I am!

Below is a screen shot of the main window displayed by the demos.  This application has 10 basic types of functionality that can be demonstrated.  The first two are demonstrated by clicking on the ellipses buttons in the upper right of the window which will display a dialog allowing you to select a TFS Server/TPC and Team Project.

The remaining eight features are demonstrated by clicking on the remaining buttons, which include:

  • Get Version – demonstrates the ability to determine which version of TFS you’re communicating with – assuming you’re running on a client that has the TFS 2010 Team Explorer Client installed on it.
  • Get TPCs – lists all TPCs associated with the selected TFS server.
  • Get Team Projects – lists all Team Projects associated with the selected TPC.
  • Get Latest Build Info – displays a list of basic build information for all builds associated with the selected Team Project (an example of this is shown in the screenshot below).
  • Queue Build – queues a new build using the specified Build Name.
  • Get Work Item Count – displays the number of work items returned based on the WIQL query defined within the source code.
  • Create Work Item – creates a new, basic work item (in this case, a “Bug”).
  • Get Latest – demonstrates the ability to “Get Latest” source code from TFS.

API Demo Window

If you’re curious about the source code, you can download it from here.

16 November 2011

OTSUG Meeting: Kinect + TFS = Kinban

Although the Omaha Team System User Group has not met in several months we had a great meeting tonight.  As always, our meeting was hosted by Farm Credit Services of America (FCSAmerica).  This time, however, we had the privilege of meeting in the brand new building that just opened last month.  The new building is outstanding and the meeting space for after-hours events just can’t be topped!  Thanks again to FCSAmerica for sponsoring our user group!

Jeremy_CroppedTonight’s topic, Kinban, was presented by Jeremy Novak (side note: Jeremy presented once before for the OTSUG about two and a half years ago).  Kinban is a product that was born out of an internal initiative at FCSAmerica called GeekFest 2011.  Kinban adds life to your planning meetings and morning stand-ups by allowing the project team members to move user stories around with hand gestures – via Microsoft’s Kinect device.  Jeremy covered how the Kinect SDK, Reactive Extensions (Rx), AutoIt, and the TFS APIs were all combined to give the project team members a hands off experience with TFS.  He also covered various lessons learned along the way providing some helpful insight for those who might be thinking about integrating the Kinect device into their own applications.

You can download Jeremy’s presentation here.  The code for Kinban is available on CodePlex here.

21 October 2011

Visual Studio 2010 GDR

A new update has been released for Visual Studio 2010 (client only) called the “Visual Studio 2010 SP1 TFS Compatibility GDR”.  There are several fixes and improvements in this update, including (as taken from Brian Harry’s blog post):

  • The update gets its name from the fact that it includes changes necessary to the Visual Studio 2010 client to allow it to work with a TFS 11 server – including the Team Foundation Service Preview (a.k.a. TFS on Windows Azure).
  • The biggest “news” is the addition of support for multi-line test steps in Microsoft Test Manager.  It’s mentioned in the #1 suggestion for Visual Studio Test and Lab Management.
  • KB2522890 – Team Explorer Crashes when opening build from TFS 2008.
  • KB2552300 - Gated Check-ins fail with the “Preserve local Changes” option.
  • KB2561827 – Diff/Merge closes with unhandled exception when comparing two files.

Pre-requisite: Microsoft Visual Studio 2010 Service Pack 1 must be installed prior to installing this update.

Download: This update can be downloaded here.

Once the update has been installed, the version for DevEnv.exe should be 10.0.40219.1.

07 October 2011

Team Foundation Service Preview Code

One of the many new features in Visual Studio/TFS 11 that I demonstrated today at Tulsa TechFest included the new Team Foundation Service (a.k.a. TFS for Azure).  This is the new cloud-based Team Foundation Server service provided by Microsoft (currently in a developer preview/non-beta state).  You can read more about the new TF Service on Brian Harry’s blog here.

Microsoft has made the TF Service available for use on a limited basis - e.g. they handed out invitation codes at the //Build/ conference several weeks ago and have blogged a few invitation codes.  The down side is that each code has a limited number of activations so unless you were quick to sign up you may have missed out on the chance to check out the preview.

To help at least a few people out (25 to be exact), Microsoft has provided me with an activation code (see below) to publish during today’s “What’s New in Visual Studio 11” session.  For those of you attending this session at this year’s Tulsa TechFest, you are seeing me publish this post live, which means you will have first dibs on making use of the invitation code.  For everyone else, it’s all first-come, first-serve.  The first 25 activations win!

The Specifics…

This invitation code is your opportunity to claim your own Visual Studio Team Foundation Service Preview account!

This account is for you to experience the Team Foundation Service Preview before it is publicly available. You can use this account to manage your software development projects and to store your source code, work items and bugs in Team Foundation Server hosted on the Windows Azure platform. You can also invite friends, colleagues and team members to join your account to collaborate on your projects.

Your invitation code is: tulsatf

To claim your account please visit http://tfspreview.com register with your Windows LiveID and enter your invitation code to claim your free account.

Please note that there are a limited number of these complimentary accounts and they will be assigned on a first come, first served basis. Register today to secure your account!

* Invitation must be redeemed by: 10/06/2012

* Please note that once the Team Foundation Service reaches commercial availability, if you want to continue your service, you may be required to start paying for this account or it will expire at the end of the trial period.

27 September 2011

Tulsa TechFest 2011

It’s that time of the year again… Time for Tulsa Tech Fest 2011!  I’ve had the pleasure of speaking at this conference for the past several years and it has always been a well-planned and orchestrated event.  If you are going to be around the Tulsa area next week (Friday, October 7th) then take the time to register (it’s FREE! although a food donation is requested – see the web site for details) and enjoy some great content throughout the day.

This year I will be presenting on the following topics:

  • Getting Started with the TFS Object Model - Microsoft's Team Foundation Server (TFS) is a very capable platform for integrating all aspects of the software development lifecycle (SDLC). There is a great deal of functionality provided out of the box that will handle the majority of a development team's needs. However, there are times when you need to extend the functionality of TFS to handle scenarios not anticipated by Microsoft (or they just didn’t have the time to get them built into the product). This session will cover the common APIs provided by the TFS Object Model and provide the knowledge needed to get started developing with TFS right away.

  • Visual Studio v.Next: A Look at What's Coming - Visual Studio 2010 was released a year and a half ago but Microsoft has been hard at work on the next release. This talk will take a look at the myriad features that are being incorporated into the next version of Visual Studio and Team Foundation Server. Some of these features are even available today for use within Visual Studio 2010. If you want to get a peek at what's coming in Visual Studio v.Next (a.k.a. "Dev11"), then check out this session.

When: Friday, October 7th with check in starting at 08:00.
Where: OSU-Tulsa, 700 North Greenwood Ave, Tulsa, OK 74106
Details: http://techfests.com/Tulsa/2011/default.aspx

Hope to see you there!

Getting Up and Running with the TFS 2010 Object Model

I recently wrote a post for the MVP Award Program blog titled “Getting Up and Running with the TFS 2010 Object Model”.  If you are looking for some basic information on how to start writing your first Team Foundation Server utility then please check it out.  If you have any questions and/or regarding the post please let me know.

20 September 2011

Observations and Contemplation with Windows 8

Like most people who downloaded the Windows 8 Developer Preview last week, I’ve have only a short amount of time to play around with the bits.  During that time I’ve hit several speed bumps and have scratched my head a bit while attempting to figure out a few (seemingly simple) tasks.  What I’ve listed below are just a few of my observations and moments of contemplation that I’ve had over the past few days.

  1. How do I shut down my Windows 8 machine?  This is one of those functions that is so completely obvious that you don’t realize it’s even there until someone moves it from the place it’s lived in for the past 16, or so, years.  Like a lot of people, I installed the Windows 8 Developer Preview bits, played around for a while only to realize it was the middle of the night.  So I decided to power off my laptop and go to bed.  However, I no longer had a “Shut down'” option under my Start menu.  In fact, all my Start menu seemed to do was toggle between the two most recent apps.  So, I had to do some digging.

    There are several options, none of which were immediately obvious to me, for powering down your Windows 8 machine.  Although there may be other options that I’m no yet aware of, I’ve included the ones I’ve discovered below.  Some of these are more convenient than others but I’ve listed them all for completeness:
    1. On the Start screen, press Windows+I to display the Settings panel and then click on the Power icon at the bottom and select Shut down.
    2. Press Ctrl+Alt+Del and then click on the Power icon at the bottom and select Shut down.
    3. Go to the Control Panel (e.g. from the Start screen type ‘con’ and press Enter) and select More settings.  Click on Power Options and then ‘Choose what the power buttons do’.  Set the ‘When I press the power button’ option to Shut down.  Then simply press the power button to turn off your machine.
    4. You can also create a Shut Down Live Tile for your start screen.  Instructions are here.
    5. Press Windows+R, enter ‘CMD’ and press Enter.  Type ‘Shutdown /s’ (no quotes) and press Enter.
  2. Keyboard Shortcuts.  If you’ve been using Windows 7 (or prior versions) for a while then you may already be used to many of the standardized Windows keyboard shortcuts.  For example, pressing Windows+E will display the Windows Explorer.  Most of these shortcuts still work in Windows 8 but there is also a new set of keyboard shortcuts for the new Metro-style Start screen.  Rather than list them all here check out this post.
  3. Windows Phone 8.  Although I didn’t attend last week’s //Build/ conference, I have watched the keynotes as well as several other sessions.  One topic I didn’t really hear/see any information on was that of Windows Phone 8 (codename “Apollo”).  I’ve seen various speculation (e.g. here and here and others) that Windows 8 would eventually run on Windows Phone but I didn’t see anything to substantiate that during the conference.  It only makes sense for Microsoft to head that direction, I just suppose it’s a little too early to talk about it with Windows Phone 7.5 (“Mango”) due to be officially released (by the carriers) any time now.
  4. .NET Framework.  It’s certain that the .NET Framework is not going anywhere anytime soon.  I do have to wonder, however, just how long will the .NET Framework be around?  With the introduction of the new Windows Runtime (WinRT) used to develop Windows 8 Metro applications the .NET Framework is now used to develop non-Metro apps (including Silverlight-based applications).  Will WinRT eventually be used to build all applications for Windows 8?  I suppose that until all supported versions of Windows support WinRT Microsoft will have to continue support for the .NET Framework.  Only time will tell but I’m sure someone in Microsoft has seen the super-secret roadmap and knows where all of this is heading.
  5. Silverlight.  There was a lot of speculation around the demise of Silverlight prior to the //Build/ conference.  It was widely rumored (and somewhat stated) that HTML5/CSS and JavaScript were to be the languages of choice for writing Metro applications in Windows 8.  A lot of questions were asked about the future of Silverlight if HTML5/CSS+JavaScript were to become the cross-platform technology of choice.

    Although I did not see it directly addressed, it’s fairly clear now (after the conference) that Silverlight is very much alive and that the HTML5/CSS+JavaScript solution, when utilizing WinRT, really only applies to Windows 8 Metro apps – not cross-platform apps (like those that you might build with Silverlight).

    So, from my simplistic point of view, if you want to build “fully immersive”, Metro-style applications in Windows 8 then HTML5/CSS+JavaScript over WinRT is a valid option (as is C/C++, VB, or C#).  However, if you want to build a business application (or even a non-business application) that runs across multiple versions of Windows and/or other operating systems then Silverlight is still a great choice (as is HTML5/CSS+JavaScript sans WinRT).
  6. What Gets “Metro-fied”?  If you’ve used Windows 8 for more than a few minutes on a non-tablet PC (i.e. a desktop or laptop) then you surely have been forced into the non-metro bowels of Windows.  For example, if you start Windows Explorer (Windows+E) it will open in the “desktop” shell.  If you want to change your power settings (as described above), you will have to do that from the old-school desktop.  In fact, the majority of Windows features do not run within the new Metro-based Start screen.  So, as Windows 8 marches its way toward RTM, exactly which applications will be metrofied?

    I don’t know the answer to this question but it seems logical that any application that you might want to make use of on a tablet PC would be a great candidate for metrofication.  For example, the calculator app that ships with Windows 8 is currently not metrofied (i.e. it opens up on the desktop when you run it).  I would imagine that a calculator app might be useful on a tablet PC so I could see this app being metrofied by the time Windows 8 finally ships.
  7. Your Mouse is Not a Finger.  Unfortunately, I was not at the //Build/ conference this year so I did not receive one of the ultra-cool Samsung Windows 8 Tablet PCs (or whatever they called them).  Therefor, I installed Windows 8 on an old Dell Inspiron 9300 that does not have a touch screen.  Once I logged on I was greeted by the beautiful, new Metro Start screen.  Naturally, the first thing I did was to attempt to left-click and drag my mouse cursor across the screen in an attempt to scroll through the applications.  To my surprise, nothing happened.  It turns out that there is a really big (and ugly) scrollbar at the bottom of the screen that you have to use to manipulate the app list with the mouse.  Why?  Why not treat the mouse as a single touch point when left-clicking on the background?  If your computer is locked (e.g. when you first power up) you can slide the lock screen up with the mouse.  Why not the application list?  Maybe this is something that will be worked into a future version (possibly as a configuration option that can be turned on/off).  If not, maybe there will be enough extensibility in the platform such that a 3rd party provider can create some type of add-on to provide this type of functionality.
  8. Closing an Application.  Much like with Windows Phone 7/7.5 it appears you don’t really have to think a whole lot about closing (Metro) applications in Windows 8.  In fact, none of the Metro applications that ship with the Windows 8 Developer Preview appear to have any sort of “close” functionality.  When you’re finished with an app, you simply swipe from the right to display the “charms” (see below) and click on the Windows icon (or press the Windows key).  At some point Windows will suspend and, eventually, terminate the application process(es).  The specifics of how all this works is still a bit of a mystery to me (e.g. at what point is an application suspended?  At what point does it get terminated?) but I’m sure the answers are out there somewhere – I just haven’t come across them yet.
  9. Charms?  Really?  If you have a touch-based system running Windows 8 and you swipe from the right (or press Windows+I on a non-touch-based system) a vertical row of five icons are displayed (Settings, Devices, Share, Search, and Start).  These icons are called, according to Microsoft, Charms.  In fact, Microsoft has filed for a trademark for the term “charm”.  I’ve always thought of charms as those small, shiny, jingly things my daughter wears on her bracelet.  I suppose I’ll just have to get used to this one :-)
  10. There is no 10 (at least not yet :-).  For the sake of not creating yet another top ten list I am intentionally stopping at number nine above.  However, as I spend more time with Windows 8 (and Visual Studio 11) over the coming weeks, I am sure I will uncover more questions and hopefully even more answers.  One thing I am sure of is that it is going to be a fun time digging into all that is new with Windows 8.

13 September 2011

//build/ Observations from the Outside–Day 1

Like so many others, I was not able to attend the //build/ conference (formerly known as the Professional Developers Conference or PDC).  However, I did have the opportunity to watch the streaming keynote live and I’ve also spent a good portion of the day watching various twitter, Facebook, and blog posts from those who are attending.  With so much coming out of Microsoft in one day it’s hard to keep up with everything being announced and talked about so I thought I’d put a few notes together around today’s event.

The word of the day is BOLD

I didn’t actually count the number of times the word “bold” was used during the keynote session earlier today but I can safely say it was used a lot.  In general, it was used in reference to Microsoft making a “bold, no compromises move”.  I have to admit, after seeing the various demonstrations from the keynote, I agree that Microsoft is making a bold move and rethinking Windows as a platform.  A quick (non-complete) list of some of the things demonstrated include:

  • The new Windows 8 Metro-style UI
  • Windows 8 running on multiple form factors including desktop PCs and various tablet PCs (running ARM-based processors)
  • Internet Explorer 10 Platform Preview 3
  • Visual Studio “11” (v.Next) Express
  • A new framework for developing software for Windows
  • Windows Application Store
  • Windows 8 using less memory with fewer (default) processes than Windows 7
  • Picture-based login
  • Support for inter-application integration provided directly within Windows 8
  • Spell checking at the OS level (i.e. spell checking everywhere)
  • Fast boot

Developing for Windows 8

With Windows 8 Microsoft introduce a new programming platform known as the Windows Runtime – or WinRT.  Developers can now utilize their language of choice when building applications targeted against Windows 8.  Regardless of which language you choose, which now includes JavaScript, the WinRT APIs will be reflected into your language of choice and made available for use.

One thing to note is that Silverlight (or WPF for that matter) was only mentioned during the keynote as a “legacy” technology (in not so many words).  They did demonstrate running a Silverlight application running on Windows 8 and was able to “Metro-fy” it with a minimal amount of code modification.  It seems that the rumors of HTML5/CSS + JavaScript being the preferred approach for developing Metro-style applications rather than Silverlight have been verified.

A pre-release version of Visual Studio “11” was also demonstrated and used for the various coding examples.  The keynote did not go into the details of what’s new in Visual Studio so I will post more details on Visual Studio as they are made clear.

A new (pre-release) version of Expression Blend 5 was demonstrated now with support for HTML and CSS!  That is an awesome addition to the Microsoft development tools suite.

Head in the Cloud

Windows Live integration is front and center in Windows 8.  Modifying your applications to interact with SkyDrive, for example, requires minimal coding and is supported directly by Windows 8.  Windows Live integration is present throughout Windows 8 with my favorite feature (although it wasn’t directly demonstrated) being the ability to synchronize your various settings (e.g. history, passwords, themes, etc.) via the cloud so they follow you around from device-to-device.

The “Giveaway”

If you’ve followed the PDC for the last couple of years you know that Microsoft has given some type of hardware to each of the (paying) attendees to help gain developer support.  A couple of years ago, at PDC10, it was an Acer Table PC.  Last year, it was a Windows Phone 7 device (I happened to be there and received an LG-900 Windows Phone 7 device).  Once again, this year Microsoft did not disappoint and provided each of the attendees with a Samsung Windows 8 Developer Tablet (or PC as Microsoft calls it).  To add to the already great gift, AT&T threw in a year of free 3G service (2GB/month)!  Not a bad deal for the attendees!

That’s Awesome!  When Can I Have It?

In typical Microsoft fashion, no release dates were announced.  However, they did provide the “Path to ‘RTM’” as shown in the slide below:

Although we don’t know yet when the final bits will be made available for download, you can download the Windows 8 Developer Preview now.  There are three flavors of Windows 8 downloads available:

  • Windows Developer Preview with Developer Tools – English, 64-bit (x64) – 4.8GB
  • Windows Developer Preview – English, 64-bit (x64) – 3.6GB
  • Windows Developer Preview – English, 32-bit (x86) – 2.8GB

You can download any or all of the above releases here.

More to Come!

Keep in mind that my observations below are a small part of what was seen and demonstrated today.  I’m looking forward to the next few days of the //build/ conference and probably a few nights of little sleep :-)  I have the preview version of Windows 8 downloaded and am preparing to install it as I type this post (I’m currently creating a bootable USB drive for the image).  I have no doubt that I, along with thousands of others, will be blogging their experiences over the next days, weeks, and months ahead.  It is going to be a fun ride!

24 August 2011

Team Explorer Profile Manager–Take 1

If there is one thing I can generally count on doing at least once a day it’s firing up Visual Studio 2010.  Along with Visual Studio 2010 I am also a heavy user of Team Foundation Server 2010.  I use it at my “day job” as well as at home on “side” projects.  At work, I switch among multiple Team Project Collections and Team Projects relatively frequently.  At home, more so because I tend to work with several CodePlex projects as well as local TPCs and Team Projects on my development laptop.

[UPDATE: A new release is available – see Update History below…]

If this sounds like you then you’ve no doubt experienced the pain of having to continually switch TPCs in Visual Studio Team Explorer.  It goes something like this:

  1. Fire up Visual Studio 2010
  2. Click on the Team Explorer tab only to realize that the project you need is in another TPC
  3. Click on the “Connect to Team Project” icon and switch TPCs and select the desired Team Projects
  4. Click the confirmation dialog warning you that connecting to another TPC will close all queries, etc.
  5. While working, you decide to open another instance of Visual Studio to take a look at a different project
  6. You click on the Team Explorer tab only to realize, that once again, you’re connected to the wrong TPC so you repeat steps 2 – 4
  7. And so on…

Wouldn’t it be nice if you could simply launch Visual Studio and have it connect to the TPC and Team Projects you need from the start?  Well, that’s where the Team Explorer Profile Manager (TEPM) comes in.  I wrote this utility to handle exactly this scenario.

What Is TEPM?

Once you run TEPM it sits in the Windows “system tray” area waiting for you to right-click on it.  Once you do, you will see a menu structure something like this:

image

Based on the menu items seen above you might have guessed that TEPM works on the basis of “profiles”.  A profile is simply a snapshot of the Team Explorer settings taken at a given time.  Here’s how it works:

  1. Fire up Visual Studio 2010 (TEPM currently works only with Visual Studio 2010)
  2. Connect to the desired TPC and select the active Team Projects you wish to work with
  3. Right-click on the TEPM icon to get the above menu and select “Manage Profiles”.  This will display the following dialog allowing you to name the profile for the current Team Explorer settings:

    image
  4. Once you’ve entered a profile name (using only valid filename characters) click on the Copy button to create the profile.

Repeat the above steps for the various TPCs and Team Projects you regularly work with.

Now, when you right-click on the TEPM icon to get the above menu, hover over the Launch Saved Profile menu option to display a list of profiles.  For example:

image

Notice in the screenshot above, I have six profiles configured.  Selecting a profile will launch Visual Studio 2010 with the correct Team Explorer settings.  So the next time you need to fire up Visual Studio 2010 to work in a TPC different from what you’re currently working in simply right-click and launch!

Some Other Info

TEPMAboutLogo2This is a “v1.0” product.  It works (at least for me) and should work for you.  You may encounter bugs and, if you do, I would really like to know about them so I can fix them.  The first time you run TEPM it will create a “baseline” profile that matches your current settings.  You can revert to this baseline at any time by selecting the Launch Baseline Profile menu item.  You can also reset the baseline to a specific profile by clicking on the Create Baseline button in the “Manage Profiles” dialog shown above.

Currently, there is no option for running this utility when you first logon to Windows.  I plan to add this soon but just haven’t done it yet.[done]  If there are any other options that you’d like to see, please let me know.

There is also no installation package at this time (e.g. no MSI).  I plan to add that soon as well but for now, the download is simply a ZIP file that contains a single EXE.  Copy the EXE to the desired location on your machine and double-click it to run it.[done]

Download

Eventually, this will be hosted on the Visual Studio Code Gallery.  Until I get it there, you can download the ZIP file from here.

Please let me know if you have any questions, suggestions, criticisms, etc.

Update History

  • 30 August 2011 – Miscellaneous updates, including:
    • Now packaged as a setup file.  You no longer need to manually copy the file to a directory to install it.
    • Added a Settings dialog with the option to automatically run TEPM on startup
    • Double-clicking the TEPM icon will now launch Visual Studio 2010 using the current profile
    • Removed the “Copy Current Profile” menu option and merged into “Manage Profiles”
  • 24 August 2011 – Version 1.0 Published