<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:blogChannel="http://backend.userland.com/blogChannelModule" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
  <channel>
    <title>CodeHappiness.com</title>
    <description>A blog about .net, programming, technology, etc with a tint of human interest</description>
    <link>http://www.codehappiness.com/</link>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>BlogEngine.NET 1.6.0.0</generator>
    <language>en-US</language>
    <blogChannel:blogRoll>http://www.codehappiness.com/opml.axd</blogChannel:blogRoll>
    <blogChannel:blink>http://www.dotnetblogengine.net/syndication.axd</blogChannel:blink>
    <dc:creator>admin</dc:creator>
    <dc:title>CodeHappiness.com</dc:title>
    <geo:lat>0.000000</geo:lat>
    <geo:long>0.000000</geo:long>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/codinghappiness" /><feedburner:info uri="codinghappiness" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
      <title>Do you know Notepad’s .LOG feature?</title>
      <description>&lt;p&gt;Thought of posting a simple feature of notepad that might be useful for many who log things in a file for various purposes, mostly this can be used for simple things that needs to be logged.&lt;/p&gt;  &lt;p&gt;In Notepad, type &amp;quot;.LOG&amp;quot; (case sensitive) in first line of the file and save it, now close and reopen the file, current date and time will be inserted in the last line and you can type information and save.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.codehappiness.com/image.axd?picture=Notepad-Log-Feature.png"&gt;&lt;img title="Notepad-Log-Feature" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="141" alt="Notepad-Log-Feature" src="http://www.codehappiness.com/image.axd?picture=Notepad-Log-Feature_thumb.png" width="213" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/codinghappiness/~4/TbN3ecvseKA" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/codinghappiness/~3/TbN3ecvseKA/post.aspx</link>
      <author>admin</author>
      <comments>http://www.codehappiness.com/post/notepad-log-feature.aspx#comment</comments>
      <guid isPermaLink="false">http://www.codehappiness.com/post.aspx?id=e4bb5611-cc2c-4d44-a0e0-fdf1dd2e4203</guid>
      <pubDate>Sun, 31 Oct 2010 07:00:00 +0700</pubDate>
      <category>Personal/Off topic</category>
      <dc:publisher>admin</dc:publisher>
      <pingback:server>http://www.codehappiness.com/pingback.axd</pingback:server>
      <pingback:target>http://www.codehappiness.com/post.aspx?id=e4bb5611-cc2c-4d44-a0e0-fdf1dd2e4203</pingback:target>
      <slash:comments>97</slash:comments>
      <trackback:ping>http://www.codehappiness.com/trackback.axd?id=e4bb5611-cc2c-4d44-a0e0-fdf1dd2e4203</trackback:ping>
      <wfw:comment>http://www.codehappiness.com/post/notepad-log-feature.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.codehappiness.com/syndication.axd?post=e4bb5611-cc2c-4d44-a0e0-fdf1dd2e4203</wfw:commentRss>
    <feedburner:origLink>http://www.codehappiness.com/post.aspx?id=e4bb5611-cc2c-4d44-a0e0-fdf1dd2e4203</feedburner:origLink></item>
    <item>
      <title>New ASP.NET project gives a great webapp template in Visual Studio 2010</title>
      <description>&lt;p style="color: #777777; font-size: 11px;"&gt;(This post is part of &lt;a href="http://www.codehappiness.com/post/visual-studio-2010-new-features.aspx" target="_blank"&gt;Visual Studio 2010 series&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;When you create a new ASP.NET web application in Visual Studio 2010, you are getting a project which has a good set of features built into it for you to get started quickly. In previous versions of Visual Studio, when you create a new ASP.Net project, you just get one .aspx page with a web.config file.&lt;/p&gt;
&lt;p&gt;&lt;img style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="New-ASP.NET-WebAppTemplate" src="http://www.codehappiness.com/image.axd?picture=New-ASP.NET-WebAppTemplate.png" border="0" alt="New-ASP.NET-WebAppTemplate" width="215" height="370" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="display: block"&gt;(Visual Studio 2010&amp;rsquo;s solution explorer showing the contents of a just created Web Application project)&lt;/p&gt;
&lt;p style="display: block"&gt;Visual Studio 2010&amp;rsquo;s new project template has the following..&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Master page &amp;ndash; with menu, login view control, etc., has good div based layout with nicely used css styles. Along with two files based on master page(Default.aspx &amp;amp; About.aspx). &lt;/li&gt;
&lt;li&gt;Stylesheet - with styles for most elements your web pages will be designed with, that you can customize as you wish &lt;/li&gt;
&lt;li&gt;Forms authentication enabled &amp;ndash; provides you with .aspx pages which implements forms authentication, like, login, register new user and change password, with necessary configurations in web.config &lt;/li&gt;
&lt;li&gt;Web.config file with Debug and Release versions, including sample &lt;a href="http://msdn.microsoft.com/en-us/library/dd465326.aspx" target="_blank"&gt;Web.config transformations&lt;/a&gt; that you most probably need &lt;/li&gt;
&lt;li&gt;Web.config readily configured for ASP.NET Membership, Roles &amp;amp; Profiles &lt;/li&gt;
&lt;li&gt;&lt;a href="http://jquery.com/" target="_blank"&gt;jQuery library&lt;/a&gt; .js files included with three versions of .js files &amp;ndash; one with Visual Studio intellisense support, a normal one and a minified one-which is used for production. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;This new project template would help beginners and people who are yet to get good overview on how a typical ASP.NET web site would be written.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/codinghappiness/~4/Td9QGl9uFvQ" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/codinghappiness/~3/Td9QGl9uFvQ/post.aspx</link>
      <author>Admin</author>
      <comments>http://www.codehappiness.com/post/visual-studio-2010-new-webapp-template.aspx#comment</comments>
      <guid isPermaLink="false">http://www.codehappiness.com/post.aspx?id=1169f43d-1bf7-4fba-af3e-72ee66b768ba</guid>
      <pubDate>Tue, 31 Aug 2010 07:00:00 +0700</pubDate>
      <category>Technical</category>
      <dc:publisher>Admin</dc:publisher>
      <pingback:server>http://www.codehappiness.com/pingback.axd</pingback:server>
      <pingback:target>http://www.codehappiness.com/post.aspx?id=1169f43d-1bf7-4fba-af3e-72ee66b768ba</pingback:target>
      <slash:comments>1010</slash:comments>
      <trackback:ping>http://www.codehappiness.com/trackback.axd?id=1169f43d-1bf7-4fba-af3e-72ee66b768ba</trackback:ping>
      <wfw:comment>http://www.codehappiness.com/post/visual-studio-2010-new-webapp-template.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.codehappiness.com/syndication.axd?post=1169f43d-1bf7-4fba-af3e-72ee66b768ba</wfw:commentRss>
    <feedburner:origLink>http://www.codehappiness.com/post.aspx?id=1169f43d-1bf7-4fba-af3e-72ee66b768ba</feedburner:origLink></item>
    <item>
      <title>A tip when working with QueryStrings..</title>
      <description>&lt;p&gt;We still use QueryStrings for many reasons even though we have other methods to deal with HTTP requests to web applications. And when working with QueryStrings, I hate to type Request.QueryString(“blah”), Request.QueryString(“blahblah”), Request.QueryString(“blahblahblah”), etc., again and again when I need to. This is more tiring if there are more number of QueryString items to deal with.&lt;/p&gt;  &lt;p&gt;If you note, Request.QueryString is actually a &lt;a href="http://msdn.microsoft.com/en-us/library/system.collections.specialized.namevaluecollection.aspx" target="_blank"&gt;NameValueCollection&lt;/a&gt;. So in suitable situations I would love to use a NameValueCollection object with a short name instead of Request.QueryString(“blah”) ;) as shown below. This saves time and provides a little better coding experience.&lt;/p&gt;  &lt;pre class="brush: c-sharp;"&gt;NameValueCollection q = Request.QueryString;

