Buenas,
después de ver la forma de utilizar la sección My Work para gestionar las tareas activas que tengo asignadas, hoy veremos otra funcionalidad interesante dentro de esta sección: la capacidad de suspender un entorno de trabajo´/ depuración / compilación y luego recuperar el mismo.
Veamos un ejemplo. Supongamos que estoy trabajando con una aplicación de consola con el siguiente código:
1: using System;
2: using System.Diagnostics;
3:
4: namespace ConsoleApplication1
5: {
6: class Program
7: {
8: static void Main(string[] args)
9: {
10: var l = new ConsoleLogger();
11: l.Log("foo");
12: Console.ReadLine();
13: }
14: }
15:
16: interface ILogger
17: {
18: void Log(string data);
19: }
20:
21: class DebugLogger : ILogger
22: {
23: public void Log(string data)
24: {
25: Debug.WriteLine(data);
26: }
27: }
28: class ConsoleLogger : ILogger
29: {
30: public void Log(string data)
31: {
32: Console.WriteLine(data);
33: }
34: }
35: }
No es nada muy complicado, pero se merece un poco de atención para mejorar algunas cosas. Pues bien, como he decido ver que hace internamente esta app, pues he puesto un par de puntos de interrupción en el IDE, unas marcas en el valor de una variable; he asignado mi trabajo activo en el panel My Work, etc. Al momento de depurar tengo el IDE en este estado:
Pero justo en este momento, me llama mi jefe y me dice que debo revisar URGENTE una aplicación de Kinect que no funciona como debe. Pues aquí la nueva funcionalidad de Suspend nos ayudará mucho,
En el panel Team Explorer, en la sección My Work, selecciono la opción Suspend y defino un título para describir el estado en el que dejo mi trabajo (solo a nivel identificativo, no vale poner “…”).
En el momento de confirmar estos cambios, el IDE crea un shelveset con todos los elementos con los que había estado trabajando y además guarda la configuración del IDE con los breakpoints, variables, etc. Ahora ya puedo abrir el otro proyecto (o inclusive el mismo !!!!) y realizar los cambios que necesite. Lo interesante está en la vuelta a este punto.
Cuando deseamos volver al punto donde dejamos todo, en la sección My Work podemos ver una lista de elementos en “Suspended Work”. Dentro de la misma además vemos los WorkItems asociados
Si deseamos ver los cambios que están asociados a este elemento del tipo Suspend, pues presionamos “View Changes” y veremos lo siguiente:
En este caso es un ShelveSet que posee los WorkItems asociados y los archivos de código que estaba modificando.
En la sección My Work puedo seleccionar la opcion “Resume” y la misma volverá a dejar el IDE como en el momento en el que creamos el punto de suspend, con las marcas de depuración, elementos de watch, workitems asociados, etc.
Saludos @ Home
El Bruno

Leave a comment