As a developer, how many times has your boss dropped by with an urgent task that had to be started right away. If you are one of the lucky ones this is not a regular occurrence but for the majority of the development community it happens often enough. Fortunately in Visual Studio 2012 there is a great new feature that addresses that very scenario called: “Suspend Work”
In previous versions of Visual Studio it was possible to create a shelveset for work in progress and then unshelve when it was time to resume working on it again. This was a great feature but what if you were right in the middle of a complex debugging session and wanted to preserve that state? You would be out of luck. . .
Microsoft with Visual Studio 2012 implemented a great solution for this scenario. Not only can you maintain the in progress code changes on the server without introducing them into the main code stream, but you can now preserve your complete context that which you were working in. This includes your debugging settings including breakpoints and watches and all the files you had open whether they were modified or not. So when you resume your work, you will have exactly the same context as when you suspended it making it much easier to remember where the work was left off. Which of course leads to greater developer productivity!
Here’s how you would accomplish this. Let’s assume that your Visual Studio workspace looks something like the following. This is the context we would like to preserve before switching tasks.
In Team Explorer clicking on ‘My Work’ reveals an “In Progress Work” section with a “Suspend” button. Simply click the “Suspend” button.
Enter in a name of the work in progress that you would like to suspend (Something that will be descriptive enough so that you do not forget what it was all about!). Then click “Suspend”
Your work will now be moved into the “Suspended Work” section until you are ready to start working on it again. When the time comes to work on it again, simply click the “Resume” link and your workspace will be restored with exactly the same content as when the work was suspended.