I suggest you ...

Implement indexed full-text search of source code, config files, and project files

Visual Studio projects can contain hundreds and even thousands of documents. Searching through these documents using Find-In-Files is slow and error prone. About a decade of academic research strongly suggests that an information retrieval approach to searching source code would be faster and provide better results.

While the Visual Studio team has noticed the need for better search tools, as evidenced by their recent "Search Everywhere" blog (see http://blogs.msdn.com/b/visualstudio/archive/2011/10/11/visual-studio-11-developer-preview-search-everywhere.aspx). Unfortunately, every recently introduced search tool still relies on regular-expressions or simple pattern-matching. To put this in context, the modern IDE uses search technology essentially identical to grep, which was created in 1973. Recent studies, such as "...How Developers Seek, Relate, and Collect Information..." (http://www.cs.cmu.edu/~marmalade/papers/Ko2006SeekRelateCollect.pdf) show this type of search fails upwards of 88% of the time.

This request is to suggest that Visual Studio completely change their default search engine. Instead of relying on a regex search, executed on demand, they should use an information retrieval approach, indexing the code ahead of time and thus providing near-instant search results. Examples of this type of search tool for source code abound. See Sando for Visual Studio, Instasearch for Eclipse, OpenGrok, etc.

Thanks for considering this update. I know it is a major one, but I love Visual Studio and believe that this change could help it remain a cutting edge IDE.

170 votes
Vote
Sign in
Check!
(thinking…)
Reset
or sign in with
  • facebook
  • google
    Password icon
    I agree to the terms of service
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    David ShepherdDavid Shepherd shared this idea  ·   ·  Flag idea as inappropriate…  ·  Admin →

    4 comments

    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      I agree to the terms of service
      Signed in as (Sign out)
      Submitting...
      • David ShepherdDavid Shepherd commented  ·   ·  Flag as inappropriate

        > What you're asking for is a product I believe is outside the scope of Visual Studio.

        You bring up great points Dean, and I've gone back and forth on whether to use a desktop search solution instead. However, there are a few key shortcomings of desktop search that make it awkward for code search. For instance, desktop search returns results as complete files, instead of as individual methods or classes. If I'm searching for the method "open" in the class "file" I don't care about all of the other methods in the "file" class. Using a websearch analogy, that's like returning an entire website instead of a single page. Thus, I think a code-focused search tool makes sense, and should be in the IDE.

      • Dean GoddardDean Goddard commented  ·   ·  Flag as inappropriate

        I use Copernic Desktop Search (CDS) or exactly this purpose. While the professional version is cheap, they also have a free version too. Way better then windows search and goolge desktop search. Additionally, you can index emails, office documents, PDFs and others. You do need to add a few extensions like *.cs and *.sql for CDS to support, but once you're setup, it's done.

        What you're asking for is a product I believe is outside the scope of Visual Studio.

      • JohnJohn commented  ·   ·  Flag as inappropriate

        Find in All Files works differently if you don't search the predefined locations but manually setup a location using the folder set.... which leads to all sorts of other questions like why does search entire solution take considerably longer than the same folders using the folder set option.

      • David ShepherdDavid Shepherd commented  ·   ·  Flag as inappropriate

        As further evidence of the importance of this feature there are a lot of search extensions popping up on Visual Studio Gallery.

        Sando Code Search Tool - http://visualstudiogallery.msdn.microsoft.com/06f39a31-20ce-408c-afee-8a02b484db1c
        Entrian Code Search - http://visualstudiogallery.msdn.microsoft.com/e39a6996-ea46-459a-9f1e-9629547868bc
        NavigateToAll - http://visualstudiogallery.msdn.microsoft.com/bdbc361a-ee69-4ba3-83ff-ab2e8122ff47

      Feedback and Knowledge Base