<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Improvements to Find all references in Visual Studio 2010</title><link>http://blogs.msdn.com/b/vcblog/archive/2009/11/17/improvements-to-find-all-references-in-visual-studio-2010.aspx</link><description>Hello, my name is Raman Sharma, and I am a Program Manager on the VC++ team. Through this blog post, I wish to highlight some changes we have made to an important feature in the C++ IDE, called “Find all References”. As most of you would know, this feature</description><dc:language>en-US</dc:language><generator>Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><item><title>re: Improvements to Find all references in Visual Studio 2010</title><link>http://blogs.msdn.com/b/vcblog/archive/2009/11/17/improvements-to-find-all-references-in-visual-studio-2010.aspx#9946945</link><pubDate>Tue, 12 Jan 2010 06:08:51 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9946945</guid><dc:creator>Junge Wang</dc:creator><description>&lt;p&gt;Hi Raman, you can display a icon under the class/type, if multiple header files found. display all the possible include files by click the icon, let the user select which one they want. most of the time, the developer just forget the header file name.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9946945" width="1" height="1"&gt;</description></item><item><title>re: Improvements to Find all references in Visual Studio 2010</title><link>http://blogs.msdn.com/b/vcblog/archive/2009/11/17/improvements-to-find-all-references-in-visual-studio-2010.aspx#9946911</link><pubDate>Tue, 12 Jan 2010 04:59:11 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9946911</guid><dc:creator>Raman Sharma [msft]</dc:creator><description>&lt;p&gt;@Junge: I agree that it would be useful to look up the definition of regex and include the corresponding file automatically in the calling file. &amp;nbsp;The reason why we don't do that is because of the possibility of multiple such files in multiple include directories. &amp;nbsp;We don't want to inadvertently disturb your code in unexpected ways, so we let you choose the headers you wish to include and then search for definitions/references only in those files.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9946911" width="1" height="1"&gt;</description></item><item><title>re: Improvements to Find all references in Visual Studio 2010</title><link>http://blogs.msdn.com/b/vcblog/archive/2009/11/17/improvements-to-find-all-references-in-visual-studio-2010.aspx#9946433</link><pubDate>Mon, 11 Jan 2010 08:53:32 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9946433</guid><dc:creator>Junge Wang</dc:creator><description>&lt;p&gt;I write following statement without include regex header file&lt;/p&gt;
&lt;p&gt; const regex r(&amp;quot;(\\w+) (\\w+)&amp;quot;);&lt;/p&gt;
&lt;p&gt;After I use the &amp;quot;Find All reference&amp;quot; function, the IDE display &amp;quot;The symblo &amp;quot;regex&amp;quot; is not refereced&amp;quot;.&lt;/p&gt;
&lt;p&gt;It will be more useful to find the correct header file and add it automaically like the C# IDE does.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9946433" width="1" height="1"&gt;</description></item><item><title>re: Improvements to Find all references in Visual Studio 2010</title><link>http://blogs.msdn.com/b/vcblog/archive/2009/11/17/improvements-to-find-all-references-in-visual-studio-2010.aspx#9946319</link><pubDate>Sun, 10 Jan 2010 23:06:04 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9946319</guid><dc:creator>Raman Sharma [msft]</dc:creator><description>&lt;p&gt;@drummist:&lt;/p&gt;
&lt;p&gt;Find all References didn't work for local variables and function parameters in VS 2008 either. &amp;nbsp;I am not saying that was a reason for us not to do it again in VS 2010. &amp;nbsp;Just that the effort required to enable it (in terms of refactoring of code) far exceeded the benefit, since these variables are relatively easy to locate by eye-balling. &amp;nbsp;This is what I meant by their limited scope.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9946319" width="1" height="1"&gt;</description></item><item><title>re: Improvements to Find all references in Visual Studio 2010</title><link>http://blogs.msdn.com/b/vcblog/archive/2009/11/17/improvements-to-find-all-references-in-visual-studio-2010.aspx#9943681</link><pubDate>Tue, 05 Jan 2010 01:13:02 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9943681</guid><dc:creator>drummist</dc:creator><description>&lt;p&gt;&amp;gt; Find all References doesn't work for local variables and function parameters. (Isn't their scope too limited :))&lt;/p&gt;
&lt;p&gt;Too limited to work properly, or too limited to justify finding references to? Can you explain the reason this doesn't work? The C# equivalent does not have this limitation.&lt;/p&gt;
&lt;p&gt;A Find All References in Ultimate Beta 2 on a local variable either causes a dialog to appear, saying the variable isn't referenced, or gives references to unrelated items in libraries. This is with Resolve Results checked and Hide Unconfirmed unchecked. If the feature is designed to not work for local variables and parameters, why is it enabled for those items?&lt;/p&gt;
&lt;p&gt;I'm hoping you can help me understand this feature better so that I can use it correctly.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9943681" width="1" height="1"&gt;</description></item><item><title>re: Improvements to Find all references in Visual Studio 2010</title><link>http://blogs.msdn.com/b/vcblog/archive/2009/11/17/improvements-to-find-all-references-in-visual-studio-2010.aspx#9943518</link><pubDate>Mon, 04 Jan 2010 18:53:09 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9943518</guid><dc:creator>Scott Weber</dc:creator><description>&lt;p&gt;Doesn't ANYONE on the VS IDE team admit this design was a massive mistake?&lt;/p&gt;
&lt;p&gt;Everything I used in VC6 is now several clicks away. (no more right click to bring up a tool bar. now dig through menus)&lt;/p&gt;
&lt;p&gt;Windows magically pop up, coving what I'm working on, fighting with each other over who is 'TopMost'. &amp;nbsp;And there is no way to make any of them stop being 'TopMost', no matter how much you don't want it.&lt;/p&gt;
&lt;p&gt;If I leave every window docked to prevent things covering what I am working on, my document space is about 35 characters wide. &amp;nbsp;Even punched cards were 40!&lt;/p&gt;
&lt;p&gt;You can't even work on a normal size dialog, because it doesn't fit in the IDE anymore.&lt;/p&gt;
&lt;p&gt;Even the tabs are gone from the memory window. &amp;nbsp;Now there are multiple windows fighting to see who can cover the source code first.&lt;/p&gt;
&lt;p&gt;VC6 was the most awesome interface I ever had the privilege of using. &amp;nbsp;VS 20xx's are the most awful.&lt;/p&gt;
&lt;p&gt;I've seen postings saying this is what happens when you allow things to be re-written without adult supervision. &amp;nbsp;I now agree.&lt;/p&gt;
&lt;p&gt;Is there anyone out there who realizes what a mistake this was, and is lobbying for restoring a good IDE? &amp;nbsp;Or am I alone?&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9943518" width="1" height="1"&gt;</description></item><item><title>re: Improvements to Find all references in Visual Studio 2010</title><link>http://blogs.msdn.com/b/vcblog/archive/2009/11/17/improvements-to-find-all-references-in-visual-studio-2010.aspx#9936001</link><pubDate>Sat, 12 Dec 2009 03:26:29 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9936001</guid><dc:creator>Bruce</dc:creator><description>&lt;p&gt;I absolutely agree with the comments by stof. &amp;nbsp;I use the Visual Studio 2008 “Go To Definition”, “Go To Reference”, and “Find in Files” commands but I find the “Call Browser” and “Find All References” commands to be useless for the reasons indicated by stof. &amp;nbsp;The tools for analyzing C++ code took a major step backward after Visual Studio 6, and as of Visual Studio 2008 have not yet recovered. &amp;nbsp;The lack of a good browser in subsequent versions of Visual Studio was a strong incentive to stay with Visual Studio 6 long after I would have otherwise switched to a newer version.&lt;/p&gt;
&lt;p&gt;Visual Studio 6 had a very useful and accurate browser. &amp;nbsp;I have been mystified as to why subsequent versions of Visual Studio have been unable to provide anything close to the functionality provided by the Visual Studio 6 browser. &amp;nbsp;Visual Studio 2008 attempted to replicate some of this functionality but failed to provide accurate results (except in very small projects) and was therefore useless. &amp;nbsp;The attempt to improve the presentation of the results seemed questionable at best (although it was hard to judge because of the inaccuracy).&lt;/p&gt;
&lt;p&gt;One significant limitation of the Visual Studio 6 browser was that the default browser database did not include code from libraries. &amp;nbsp;It was possible to include this code using a method described in an MSDN article. &amp;nbsp;While the browser in Visual Studio 2008 does not have this limitation (a positive factor), it is still too inaccurate to be of any use.&lt;/p&gt;
&lt;p&gt;The Visual Studio 2010 “Find All References” feature certainly seems to be an improvement over that provided by Visual Studio 2008. &amp;nbsp;I do not plan to try the beta version and will therefore have to reserve judgment until the new version is released. &amp;nbsp;I would be extremely happy if Visual Studio 2010 could provide at least the functionality and accuracy of the Visual Studio 6 browser; however, I have not read anything to make me think this will be the case.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9936001" width="1" height="1"&gt;</description></item><item><title>re: Improvements to Find all references in Visual Studio 2010</title><link>http://blogs.msdn.com/b/vcblog/archive/2009/11/17/improvements-to-find-all-references-in-visual-studio-2010.aspx#9932037</link><pubDate>Thu, 03 Dec 2009 16:19:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9932037</guid><dc:creator>Greg</dc:creator><description>&lt;p&gt;Can we get &amp;nbsp;find similar references functionality instead? &amp;nbsp;I am forever finding multiple versions of the same function in large projects with only slight variation of the argument ordering or names.&lt;/p&gt;
&lt;p&gt;A find duplicate code would be nice as well:&lt;/p&gt;
&lt;p&gt; - parse code into syntax tree&lt;/p&gt;
&lt;p&gt; - write syntax tree out to a generic format (i.e., use 'IDENTIFER' for identifier, NUMBER_CONSTANT for constant numbers)&lt;/p&gt;
&lt;p&gt; - do substring matching on the output produced to find substrings longer than X symbols/tokens that match.&lt;/p&gt;
&lt;p&gt;Step 2 above handles the case where File1 has&lt;/p&gt;
&lt;p&gt;'a = 1 + b' and file2 has 'q = 33 + c' which is the same code when you convert it to&lt;/p&gt;
&lt;p&gt;'IDENTIFER ASSIGNMENT_OP NUMBER_CONSTANT ADDITON_OP IDENTIFER END_OF_STATEMENT&lt;/p&gt;
&lt;p&gt;Other commercial and open source projects use this well known technique to find identical or nearly identical code.&lt;/p&gt;
&lt;p&gt;This is quite useful in poorly written asp.net web applications by cut and paste developers.&lt;/p&gt;
&lt;p&gt;One can make the case that blocks of code (i.e., a sequence of generic tokens) can be compared based on just counting the number of each type of token and comparing blocks to see how close the token counts match.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9932037" width="1" height="1"&gt;</description></item><item><title>re: Improvements to Find all references in Visual Studio 2010</title><link>http://blogs.msdn.com/b/vcblog/archive/2009/11/17/improvements-to-find-all-references-in-visual-studio-2010.aspx#9928167</link><pubDate>Tue, 24 Nov 2009 19:06:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9928167</guid><dc:creator>Raman Sharma [msft]</dc:creator><description>&lt;p&gt;@David Lowndes: Thanks for creating the bug.&lt;/p&gt;
&lt;p&gt;@q: Find all References doesn't work for local variables and function parameters. (Isn't their scope too limited :))&lt;/p&gt;
&lt;p&gt;@mikeb @pike @Jamome: As you said, IntelliSense is indeed much faster. &amp;nbsp;This refers to the help you get while writing your code e.g. auto-complete, member-list, parameter help, quick-info tooltips. &amp;nbsp;This is possible now because we can parse your active file (using the compiler) on the fly without having to reparse the entire solution. &amp;nbsp;However, the database that you referred to, is not populated using the compiler. &amp;nbsp;While performing search like Find all References, the database can provide potential matches which then need to be verified with the compiler (or not).&lt;/p&gt;
&lt;p&gt;@stof: We certianly hope you will have a better experience using these features with VS2010. &amp;nbsp;If they do not work the way as expected, please feel free to log connect bugs.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9928167" width="1" height="1"&gt;</description></item><item><title>re: Improvements to Find all references in Visual Studio 2010</title><link>http://blogs.msdn.com/b/vcblog/archive/2009/11/17/improvements-to-find-all-references-in-visual-studio-2010.aspx#9927847</link><pubDate>Tue, 24 Nov 2009 10:14:49 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9927847</guid><dc:creator>stof</dc:creator><description>&lt;p&gt;This has never ever worked for me (up until vc9sp1 with freshly generated intellisense). When I try to find all references for member functions in our production code I get numerous false results, even hits with less or more (non-defaulted) parameters (not to mention ones from totally unrelated classes and/or having different parameter types). The call browser (using the same information) is therefore equally useless.&lt;/p&gt;
&lt;p&gt;Does this really work for anyone out there?&lt;/p&gt;
&lt;p&gt;With the intellisense database completely rewritten in vc10, I might give it another try. Until now, we have all long since resorted to using only find in files (and no, I have no time to try the beta).&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9927847" width="1" height="1"&gt;</description></item></channel></rss>