Code search tool – Entrian Source Search

7
April 27, 2013 // tools, visualstudio

I’m always on the quest for better coding tools, and a new one I’ve been playing with for the last couple weeks is a code search tool called Entrian Source Search. It is a Visual Studio plugin that maintains an index of your code base for rapid search results. Not free – $29/dev after a 30-day trial.

How does it work?

When you open a solution for the first time, you are prompted if you want to create an index and if so which path(s) you want to monitor.

Entrian New Solution image

New Solution prompt

Entrian Setup Index image

Setup index dialog

I especially liked the option to “Share another solution’s index”.  It is those little details that show a project’s maturity.

Why not just use the built-in Find in Files?

  • Indexed searches are exceptionally faster
  • Highlighted results are easier to skim
  • A results grid that shows the matches in the same place instead of just dumping them at the end of a path
  • When folders/files/lines are repeated, the entries after the first are grayed out a little which is a nice visual cue of repetition
  • Right-click context menu with several convenient refinements/actions
  • More keyboard shortcuts (the way to my heart)
  • Searching your code base (instead of your solution) will pick-up all those hard to find usages in configuration files, reflection usages, etc. that may get missed otherwise.  Yes, you can configure Find in Files to search folders – but have you?

See for yourself:

Visual Studio Find Results image

Visual Studio Find Results

Entrian Search Results image

Entrian Search Results

Entrian Search Results Context Menu image

Entrian Search Results Context Menu

What about other tools on the horizon?

I’ve been using TextCrawler for a long time, and it is still my tool of choice to run a search without bringing up Visual Studio.  It is free and runs quick, but the UI could use some love (e.g. keyboard shortcuts, respond to window size changes).  This tool is unfortunately not very active (sad trombone).

What I’m really interested in watching is Sando.  I’ve been trading e-mails with its lead David C. Shepherd and they come to the search game with an intent to go far beyond a simple grep.  Out of ABB Research and with the help from some developers in the community they are building an engine that prioritizes search results, offers auto-completion and is focused on research-driven functionality.  Sure it will support an exact match search like the others (*yawn*), but what it does that makes it stand apart is fuzzy searching like a true search engine.  The concept is amazing for discovery in a new code base, or all of those times you can’t exactly remember what you called that method.  It currently only searches code files within the solution which is a deal breaker for me, but I’m excited to see how the product evolves as it is very active and growing.  If you’re looking for an open source project to join (besides CodeMaid of course 😉 ) – then I would definitely encourage you to take a look at Sando (source on CodePlex) and be a part of its future.  It is available on Visual Studio Gallery if you want to give it a whirl or check out their new website for more details.

Sando

Sando

Summary

Entrian Source Search is my recommendation for today, but my hopes for the future are with Sando.  If you have any other code search tool recommendations then speak up in the comments. 🙂

About the author

Steve Cadwallader is a software developer who geeks out on user interfaces, clean code and making things easier.

7 Comments

  1. Hi Steve,

    Thanks for the great writeup!

    I’m definitely a believer in searching *everything*, partly because a lot of the code I work with is a big mix of stuff, some of which is referenced by the solutions, but a lot of which is built by third-party makefiles or build scripts, so Visual Studio is blissfully unaware of it.

    That said, for working with a more standard setup, Sando does look very interesting – it’s on my list of “things I really must look at ASAP”.

    If you have any other comments, feature requests, or problems (surely not) then don’t hesitate to get in touch with me.

    — Richie Hindle (author of Entrian Source Search)

  2. Hi Richie –

    Thanks for the great tool! My 30 days aren’t up quite yet but I know I’ll be picking up a license. 🙂

    It worked pretty flawlessly which is part of why I was so impressed. There are always more feature requests, here are a couple:
    1) Personally I like to “discard” results as I go and determine they are not relevant. It would be awesome to be able to “delete” key out individual hits so I can whittle my list down to those that I want to spend more time looking into after going across the whole list. I know you can right-click and exclude an entire file, but that will re-execute the search.
    2) I noticed results from inside bin and obj folders were getting picked up by default. I was able to customize those folders out – but perhaps that would make a good addition to your default exclude list.

    I’ll be interested to see what else is in store for the future. 🙂
    -Steve Cadwallader

  3. Hi Steve,

    Great suggestions! I liked the Delete idea so much that I’ve just implemented it – if you have a moment, grab http://entrian.com/source-search/Entrian-Source-Search-1.4.11-Pre-Setup.exe and give it a try. (That’s a pre-release version – assume it works for you, I’ll release it this week.)

    I took your idea a bit further:
    – Pressing the Delete key deletes the highlighted result.
    – Ctrl+Delete deletes all results for the highlighted results’s file.
    – Shift+Ctrl+Delete deletes all results for the highlighted results’s folder.

    Thanks again!

  4. Hi Richie –

    Fantastic, I love it! 🙂 It works great in my quick tests and I’ll be playing with it more through the week and let you know if I see any surprises.

    Thank you for the incredibly quick turnaround – you’ve upgraded a fan into a zealot. 😉
    -Steve

  5. Pingback: Source Search 1.4.11: It’s in the Gallery - The Entrian Solutions Blog

  6. How to make Sando search the configuration file contents also?

  7. I don’t know off the top of my head, but David C. Shepherd on the Sando team is always very eager to help so please check with him (Twitter – @davidcshepherd) or
    http://visualstudiogallery.msdn.microsoft.com/06f39a31-20ce-408c-afee-8a02b484db1c

Leave a Comment