Response.Write(&amp;quot;name&amp;quot; + q[&amp;quot;name&amp;quot;]);
Response.Write(&amp;quot;address1&amp;quot; + q[&amp;quot;address1&amp;quot;]);
Response.Write(&amp;quot;address2&amp;quot; + q[&amp;quot;address2&amp;quot;]);
Response.Write(&amp;quot;city&amp;quot; + q[&amp;quot;city&amp;quot;]);
Response.Write(&amp;quot;country&amp;quot; + q[&amp;quot;country&amp;quot;]);&lt;/pre&gt;&lt;img src="http://feeds.feedburner.com/~r/codinghappiness/~4/qRlQJHO4ZIo" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/codinghappiness/~3/qRlQJHO4ZIo/post.aspx</link>
      <author>Admin</author>
      <comments>http://www.codehappiness.com/post/request-querystring-tip.aspx#comment</comments>
      <guid isPermaLink="false">http://www.codehappiness.com/post.aspx?id=421b6071-1a7c-4801-a02e-0a55b73c247a</guid>
      <pubDate>Sat, 31 Jul 2010 07:00:00 +0700</pubDate>
      <category>Technical</category>
      <dc:publisher>Admin</dc:publisher>
      <pingback:server>http://www.codehappiness.com/pingback.axd</pingback:server>
      <pingback:target>http://www.codehappiness.com/post.aspx?id=421b6071-1a7c-4801-a02e-0a55b73c247a</pingback:target>
      <slash:comments>104</slash:comments>
      <trackback:ping>http://www.codehappiness.com/trackback.axd?id=421b6071-1a7c-4801-a02e-0a55b73c247a</trackback:ping>
      <wfw:comment>http://www.codehappiness.com/post/request-querystring-tip.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.codehappiness.com/syndication.axd?post=421b6071-1a7c-4801-a02e-0a55b73c247a</wfw:commentRss>
    <feedburner:origLink>http://www.codehappiness.com/post.aspx?id=421b6071-1a7c-4801-a02e-0a55b73c247a</feedburner:origLink></item>
    <item>
      <title>Ctrl+Tab.. used like this could improve user experience..</title>
      <description>&lt;p align="center"&gt;&lt;img  style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Tabbed browsing.." src="http://www.codehappiness.com/image.axd?picture=Final_thumb_1.png" border="0" alt="Tabbed browsing.." width="487" height="97" /&gt;&lt;/p&gt;
