We're going to continue with the Extension Monday theme for a couple more weeks, today highlighting a cool extension from Kostadin Damevski, Bartosz Ropski, David C. Shepherd and team.
We've gotten so used to searching the indexed web via Bing and Google that when we try to search in Visual Studio it feels a little, um, antiquated. Bing and Google have spoiled us.
So what do we do? [Hint, we get today's project!]
Search your C, C++, C#, and XAML code instantly. Form a better query with identifier-based and phrase-based auto-complete. Explore project terms with the word cloud.
- Searches source code (C#, C++, C, and xaml) using information retrieval technology
- Pre-indexes source code to provide near-instant searches
- Indexes source code once, refreshing only changed files, to avoid unnecessary CPU burden
- Supports literal searches (e.g., "File f = new File();"), symbol searches (e.g., "_fileDialogTab"), and google-style searches (e.g., "open file")
- Provides extensive preview of search results with highlighted search terms
- Highlights search terms in code editor
- Auto-completion suggests likely query additions (e.g., "open" -> "open file")
- Auto-corrects spelling (e.g., "solutoin" -> "solution")
- Auto-recommendation suggests similar words if search term doesn't exist in the source code base (e.g., "fire event" -> "raise event")
- Provides word cloud of existing terms in source code to help users form a query
Supported Languages: C#, C++, C, xaml
To completely eliminate the use of grep-like searches, replacing them with faster, easier-to-use indexed searches.
Problem: Code search sucks. There's no auto-correct or suggestions, regex-based searches fail most of the time, searching for two terms is nearly impossible, and the returned results are unranked.
Solution: Sando is built on top of Lucene so it provides ranked results, multi-term search, and near instant results. It leverages natural language processing to provide code-appropriate auto-complete and uses software-specific synonyms to provide suggestions.
Technical Details: Sando is a Visual Studio Extension, searches C, C++, C#, and XAML, and works in VS2010-2013. It is written in C# and XAML and leverages the Lucene.NET library.
Installing Sando is quick and easy and it just works...
How best to play with a search tooI? By using it on itself of course!
Grabbing the latest code drop, I started searching... BTW, the code compiled for me the first time. Given the number of projects and dependences, that's a testament to the dev team
Searching works as you would expect it to. Not like F3, but like searching the web...
One of the nice features is that you can quickly peek at the code behind the hit...
Another is how you can get a Tag Cloud for a project or search term...
Lastly, Sando is extensible, including the capability to add support for more file types.
If you've been looking to super charge your Visual Studio code searching experience, Sando is something you really need to check out...