{"id":818,"date":"2010-05-27T12:42:57","date_gmt":"2010-05-27T09:42:57","guid":{"rendered":"http:\/\/neosmart.net\/blog\/2010\/the-un-improvements-to-find-all-references-in-visual-studio-2010\/"},"modified":"2010-05-27T13:07:25","modified_gmt":"2010-05-27T10:07:25","slug":"the-un-improvements-to-find-all-references-in-visual-studio-2010","status":"publish","type":"post","link":"https:\/\/neosmart.net\/blog\/the-un-improvements-to-find-all-references-in-visual-studio-2010\/","title":{"rendered":"The Un-Improvements to &ldquo;Find All References&rdquo; in Visual Studio 2010"},"content":{"rendered":"<p><img class=\"colorbox-818\"  decoding=\"async\" style=\"float: right\" src=\"\/blog\/wp-content\/uploads\/4643903279_39befe1046_m.jpg\" \/>   <\/p>\n<p>A November 2009 post on the Visual C++ Team Blog by Raman Sharma delved into the improvements Visual Studio 2010 <a href=\"http:\/\/blogs.msdn.com\/b\/vcblog\/archive\/2009\/11\/17\/improvements-to-find-all-references-in-visual-studio-2010.aspx\" rel=\"follow\">was purported to have made<\/a> to the \u201cFind All References\u201d feature of Visual Studio. This feature is a must-have for any developer in almost any language. As a project grows in size and complexity, it becomes a real chore to remember and locate exactly <em>where<\/em> a particular variable was defined \u2013 which is something that\u2019s quite useful to know.<\/p>\n<p>According to the VC++ blog post, VS2010 now uses a \u201cspeed-mode\u201d by default to locate these references. It\u2019s a bit less accurate in that it generates a lot of false positives, searching by name rather than by usage, but that this reduced accuracy comes with greater speed. And the option remains to further filter out results by having the compiler and the intellisense databases resolve the actual results and determine whether or not they indeed reference the search term.<\/p>\n<p>Except that\u2019s the way it\u2019s <em>supposed<\/em> to work. In truth, that\u2019s not what happens:<\/p>\n<p>1) Visual Studio 2010\u2019s \u201cSpeed Mode\u201d of Find All References <strong>is slower than it was in Visual Studio 2005<\/strong>.<\/p>\n<p>2) Visual Studio 2010\u2019s \u201cSpeed Mode\u201d not only generates extraneous false positives, it also <strong>fails to show items that <em>do<\/em> match the search term<\/strong>.<\/p>\n<p> <!--more-->  <\/p>\n<p>On any project of considerable size, \u201cFind All References\u201d will cause <strong>a hang<em> <\/em><\/strong>of the Visual Studio 2010 user interface for up to a minute as it does nothing more than plain-text search for the selected variable or function. It blocks the main user thread, it hangs the UI, and it takes forever. Much longer than Visual Studio 2005\/2008 did with its <em>more accurate<\/em> compiler-based variable references search.<\/p>\n<p>And as for point 2, the time-lapse screenshot below (to show both the selection, the menu, and the resulting dialog) should speak louder and clearer than a thousand words.<\/p>\n<p> <a href=\"http:\/\/farm4.static.flickr.com\/3320\/4643878471_d11c193486_o.png\" rel=\"follow\"><img class=\"colorbox-818\"  decoding=\"async\" src=\"\/blog\/wp-content\/uploads\/4643878471_dcd5fcf8b0.jpg\" \/><\/a>   <\/p>\n<p align=\"right\"><small>(Click the image for <a href=\"http:\/\/farm4.static.flickr.com\/3320\/4643878471_d11c193486_o.png\" rel=\"follow\">a full-size screenshot<\/a>)<\/small><\/p>\n<p>&#160;<\/p>\n<p>Unfortunately, Visual Studio 2010 seems to be exemplifying the ongoing trend at Microsoft of slowly giving less and less attention to C++ developers as they continue to push .NET (now at version 4.0 and growing strongly) at the cost of everything else\u2026 while still refusing to embrace the .NET platform for their own technologies, leaving their once-content developer-base fighting against their own IDEs for life.<\/p>\n<p><em>This is the first of several posts about Visual Studio 2010, it\u2019s advantages, and its shortcomings. We love Visual Studio and despite everything else, its still the best IDE out there and a damn good one at that. But some things just need to be said in hopes that they will be addressed at some point in the future.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A November 2009 post on the Visual C++ Team Blog by Raman Sharma delved into the improvements Visual Studio 2010 was purported to have made to the \u201cFind All References\u201d feature of Visual Studio. This feature is a must-have for &hellip; <a href=\"https:\/\/neosmart.net\/blog\/the-un-improvements-to-find-all-references-in-visual-studio-2010\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":505,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[56,22,8,901,164,728],"class_list":["post-818","post","type-post","status-publish","format-standard","hentry","category-software","tag-bugs","tag-microsoft","tag-reviews","tag-software","tag-visual-studio","tag-visual-studio-2010"],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p4xDa-dc","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/neosmart.net\/blog\/wp-json\/wp\/v2\/posts\/818","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/neosmart.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/neosmart.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/neosmart.net\/blog\/wp-json\/wp\/v2\/users\/505"}],"replies":[{"embeddable":true,"href":"https:\/\/neosmart.net\/blog\/wp-json\/wp\/v2\/comments?post=818"}],"version-history":[{"count":0,"href":"https:\/\/neosmart.net\/blog\/wp-json\/wp\/v2\/posts\/818\/revisions"}],"wp:attachment":[{"href":"https:\/\/neosmart.net\/blog\/wp-json\/wp\/v2\/media?parent=818"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/neosmart.net\/blog\/wp-json\/wp\/v2\/categories?post=818"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/neosmart.net\/blog\/wp-json\/wp\/v2\/tags?post=818"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}