Tuesday, January 6, 2015

Preview of Visual Studio 2015 at Microsoft main campus.

One of the benefits of living in Microsoft's back yard is easy access to events that disseminate information about technology on the horizon. This coupled with new openness such as open sourcing .NET, putting code on GitHub and tools like Meetup bring together many interested parties.


Kicking off the first Monday back at work after Christmas holiday was a .Net Meetup on main campus in building 25. The presentation was about some features being added to Visual Studio (VS) in the next release or shortly following. It included a panel of about 5 leads or devs from the VS team. Most everybody there pitched in $5 for some pizza, given the 6:45 to 8:30pm timeframe and we occupied two rooms each equipped with a large projector screen. The classroom style of the room with tables for everyone was an appreciated addition to this meet ups normal venue.


The focus of the presentation was the new or enhanced debugging tools in the works. Notably real time event logging baked into the IDE with the ability to snapshot on metrics like execution time or memory usage. Drilling into the event stream, one can see each mouse click handler call and the resulting calls to methods to handle actions like saving a file.


It becomes very obvious if the same methods have been called multiple times, like sequences of opening and closing a file. They can be seen occurring over time without having to put some kind of debug statement at each potentially critical point. From this stream one can quickly drill to the actual code, make a change and try re-executing from that point. One can avoid restarting the whole program and waiting to reach the critical point of execution.


For production testing it VS can capture the event stream to a file that then is loaded into VS for viewing the details. In this scenario the real time debugging would not be available.


Another interesting feature is the ability to see line by line the time statements or loops took to execute. There are also a feature to snapshot execution time after some number of loop iterations have completed. A related feature reveals the progressive utilization of the heap as objects are created and destroyed.


Overall I am looking forward to examining the preview myself, particularly as it applies to creating more efficient code for Azure apps and learning about vNext.

No comments:

Post a Comment