&lt;p style="font-size: 10px" align="center"&gt;Perfect feature parity ;)&lt;/p&gt;
&lt;p&gt;Current version of all major browsers have Tabbed browsing feature. I&amp;rsquo;ve noted an issue in this tabbed browsing behavior since I started using a browser that had it. Before telling about the actual issue, I would like to remind you about a well known fantastic feature of Windows OS(I am not sure if any other OS already had it before Windows, Apple?). Any computer geek cannot live without it.&lt;/p&gt;
&lt;p&gt;(For those of you who are not aware..you can open a new tab in latest browsers by pressing Ctrl+T and switch between each Tab using Ctrl+Tab, just keep this in mind..)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Alt+Tab...&lt;/strong&gt; You know how useful it is, it helps to switch between different software applications running on your system easily, people who tend to use mouse less and keyboard more would love it, it&amp;rsquo;s their first great weapon.&lt;/p&gt;
&lt;p&gt;But, have you noted a behaviour of Alt+Tab, if you press &amp;amp; hold Alt key and press Tab continuously you get a list of all running applications and you can choose from it. But if you just press Alt+Tab (and release Alt &amp;amp; Tab), Windows will take you to the previously focused application, and if you press Alt+Tab again(and release both keys) it will take you to the application from where you selected(focused) current application.&lt;/p&gt;
&lt;p&gt;This functionality provides you an option to quickly &lt;span style="text-decoration: underline;"&gt;swap&lt;/span&gt; between two applications. Especially it&amp;rsquo;s critical when you are referring content from one window and work in another window, like most developers, designers and any kind of data processing user would do.&lt;/p&gt;
&lt;p&gt;So I would like to have the same kind of behaviour in Tab enabled browsers too, isn&amp;rsquo;t it? But in browsers if I use Ctrl+Tab in both the above mentioned ways I get the same result, it takes to the next tab sequentially. I don&amp;rsquo;t think providing Alt+Tab like behaviour would complicate the usability to beginners.&lt;/p&gt;
&lt;p&gt;As most of you do, I will also spend lot of time doing comparisons and analyse various things, like, compare two mobile phones, gadgets, etc. In these times, I would like to swap as I do in Alt+Tab, it also becomes tedious for me to remember the tab position or locate the tab, if I open many of them as a result of my search and it ends up in a confusion and requires a higher level of concentration. This puts some stress on the user and might get a (slight)feeling similar to doing something in a work environment pressure and the user won&amp;rsquo;t enjoy the browsing experience ultimately, IMHO.&lt;/p&gt;
&lt;p&gt;This issue exists in IE, FireFox, and Google Chrome, don&amp;rsquo;t know about anyother browsers, let&amp;rsquo;s see whether they think it should be changed. If you know if there is a browser that works as I wanted above, let me know, I think I will use it for specific browsing needs.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/codinghappiness/~4/gi29KCWTW6Q" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/codinghappiness/~3/gi29KCWTW6Q/post.aspx</link>
      <author>Admin</author>
      <comments>http://www.codehappiness.com/post/tabbed-browsing-issue.aspx#comment</comments>
      <guid isPermaLink="false">http://www.codehappiness.com/post.aspx?id=0ee2b409-c0f8-4783-b5e5-b4929ea8b840</guid>
      <pubDate>Wed, 30 Jun 2010 07:00:00 +0700</pubDate>
      <category>Technical</category>
      <dc:publisher>Admin</dc:publisher>
      <pingback:server>http://www.codehappiness.com/pingback.axd</pingback:server>
      <pingback:target>http://www.codehappiness.com/post.aspx?id=0ee2b409-c0f8-4783-b5e5-b4929ea8b840</pingback:target>
      <slash:comments>118</slash:comments>
      <trackback:ping>http://www.codehappiness.com/trackback.axd?id=0ee2b409-c0f8-4783-b5e5-b4929ea8b840</trackback:ping>
      <wfw:comment>http://www.codehappiness.com/post/tabbed-browsing-issue.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.codehappiness.com/syndication.axd?post=0ee2b409-c0f8-4783-b5e5-b4929ea8b840</wfw:commentRss>
    <feedburner:origLink>http://www.codehappiness.com/post.aspx?id=0ee2b409-c0f8-4783-b5e5-b4929ea8b840</feedburner:origLink></item>
    <item>
      <title>Blog issue…</title>
      <description>&lt;p&gt;Recently I was doing some changes in my blog and I just found that there was some problem in few posts in my blog, which is totally not related to the changes I&amp;rsquo;ve been doing, not sure when this happened, actually images weren&amp;rsquo;t displayed (in &lt;a href="http://www.codehappiness.com/post/Visual-Studio-2010-New-Features-in-Debugging.aspx"&gt;this&lt;/a&gt; &amp;amp; &lt;a href="http://www.codehappiness.com/post/new-features-of-visual-studio-2010-that-help-productivity.aspx"&gt;this&lt;/a&gt; post). If you have read them before, just check if you have seen their images too.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/codinghappiness/~4/QnWiU11q9Pc" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/codinghappiness/~3/QnWiU11q9Pc/post.aspx</link>
      <author>Admin</author>
      <comments>http://www.codehappiness.com/post/blog-update.aspx#comment</comments>
      <guid isPermaLink="false">http://www.codehappiness.com/post.aspx?id=a5105c2f-093e-4416-ab2b-66e91fabeaa3</guid>
      <pubDate>Tue, 22 Jun 2010 07:00:00 +0700</pubDate>
      <category>Personal/Off topic</category>
      <dc:publisher>Admin</dc:publisher>
      <pingback:server>http://www.codehappiness.com/pingback.axd</pingback:server>
      <pingback:target>http://www.codehappiness.com/post.aspx?id=a5105c2f-093e-4416-ab2b-66e91fabeaa3</pingback:target>
      <slash:comments>104</slash:comments>
      <trackback:ping>http://www.codehappiness.com/trackback.axd?id=a5105c2f-093e-4416-ab2b-66e91fabeaa3</trackback:ping>
      <wfw:comment>http://www.codehappiness.com/post/blog-update.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.codehappiness.com/syndication.axd?post=a5105c2f-093e-4416-ab2b-66e91fabeaa3</wfw:commentRss>
    <feedburner:origLink>http://www.codehappiness.com/post.aspx?id=a5105c2f-093e-4416-ab2b-66e91fabeaa3</feedburner:origLink></item>
    <item>
      <title>Some new features of Visual Studio 2010 that can help your productivity right away</title>
      <description>&lt;p style="color: #777; font-size: 11px"&gt;(This post is part of &lt;a href="http://www.codehappiness.com/post/visual-studio-2010-new-features.aspx" target="_blank"&gt;Visual Studio 2010 series&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;I am playing with Visual Studio 2010 for some time now and just thought to sum up some of the new features of Visual Studio 2010 that could enhance your productivity right away after you start using it. &lt;/p&gt;  &lt;p&gt;Even though there are more new features in Visual Studio 2010 that can increase productivity, this post focuses on new features that can help productivity immediately, features that will be used by majority of developers frequently/day-to-day basis, than things that are helpful but not used every day(for instance, web.config transformations is not included).&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h2&gt;Navigate To…&lt;/h2&gt;  &lt;p&gt;You can use Navigate To(Ctrl + ,) to search specific methods, class’, etc in your code. This helps navigating your code faster, code navigation speed in Visual Studio 2010 is increased highly because of this new feature. This also comes handy when you keep jumping between different methods of your code frequently. In previous versions of Visual Studio you didn’t have such a swift option.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.codehappiness.com/image.axd?picture=VisualStudio2010-NavigateTo_1.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="VisualStudio2010-NavigateTo" border="0" alt="VisualStudio2010-NavigateTo" src="http://www.codehappiness.com/image.axd?picture=VisualStudio2010-NavigateTo_thumb.png" width="419" height="292" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;You can do more cool things using Navigate To, like, you can type the abbreviation of the method to find it, as below..&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.codehappiness.com/image.axd?picture=VisualStudio2010-NavigateTo-PascalCase_1.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="VisualStudio2010-NavigateTo-PascalCase" border="0" alt="VisualStudio2010-NavigateTo-PascalCase" src="http://www.codehappiness.com/image.axd?picture=VisualStudio2010-NavigateTo-PascalCase_thumb.png" width="406" height="137" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;or type the words itself like “get categories”, “search category”, etc.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h2&gt;Export/Import Break points&lt;/h2&gt;  &lt;p&gt;In Visual Studio 2010 we can Export/Import breakpoints this helps you in many ways, you can read more about this in my earlier article about &lt;a href="http://www.codehappiness.com/post/Visual-Studio-2010-New-Features-in-Debugging.aspx"&gt;Visual Studio 2010 new features in debugging&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;h2&gt;Sticky DataTips - with Export/Import option&lt;/h2&gt;  &lt;p&gt;You know that we can see DataTips when we hover the mouse over variables when Visual Studio is in debug mode, but in Visual studio 2010 we can even pin/unpin datatips to the screen and Export/Import them, you can read more about this too in my earlier article &lt;a href="http://www.codehappiness.com/post/Visual-Studio-2010-New-Features-in-Debugging.aspx"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h2&gt;IntelliTrace (only in Visual Studio 2010 Ultimate Edition)&lt;/h2&gt;  &lt;p&gt;Intellitrace is an innovative new feature added to Visual Studio 2010 which helps debugging applications easier. IntelliTrace is a feature previously known as Historical debugging, which is a major enhancement made to the Visual Studio 2010 debugger. When an exception occurs, you usually start debugging with breakpoints set in suspected areas and check variable/object values for correctness.&lt;/p&gt;  &lt;p&gt;But if an exception occurs when IntelliTrace is enabled, it allows you to just go back in time of your application execution and find out what events got raised and what were the values of various variables, etc, similar to Call stack like approach. This helps you inspect all the events that finally triggered the exception. This helps in many ways, even you don’t need to worry about breakpoints. &lt;/p&gt;  &lt;p&gt;I have written a separate article about IntelliTrace &lt;a href="http://www.codehappiness.com/post/intellitrace-in-visual-studio-2010.aspx"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h2&gt;Call Hierarchy(in C#, not in VB.net)&lt;/h2&gt;  &lt;p&gt;Call Hierarchy is a new window available in Visual Studio 2010. If you right click a method and choose &lt;strong&gt;View Call Hierachy&lt;/strong&gt;, Call Hierarchy window will show what methods are calling the method and what methods are called by the method. This helps much in understanding existing code. For instance, this could help some one new to the team to a great extent. It can also give a clear picture of your own code (maybe)written a long time back.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.codehappiness.com/image.axd?picture=VisualStudio2010-CallHierarchyWindow.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="VisualStudio2010-CallHierarchyWindow" border="0" alt="VisualStudio2010-CallHierarchyWindow" src="http://www.codehappiness.com/image.axd?picture=VisualStudio2010-CallHierarchyWindow_thumb.png" width="519" height="204" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h2&gt;Variable highlighting&lt;/h2&gt;  &lt;p&gt;If you place the cursor on a variable/object, all the places where that variable is used is highlighted as shown below. This also helps in understanding code faster.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.codehappiness.com/image.axd?picture=VisualStudio2010-VariableHighlighting.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="VisualStudio2010-VariableHighlighting" border="0" alt="VisualStudio2010-VariableHighlighting" src="http://www.codehappiness.com/image.axd?picture=VisualStudio2010-VariableHighlighting_thumb.png" width="406" height="118" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h2&gt;Select any code and collapse(hide)&lt;/h2&gt;  &lt;p&gt;As you know, we can collapse a Region or Method in Visual Studio code editor. But have you ever wanted to hide some set of lines which you wouldn’t like to see when you scroll through your code, as for you it is a set of similar lines that appears in various areas in your current code file or for some other reason?&lt;/p&gt;  &lt;p&gt;In Visual Studio 2010 code editor, you can select any set of lines of code, right click and choose &lt;strong&gt;Outlining –&amp;gt; Hide Selection&lt;/strong&gt; to collapse it, you can expand as usual(by clicking the “+” near left margin of code editor). And you can right click on the hidden code and choose &lt;strong&gt;Outlining –&amp;gt; Stop Hiding Current&lt;/strong&gt; to revert back.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.codehappiness.com/image.axd?picture=VisualStudio2010-CollapseCode.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="VisualStudio2010-CollapseCode" border="0" alt="VisualStudio2010-CollapseCode" src="http://www.codehappiness.com/image.axd?picture=VisualStudio2010-CollapseCode_thumb.png" width="473" height="147" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h2&gt;Multiple monitor support&lt;/h2&gt;  &lt;p&gt;(This would apply only if you have more than one monitor)    &lt;br /&gt;It might be ridiculous for many when we talk about multiple monitors for developers, but multiple monitors is a proven productivity enhancing method and most developer geeks know about this, even if they don’t use. Addition of multiple monitor support in Visual Studio 2010 adds evidence to this fact. Visual Studio 2010 provides options to place any Visual Studio window including tool windows in multiple monitors.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;    &lt;p&gt;&amp;#160; &lt;/p&gt;  &lt;p&gt;I might add more features to this list in future, if I feel any feature suits this list.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p style="letter-spacing: 0px"&gt;&lt;em&gt;If you like this article..&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;a style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fwww.codehappiness.com%2fpost%2fnew-features-of-visual-studio-2010-that-help-productivity.aspx"&gt;&lt;img style="vertical-align: middle" border="0" alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fwww.codehappiness.com%2fpost%2fnew-features-of-visual-studio-2010-that-help-productivity.aspx" /&gt;&lt;/a&gt;&amp;#160;&amp;#160;&amp;#160; &lt;a style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" href="http://dotnetshoutout.com/9-new-features-of-Visual-Studio-2010-that-can-help-your-productivity-right-away" rev="vote-for"&gt;&lt;img style="vertical-align: middle" border="0" alt="Shout it" src="http://dotnetshoutout.com/image.axd?url=http%3A%2F%2Fwww.codehappiness.com%2Fpost%2Fnew-features-of-visual-studio-2010-that-help-productivity.aspx" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p style="padding-bottom: 0px; padding-left: 7px; padding-right: 0px; padding-top: 5px"&gt;&lt;script type="text/javascript"&gt;&lt;!--
        tweetmeme_url = 'http://www.codehappiness.com/post/new-features-of-visual-studio-2010-that-help-productivity.aspx';
        // --&gt;&lt;/script&gt;&lt;script src="http://tweetmeme.com/i/scripts/button.js" type="text/javascript"&gt;&lt;/script&gt;&lt;/p&gt;  &lt;div class="pflink"&gt;   &lt;ul&gt;     &lt;li&gt;&lt;a title="Click to Subscribe" href="http://feeds.feedburner.com/codehappiness"&gt;&lt;img class="pflinkfeed" alt="RSS feed" src="http://www.codehappiness.com/pics/feed-icon-16x16.png" /&gt;&lt;/a&gt;&amp;#160;&lt;span&gt;&lt;a title="Click to Subscribe" href="http://feeds.feedburner.com/codehappiness"&gt;Subscribe to the feed!&lt;/a&gt; (&lt;a href="http://www.codehappiness.com/post/what-is-an-rss-feed.aspx" target="_blank"&gt;?&lt;/a&gt;) and receive any such future posts on your favorite &lt;a href="http://www.codehappiness.com/post/what-is-an-rss-feed.aspx" target="_blank"&gt;feed reader&lt;/a&gt;&lt;/span&gt; &lt;/li&gt;      &lt;li&gt;Any comments? &lt;a title="Comments can be used to express your thoughts about this blog entry" href="http://www.codehappiness.com/post/new-features-of-visual-studio-2010-that-help-productivity.aspx#befcomment" rel="nofollow"&gt;write here&lt;/a&gt;.. &lt;/li&gt;   &lt;/ul&gt; &lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/codinghappiness/~4/Ch3SYyUQYF4" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/codinghappiness/~3/Ch3SYyUQYF4/post.aspx</link>
      <author>Admin</author>
      <comments>http://www.codehappiness.com/post/new-features-of-visual-studio-2010-that-help-productivity.aspx#comment</comments>
      <guid isPermaLink="false">http://www.codehappiness.com/post.aspx?id=80bb2580-0b0c-4aff-a35a-04c2d0134ab0</guid>
      <pubDate>Mon, 31 May 2010 07:00:00 +0700</pubDate>
      <category>Technical</category>
      <dc:publisher>Admin</dc:publisher>
      <pingback:server>http://www.codehappiness.com/pingback.axd</pingback:server>
      <pingback:target>http://www.codehappiness.com/post.aspx?id=80bb2580-0b0c-4aff-a35a-04c2d0134ab0</pingback:target>
      <slash:comments>888</slash:comments>
      <trackback:ping>http://www.codehappiness.com/trackback.axd?id=80bb2580-0b0c-4aff-a35a-04c2d0134ab0</trackback:ping>
      <wfw:comment>http://www.codehappiness.com/post/new-features-of-visual-studio-2010-that-help-productivity.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.codehappiness.com/syndication.axd?post=80bb2580-0b0c-4aff-a35a-04c2d0134ab0</wfw:commentRss>
    <feedburner:origLink>http://www.codehappiness.com/post.aspx?id=80bb2580-0b0c-4aff-a35a-04c2d0134ab0</feedburner:origLink></item>
    <item>
      <title>What is an RSS feed and how to use it? (especially for developers)</title>
      <description>&lt;p&gt;&lt;img style="border-right-width: 0px; margin: 0px 7px 0px 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="feedlogo" border="0" alt="feedlogo" align="left" src="http://www.codehappiness.com/image.axd?picture=feedlogo_thumb.png" width="128" height="128" /&gt; Even though RSS is out there for a long time, there are people(even programmers) who still don’t really know what an RSS feed is, even if they know what it is, most of the them don’t really understand how feeds can be helpful for them.&lt;/p&gt;  &lt;p&gt;If you ask to some of your friends about..“feed”, “web feed”, “RSS feed” or “ATOM feed”, they may say “I am not sure”, but if you ask them.. “noted an orange icon in the browser’s address bar?” they most probably say “yes”.. everyone notes that.&lt;/p&gt;  &lt;p&gt;So I thought of writing a post to introduce feeds(for those who don’t yet know) and the benefits I have noted when using them.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h2&gt;What is an RSS feed or ATOM feed or web feed?&lt;/h2&gt;  &lt;p&gt;It’s a way a website provides updated content which you can read via your feed reader. It’s generally called web feed. RSS stands for Really Simple Syndication, more about RSS &lt;a href="http://en.wikipedia.org/wiki/RSS" target="_blank"&gt;here&lt;/a&gt;. There is another popular format called ATOM, more &lt;a href="http://en.wikipedia.org/wiki/Atom_(standard)" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h2&gt;What is a Feed Reader?&lt;/h2&gt;  &lt;p&gt;It’s a software or web application you can use to subscribe to the feeds of websites. You can use feed readers to aggregate all of your favorite websites’ feeds in an organized way. Feed readers &lt;strong&gt;automatically&lt;/strong&gt; check the feeds and let you know if any new content is available in the website, you can configure how often you want to do this check. You can read the new content in your feed reader itself.&lt;/p&gt;  &lt;p&gt;You can try &lt;a href="http://www.newsgator.com/individuals/feeddemon/" target="_blank"&gt;Feed Demon&lt;/a&gt;, &lt;a href="http://www.google.com/reader" target="_blank"&gt;Google Reader&lt;/a&gt;, etc. Even latest versions of all popular browsers provide options to subscribe to feeds, but I recommend a feed reader application as it could provide more options to manage your feeds, for example, accessing in any PC if it’s a web application(or has online synchronization), categorizing feeds, etc.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h2&gt;How to subscribe to a feed?&lt;/h2&gt;  &lt;ul&gt;   &lt;li&gt;Find the feed url by clicking the &lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="feed1" border="0" alt="feed1" src="http://www.codehappiness.com/image.axd?picture=feed1_thumb.png" width="12" height="12" /&gt; icon in the browser’s address bar or use the icon/link provided by the website itself. &lt;/li&gt;    &lt;li&gt;You will be taken to the feed, copy the feed url, add in your feed reader by pasting the url &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h2&gt;Uses of feeds..&lt;/h2&gt;  &lt;ul&gt;   &lt;li&gt;Basically, using feed readers to subscribe to all your favorite websites/blogs provide you a single organized location where you can update all your feeds and find out which website/blog has new content, instead of visiting each one manually to check for new content. &lt;/li&gt;    &lt;li&gt;You can use feed readers as a bookmarking application too. &lt;/li&gt;    &lt;li&gt;Feeds mostly provide abstract of the full content, so you can decide to visit the site only if you want to read more about a particular content. &lt;/li&gt;    &lt;li&gt;Most feeds including mine nowadays use &lt;a href="http://www.feedburner.com" target="_blank"&gt;FeedBurner&lt;/a&gt;, which provides more options to the user, like, you can subscribe to the feed via e-mail, to get alerts when new content is posted. &lt;/li&gt;    &lt;li&gt;Feed readers provide categories which I use to organize feeds and read them based on my mood. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Even I don’t prefer feeds some times&lt;/strong&gt;..when I prefer visiting the website/blog, as its design is good and I like to read with the layout of the website, &lt;strong&gt;but still I subscribe&lt;/strong&gt; to the feed to see if there is new content, then click the heading and visit the actual website/blog to read further. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;There is another fact I should say frankly, the author would be happy to see the no. of subscribers to his/her feed, and most websites(including this) would like to showcase their subscribers to promote them, so by subscribing to the feed you can actually support the website or blog too.&lt;/p&gt;  &lt;p&gt;That’s it, hope you got some basic idea about web feeds and hope you’ll start using feeds and don’t forget to &lt;a href="http://feeds.feedburner.com/codinghappiness" target="_blank"&gt;subscribe to my feed&lt;/a&gt; :)&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/codinghappiness/~4/Qzgg9sUyc9Y" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/codinghappiness/~3/Qzgg9sUyc9Y/post.aspx</link>
      <author>Admin</author>
      <comments>http://www.codehappiness.com/post/what-is-an-rss-feed.aspx#comment</comments>
      <guid isPermaLink="false">http://www.codehappiness.com/post.aspx?id=bb5e8b7d-6296-468e-948e-4505f6fa7a94</guid>
      <pubDate>Sun, 25 Apr 2010 07:00:00 +0700</pubDate>
      <category>Personal/Off topic</category>
      <dc:publisher>Admin</dc:publisher>
      <pingback:server>http://www.codehappiness.com/pingback.axd</pingback:server>
      <pingback:target>http://www.codehappiness.com/post.aspx?id=bb5e8b7d-6296-468e-948e-4505f6fa7a94</pingback:target>
      <slash:comments>117</slash:comments>
      <trackback:ping>http://www.codehappiness.com/trackback.axd?id=bb5e8b7d-6296-468e-948e-4505f6fa7a94</trackback:ping>
      <wfw:comment>http://www.codehappiness.com/post/what-is-an-rss-feed.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.codehappiness.com/syndication.axd?post=bb5e8b7d-6296-468e-948e-4505f6fa7a94</wfw:commentRss>
    <feedburner:origLink>http://www.codehappiness.com/post.aspx?id=bb5e8b7d-6296-468e-948e-4505f6fa7a94</feedburner:origLink></item>
    <item>
      <title>Visual Studio 2010 released :)</title>
      <description>&lt;p&gt;Finally, Visual Studio 2010 released today(April 12, 2010).&lt;/p&gt;  &lt;p&gt;I saw few guys tweeting each other that they are so happy about Visual Studio 2010’s release and &lt;a href="http://www.youtube.com/watch?v=6FWJR1fNoGE" target="_blank"&gt;this video&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;Do you wonder why they are that much happy? and are they maniacs? &lt;/p&gt;  &lt;p&gt;I am happy too, reason is, it could help developers by providing cool features which aren’t available till now, which simplifies our job a considerable extent and gives time to apply thought where it is really needed.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Happy Programming ! (hopefully soon with Visual Studio 2010 :)&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Don’t miss the video – &lt;a href="http://www.youtube.com/watch?v=6FWJR1fNoGE" target="_blank"&gt;When I Build You (The Visual Studio 2010 Song)&lt;/a&gt;....&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Note: I couldn’t get the lyrics clearly and it says something about PHPers, but I think it’s just for fun and no offence intended to PHP developers :)&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/codinghappiness/~4/baovsMl8FFI" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/codinghappiness/~3/baovsMl8FFI/post.aspx</link>
      <author>admin</author>
      <comments>http://www.codehappiness.com/post/visual-studio-2010.aspx#comment</comments>
      <guid isPermaLink="false">http://www.codehappiness.com/post.aspx?id=d781aefd-2a9d-4f8c-b344-4ae3d2508581</guid>
      <pubDate>Mon, 12 Apr 2010 07:00:00 +0700</pubDate>
      <category>Technical</category>
      <dc:publisher>admin</dc:publisher>
      <pingback:server>http://www.codehappiness.com/pingback.axd</pingback:server>
      <pingback:target>http://www.codehappiness.com/post.aspx?id=d781aefd-2a9d-4f8c-b344-4ae3d2508581</pingback:target>
      <slash:comments>172</slash:comments>
      <trackback:ping>http://www.codehappiness.com/trackback.axd?id=d781aefd-2a9d-4f8c-b344-4ae3d2508581</trackback:ping>
      <wfw:comment>http://www.codehappiness.com/post/visual-studio-2010.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.codehappiness.com/syndication.axd?post=d781aefd-2a9d-4f8c-b344-4ae3d2508581</wfw:commentRss>
    <feedburner:origLink>http://www.codehappiness.com/post.aspx?id=d781aefd-2a9d-4f8c-b344-4ae3d2508581</feedburner:origLink></item>
    <item>
      <title>Visual Studio 2010 new features series</title>
      <description>&lt;p&gt;This post will list all the posts related to Visual Studio 2010 in this blog, be it C# 4, visual basic 2010, .net framework 4 or Visual Studio 2010 IDE specific, you can find it here going forward. These posts will include tiny improvements to mega-features introduced in Visual Studio 2010.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;  
&lt;li&gt;&lt;a title="Some new features of Visual Studio 2010 that can help your productivity right away" href="http://www.codehappiness.com/post/new-features-of-visual-studio-2010-that-help-productivity.aspx"&gt;Some new features of Visual Studio 2010 that can help your productivity right away&lt;/a&gt; &lt;/li&gt;

 &lt;li&gt;&lt;a title="Visual Studio 2010 New Features in Debugging – Exciting &amp;amp; Innovative" href="http://www.codehappiness.com/post/Visual-Studio-2010-New-Features-in-Debugging.aspx"&gt;Visual Studio 2010 New Features in Debugging – Exciting &amp;amp; Innovative&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a title="What can you do with ‘IntelliTrace’ in Visual Studio 2010" href="http://www.codehappiness.com/post/intellitrace-in-visual-studio-2010.aspx"&gt;What can you do with ‘IntelliTrace’ in Visual Studio 2010&lt;/a&gt;&amp;#160; &lt;/li&gt;    


&lt;li&gt;&lt;a title="New ASP.NET project gives a great webapp template in Visual Studio 2010" href="http://www.codehappiness.com/post/visual-studio-2010-new-webapp-template.aspx"&gt;New ASP.NET project gives a great webapp template in Visual Studio 2010&lt;/a&gt; &lt;/li&gt;

&lt;li&gt;&lt;a title="C# 4 new features ~ Basic method invocation changes - Optional and Named parameters" href="http://www.codehappiness.com/post/csharp-4-new-features-visual-studio-2010-new-features-optional-and-named-parameters.aspx"&gt;C# 4 new features ~ Basic method invocation changes - Optional and Named parameters&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a title="Auto-Implemented properties comes to Visual Basic 2010" href="http://www.codehappiness.com/post/simple-auto-implemented-properties-in-visual-basic-2010.aspx"&gt;Auto-Implemented properties comes to Visual Basic 2010&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a title="New Stream.CopyTo() in .Net framework 4" href="http://www.codehappiness.com/post/stream-copyto.aspx"&gt;New Stream.CopyTo() in .Net framework 4&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;As and when I find cool new features in Visual Studio 2010, I always hoped to write about them. I wish to have extreme time management capabilities, atleast from now… :)&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p style="color: #666; font-size: 11px"&gt;(Note: All posts are as per things I said &lt;a title="here" href="http://www.codehappiness.com/post/Simple-Compound-interests.aspx"&gt;here&lt;/a&gt;, so if it suits any of those points, I will write :)&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;div class="pflink"&gt;   &lt;ul&gt;     &lt;li&gt;&lt;a title="Click to Subscribe" href="http://feeds.feedburner.com/codehappiness"&gt;&lt;img class="pflinkfeed" alt="RSS feed" src="http://www.codehappiness.com/pics/feed-icon-16x16.png" /&gt;&lt;/a&gt;&amp;#160;&lt;span&gt;&lt;a title="Click to Subscribe" href="http://feeds.feedburner.com/codehappiness"&gt;Subscribe to the feed!&lt;/a&gt;  (&lt;a href="http://www.codehappiness.com/post/what-is-an-rss-feed.aspx"&gt;?&lt;/a&gt;) and receive any future posts on your favorite &lt;a href="http://www.codehappiness.com/post/what-is-an-rss-feed.aspx"&gt;feed reader&lt;/a&gt;&lt;/span&gt; &lt;/li&gt;      &lt;li&gt;Any comments? &lt;a title="Comments can be used to express your thoughts about this blog entry" href="http://www.codehappiness.com/post/visual-studio-2010-new-features.aspx#befcomment" rel="nofollow"&gt;write here&lt;/a&gt;.. &lt;/li&gt;   &lt;/ul&gt; &lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/codinghappiness/~4/PQB8UDZr0A4" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/codinghappiness/~3/PQB8UDZr0A4/post.aspx</link>
      <author>Admin</author>
      <comments>http://www.codehappiness.com/post/visual-studio-2010-new-features.aspx#comment</comments>
      <guid isPermaLink="false">http://www.codehappiness.com/post.aspx?id=990d87d8-62e7-4bac-b62b-4213e81e2450</guid>
      <pubDate>Sun, 11 Apr 2010 07:00:00 +0700</pubDate>
      <category>Technical</category>
      <dc:publisher>Admin</dc:publisher>
      <pingback:server>http://www.codehappiness.com/pingback.axd</pingback:server>
      <pingback:target>http://www.codehappiness.com/post.aspx?id=990d87d8-62e7-4bac-b62b-4213e81e2450</pingback:target>
      <slash:comments>130</slash:comments>
      <trackback:ping>http://www.codehappiness.com/trackback.axd?id=990d87d8-62e7-4bac-b62b-4213e81e2450</trackback:ping>
      <wfw:comment>http://www.codehappiness.com/post/visual-studio-2010-new-features.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.codehappiness.com/syndication.axd?post=990d87d8-62e7-4bac-b62b-4213e81e2450</wfw:commentRss>
    <feedburner:origLink>http://www.codehappiness.com/post.aspx?id=990d87d8-62e7-4bac-b62b-4213e81e2450</feedburner:origLink></item>
    <item>
      <title>What can you do with ‘IntelliTrace’ in Visual Studio 2010</title>
      <description>&lt;p style="color: #777; font-size: 11px"&gt;(This post is part of my &lt;a href="http://www.codehappiness.com/post/visual-studio-2010-new-features.aspx" target="_blank"&gt;Visual Studio 2010 series&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;As I wrote in my &lt;a href="http://www.codehappiness.com/post/Visual-Studio-2010-New-Features-in-Debugging.aspx" target="_blank"&gt;earlier article&lt;/a&gt;, Visual Studio 2010 has many new features in debugging. IntelliTrace is one of the major features of Visual Studio 2010 and as of now it is available &lt;span style="text-decoration: underline"&gt;only&lt;/span&gt; in Visual Studio 2010 Ultimate edition. In my opinion, IntelliTrace is the best reason to convince your boss to get Ultimate edition for you :). Note, IntelliTrace only supports managed code, for example, it doesn’t support vc++ native code. &lt;/p&gt;  &lt;p&gt;This article introduces IntelliTrace and tells how it helps in simplifying debugging and tells some more things that can be done with it (based on Visual Studio 2010 ultimate edition-release candidate).&lt;/p&gt;  &lt;p&gt;(I am taking the intro from previous post..)&lt;/p&gt;  &lt;h2&gt;Introducing Visual Studio 2010's IntelliTrace..&lt;/h2&gt;  &lt;p&gt;IntelliTrace is a feature previously known as Historical debugging, which is a major enhancement made to the Visual Studio 2010 debugger. When an exception occurs, you usually start debugging with breakpoints set in suspected areas and check variable/object values for correctness.&lt;/p&gt;  &lt;p&gt;But if an exception occurs when IntelliTrace is enabled, it allows you to just go back in time of your application execution and find out what events got raised and what were the values of various variables, etc, similar to Call stack like approach. This helps you inspect all the events that finally triggered the exception. This helps in many ways, even you don’t need to worry about breakpoints.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Let me start with an example exception and then proceed on how you would handle it without and with IntelliTrace.&lt;/p&gt;  &lt;p&gt;Consider you get the below simple exception.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="" src="http://www.codehappiness.com/image.axd?picture=fileerror2_thumb.png" width="456" height="308" /&gt;&lt;/p&gt;  &lt;p&gt;You immediately guess that the filename/path is wrong in &lt;em&gt;FileToRead&lt;/em&gt; or the file should have been there, but missing. Let us keep that the file name is wrong for this example.&lt;/p&gt;  &lt;p&gt;Let’s see how we will usually debug this, without IntelliTrace..&lt;/p&gt;  &lt;h2&gt;Without IntelliTrace&lt;/h2&gt;  &lt;p&gt;Even though the exception is simple; as it’s clear that the filename/path is wrong(as we decided for this example). We need to find out why &lt;em&gt;FileToRead&lt;/em&gt; is passed with a wrong value. The possibilities could be anything, like, the folder path is missing/incorrect, file path &amp;amp; name is incorrectly framed, etc. So even though the exception is simple, the point to note is, it could be complex to find out the cause of the exception!&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;To find out the cause&lt;/strong&gt;, most of us analyse the current section of code and/or call stack and if nothing seems to help, we may stop this running(debug mode) application and set breakpoints in several areas of code from where the control of execution reaches &lt;em&gt;ReadFromFile()&lt;/em&gt; method. Then, we restart debugging the application and step through the code and we could find the cause and correct the code.&lt;/p&gt;  &lt;p&gt;This approach may require you to stop the running application and restart(re-debug) it many times, and it could be very tedious and tiring at times. Also you might not be able to reproduce some errors, maybe because you could have forgotten the series of things you did that triggered the exception. IntelliTrace basically provides a solution for this and gives you some more features.&lt;/p&gt;  &lt;p&gt;Now let’s see how you can handle this in Visual Studio 2010(ultimate edition) with IntelliTrace enabled..&lt;/p&gt;  &lt;h2&gt;With IntelliTrace&lt;/h2&gt;  &lt;p&gt;Before showing how we handle the above exception in IntelliTrace, I will tell how IntelliTrace works and how to setup. IntelliTrace works by collecting information on the background as you run your application.&lt;/p&gt;  &lt;p&gt;You can enable IntelliTrace by going to Tools –&amp;gt; Options –&amp;gt; IntelliTrace and check &lt;strong&gt;Enable IntelliTrace&lt;/strong&gt;. There are two ways to collect IntelliTrace information &lt;strong&gt;IntelliTrace Events only&lt;/strong&gt; or &lt;strong&gt;IntelliTrace &lt;/strong&gt;&lt;strong&gt;Events and Call&lt;/strong&gt; &lt;strong&gt;information&lt;/strong&gt;, you can select this in Options. Collecting IntelliTrace information for Events and call option will have more impact in application performance than Events only option.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="" src="http://www.codehappiness.com/image.axd?picture=itgeneraloptions-final_thumb.png" width="355" height="109" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Events only&lt;/strong&gt; option works by capturing specific events that occur in your application like file IO, Database access, etc., you can specify this also in the IntelliTrace options.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="" src="http://www.codehappiness.com/image.axd?picture=itevents-final_thumb.png" width="156" height="233" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Events and call information&lt;/strong&gt; option works by tracking all method calls and events that occur in your application, note that this option fully utilizes the IntelliTrace feature and some IntelliTrace specific IDE tools work &lt;em&gt;only&lt;/em&gt; in this option, so most will prefer this(but as I mentioned earlier, don’t forget that this option will degrade application performance).&lt;/p&gt;  &lt;p&gt;If you have chosen &lt;strong&gt;Events and call information &lt;/strong&gt;option, in modules section of IntelliTrace options, you can specify what modules to exclude when collecting IntelliTrace information. For instance, you can specify the DLLs which you are not interested in tracing as you might be confident that they won’t be having any errors(ex: YourCompany.Utilities.dll).&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Now let’s see how we’ll handle the same file IO exception we got above using IntelliTrace features.&lt;/p&gt;  &lt;p&gt;When the exception occurs, debugger will as usual show the exception with IntelliTrace window as shown below(I am using &lt;em&gt;Events and call information&lt;/em&gt; option).&lt;/p&gt;  &lt;p&gt;(click on below image for its enlarged version)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.codehappiness.com/image.axd?picture=VisualStudiowithIntelliTrace.png" target="_blank"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="" src="http://www.codehappiness.com/image.axd?picture=VisualStudiowithIntelliTrace.png" width="754" height="410" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="" src="http://www.codehappiness.com/image.axd?picture=userpromptfinal_thumb.png" width="395" height="185" /&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;IntelliTrace Calls view..&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="" src="http://www.codehappiness.com/image.axd?picture=userpromptfinalfinal_thumb.png" width="397" height="280" /&gt;&lt;/p&gt;  &lt;p&gt;IntelliTrace window has Events view and Calls view(calls view-only if you enable tracing Events and call info), you can switch views using the link in top.&lt;/p&gt;  &lt;p&gt;In Events/Calls view, list of recorded items are shown, double-clicking one of them takes you to the code which triggered it and from there you can &lt;em&gt;&lt;span style="text-decoration: underline"&gt;Step In&lt;/span&gt;&lt;/em&gt;to the code as usual and inspect it. Also note the “Related views” links, using these you can switch to Calls View, Locals window and Call Stack.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Important &lt;/strong&gt;thing here is, the Locals and Call stack set their context and behave as if the current line is the next statement to be executed, and shows information in them accordingly, like, Locals will show current context’s local variables/objects. This allows you to inspect using them, in all the events/calls that IntelliTrace recorded!, else you have to set breakpoints at each location you suspect and restart the application and debug it.     &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Navigation Gutter&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Note the navigation gutter in above image, you can do below things using it.&lt;/p&gt;  &lt;p&gt;(This image is a screenshot of Debug-&amp;gt;IntelliTrace menu, which here can be used to explain the navigation gutter)&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" alt="" src="http://www.codehappiness.com/image.axd?picture=menu_thumb.png" width="349" height="117" /&gt;&lt;/p&gt;  &lt;p&gt;Most of the above is clear in its caption itself, &lt;em&gt;Go To Live Mode&lt;/em&gt; just takes you back to the code which raised the exception and leaves you in a stage when you got the exception first, before you started using IntelliTrace’s navigation options for inspecting.&lt;/p&gt;  &lt;p&gt;Note Go to Live mode option appears in navigation gutter only if your current context is Not in the line the exception got thrown.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;So how do we debug the file IO exception we saw above..?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Now you probably would have figured out how we would debug the exception I said above, using IntelliTrace..anyway, I am telling it. Once we get the exception we can..&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Use the events or calls view and go to suspected items and check the code in those areas. &lt;/li&gt;    &lt;li&gt;Use the navigation gutter to go backwards in application execution step by step and maybe use the Locals window and examine the variable values &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;...and find out what went wrong and fix, that’s it.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;More...&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;We can do more things with IntelliTrace.. you can right-click any line and search for that line or method in IntelliTrace &lt;em&gt;call information&lt;/em&gt;. You can set the debugger context in all the call locations(call sites) from where the current exception triggering code got reached.&lt;/p&gt;  &lt;p&gt;You can share the IntelliTrace information with colleagues by giving them the .itrace file stored in the path you choose in IntelliTrace options and they can load this file and start debugging the exception(but I was able to open the corresponding source solution/file only when it is present in the same location, I mean, if you have the solution in c:\MyProj, other machine should also have in same path) the .itrace file is deleted if Visual Studio is closed, so copy it before closing Visual Studio.&lt;/p&gt;  &lt;p&gt;Also Microsoft Test Manager is launched along with Visual Studio 2010 and it is available with Ultimate/Test professional edition, Test manager can collect IntelliTrace information and the tester can attach the trace file with the issues he/she logs in Team Foundation Server! which would be a great thing, &lt;a href="http://msdn.microsoft.com/en-us/library/dd286579%28v=VS.100%29.aspx" target="_blank"&gt;click here&lt;/a&gt; for more on this.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;I hope you got good idea about Visual Studio 2010’s IntelliTrace feature and how it can change the issue handling capabilities we have now(and why ultimate edition matters ;)&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Please note: The purpose of the article is to provide a broad overview about IntelliTrace and what can be done with it, these are the features majority of the developers may use. To the most extent the article is written keeping beginners &lt;em&gt;too&lt;/em&gt; in mind.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p style="letter-spacing: 0px"&gt;&lt;em&gt;If you like this article..&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;a style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fwww.codehappiness.com%2fpost%2fintellitrace-in-visual-studio-2010.aspx"&gt;&lt;img style="vertical-align: middle" border="0" alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fwww.codehappiness.com%2fpost%2fintellitrace-in-visual-studio-2010.aspx" /&gt;&lt;/a&gt;&amp;#160;&amp;#160;&amp;#160; &lt;a style="border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" href="http://dotnetshoutout.com/What-can-you-do-with-IntelliTrace-in-Visual-Studio-2010" rev="vote-for"&gt;&lt;img style="vertical-align: middle" border="0" alt="Shout it" src="http://dotnetshoutout.com/image.axd?url=http%3A%2F%2Fwww.codehappiness.com%2Fpost%2Fintellitrace-in-visual-studio-2010.aspx" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p style="padding-bottom: 0px; padding-left: 7px; padding-right: 0px; padding-top: 5px"&gt;&lt;script type="text/javascript"&gt;&lt;!--
        tweetmeme_url = 'http://www.codehappiness.com/post/intellitrace-in-visual-studio-2010.aspx';
        // --&gt;&lt;/script&gt;&lt;script src="http://tweetmeme.com/i/scripts/button.js" type="text/javascript"&gt;&lt;/script&gt;&lt;/p&gt;  &lt;div class="pflink"&gt;   &lt;ul&gt;     &lt;li&gt;&lt;a title="Click to Subscribe" href="http://feeds.feedburner.com/codehappiness"&gt;&lt;img class="pflinkfeed" alt="RSS feed" src="http://www.codehappiness.com/pics/feed-icon-16x16.png" /&gt;&lt;/a&gt;&amp;#160;&lt;span&gt;&lt;a title="Click to Subscribe" href="http://feeds.feedburner.com/codehappiness"&gt;Subscribe to the feed!&lt;/a&gt; (&lt;a href="http://www.codehappiness.com/post/what-is-an-rss-feed.aspx" target="_blank"&gt;?&lt;/a&gt;) and receive any such future posts on your favorite &lt;a href="http://www.codehappiness.com/post/what-is-an-rss-feed.aspx" target="_blank"&gt;feed reader&lt;/a&gt;&lt;/span&gt; &lt;/li&gt;      &lt;li&gt;Any comments? &lt;a title="Comments can be used to express your thoughts about this blog entry" href="http://www.codehappiness.com/post/IntelliTrace-in-visual-studio-2010.aspx#befcomment" rel="nofollow"&gt;write here&lt;/a&gt;.. &lt;/li&gt;   &lt;/ul&gt; &lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/codinghappiness/~4/WLdVK3B8g6Y" height="1" width="1"/&gt;</description>
      <link>http://feedproxy.google.com/~r/codinghappiness/~3/WLdVK3B8g6Y/post.aspx</link>
      <author>Admin</author>
      <comments>http://www.codehappiness.com/post/intellitrace-in-visual-studio-2010.aspx#comment</comments>
      <guid isPermaLink="false">http://www.codehappiness.com/post.aspx?id=db6f674e-8e1c-479b-9758-be30b130fd90</guid>
      <pubDate>Thu, 08 Apr 2010 07:00:00 +0700</pubDate>
      <category>Technical</category>
      <dc:publisher>Admin</dc:publisher>
      <pingback:server>http://www.codehappiness.com/pingback.axd</pingback:server>
      <pingback:target>http://www.codehappiness.com/post.aspx?id=db6f674e-8e1c-479b-9758-be30b130fd90</pingback:target>
      <slash:comments>530</slash:comments>
      <trackback:ping>http://www.codehappiness.com/trackback.axd?id=db6f674e-8e1c-479b-9758-be30b130fd90</trackback:ping>
      <wfw:comment>http://www.codehappiness.com/post/intellitrace-in-visual-studio-2010.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.codehappiness.com/syndication.axd?post=db6f674e-8e1c-479b-9758-be30b130fd90</wfw:commentRss>
    <feedburner:origLink>http://www.codehappiness.com/post.aspx?id=db6f674e-8e1c-479b-9758-be30b130fd90</feedburner:origLink></item>
  </channel>
</rss>

