Sunday, August 22, 2010

Ultra Find (Getting Started)

To install Ultra Find, use the Extension Manager in Visual Studio 2010 located underneath the Tools menu. Select the Online Gallery and use the search bar to locate Ultra Find, click Download, then Install.

  • Note: Be sure to restart Visual Studio at least once after installing the extension. The Extension Manager will display a notice to do this, but the notice gets covered up when it launches the Getting Started page.

  • Note: If you are planning to use Windows Search, you must first configure source code content so that it is indexed (if you haven't already). By default, Windows Search does not index source code content. You should add the file extensions you want to have indexed, and set the appropriate settings for them, so that the file content is indexed, and not just the file properties. See the topic Setting Up Windows Search to learn how to configure Windows Search for use with Ultra Find.

Ultra Find can be launched from the Edit menu in the same location as the Find in Files screen.


Some Visual Studio environment settings do not include Find and Replace on the Edit menu (such as VB environment). In this case, customize the Edit menu to have the menu item appear where you want it, using Tools > Customize.

The command can also be accessed with the key combination Ctrl+` (on US keyboards, this is the reversed apostrophe, located underneath the escape key). Like other key combinations, this can be reconfigured through Visual Studio.

Once the command is invoked, you will be presented with the Ultra Find tool window, which resembles Find in Files.


The Ultra Find results window can be accessed from the same location as the other Find Results windows, underneath the View menu.


The results screen automatically appears whenever searches are made, just like regular Find in Files.


By default, there is no key combination assigned to this command, but one can be assigned through Visual Studio.


Ultra Find does not require Windows Search, but it is highly recommended to use it when searching across large code bases.

See the topic Setting Up Windows Search to learn how to configure Windows Search for use with Ultra Find.

33 comments:

  1. Will you be able to add support for Regular Expressions?

    ReplyDelete
  2. For now, please use Visual Studio's "Find in Files" feature to do lookups with Regular Expressions. Support may be added to a future version, but it most likely would not be supported with indexed searches, since the semantics of Regular Expressions do not work efficiently with indexed lookups.

    ReplyDelete
  3. Hello! Some comments and requests:
    1) The 'Discussion' (Q and A) section on gallery is disabled. Bad as there will be no user feedback.
    2) Please, add indexing support for search in current project/entire solution/etc.
    3) Please, make indexing status indication less colorful. It grabs all user's attention on itself, but is just a status notification area. The main purpose of the extension is searching, not demonstration of "Hooray! I'm very amazing thing and I'm working!" label.

    ReplyDelete
  4. Hello Sinix, with respect to...
    1) Sadly the gallery provides no way of moderating discussion, and in the past I have found that this generally does not work well. I am happy to accept feedback through this blog for the time being.
    2) Definitely
    3) The point of the status indicator was not to flaunt the extension's abilities, but to make clear the state of indexing while leaving no ambiguity (since there are quite a few states, having different reasons). Some find it too colorful for their tastes whereas other people actually like it, so an option to suppress the status will most likely be added in a future version. Thanks for the feedback.

    ReplyDelete
  5. When Ultra Find finds something in *.aspx or *.ascx file (HTML code), it displays results in result window. OK. Then when I click NEXT to go to one result, it crashes with "Object reference not set to an instance of an object."

    ReplyDelete
  6. Hello Yeznick,
    This is now fixed. To receive the corrected version, please go into the Extension Manager, uninstall the current version, restart Visual Studio, then search for Ultra Find in the Extension Manager, and reinstall. Thanks for letting me know.

    ReplyDelete
  7. Hi, I just installed this in my VS, but is not working. My VS it opens the solution directly from an external server(e.g. http://www.test.com).
    No matter what option I chose in ultra-find, it does not work. Is say: Searching for ‘class’ in Entire Solution…. but no results.
    Can you please take a look at this. I love what Ultra-find say it does, but unfortunately it’s no use for me.

    Cristi R

    ReplyDelete
  8. Hi,
    I saved the search options as a preset and used this on a local solution. In this case the ultra-find search works very well.
    So the problem is on solutions hosted on external server like http://www.test.com. Can you please have a look at this.

    Thank you.
    Cristi R

    ReplyDelete
  9. Thanks, Ultra Find currently supports local indexing, so it can only perform lookups in source code stored on your local machine, but maybe support for remote solutions could be added in a future version.

    ReplyDelete
  10. I've been using Ultra Find for several months now, and have come to rely on it. Suddenly however it has stopped working (at least as far as knowing that directories are indexed). So now it always says: "The entered path has not been indexed. Indexing will not be used for this path.".

    But looking in Control Panel->Indexing Options, it's clearly indexed (>337,000 entries).

    Windows Search service is started and running.

    Things I've tried:

    1) Rebuilt indexes
    2) Uninstalled Ultra Find/Reinstalled
    3) Rebooted.

    Indexing is on, and works everywhere else, but for some reason Ultra Find thinks that it is not.

    Is there something else I can look for to help diagnose?

    Thanks,
    Dan

    ReplyDelete
  11. Here's the answer to my own question (just in case it helps someone else).

    Originally I had indexing setup to index specific directories on my F drive. Ultra Find was working great. I then changed my indexing so that the entire drive was indexed. For some reason Ultra Find would no longer think anything on that drive was indexed. I've since switched back to just indexing certain directories on that drive, and Ultra Find is happy again.

    Looks like a bug to me, but at least there's a work-around.

    Dan

    ReplyDelete
  12. Hi Logan,

    Some very nice utility that you have created, I am using it in my day 2 day work even with it's minor imperfections :)

    I wanted to ask you about a very reproducible visual studio crash, when this extension is installed.

    I am using visual studio 2010 10.0.31118.1.sp1rel and I am running v1.1 of ultrafind.

    If I go uninstall ultrafind then visual studio does not crash anymore and if I install it back again, vs start crashing.

    Any help will be appreciated.

    Regards,
    Sharrajesh

    ReplyDelete
  13. @BKnight - Thanks for investigating, sharing, and discovering the issue. I will look to have this corrected in the next release.

    @sharrajesh - I'm sorry to hear that Ultra Find is still crashing for some people, but I'm glad to be in contact with someone who is actually experiencing this issue. Some attempts were made to address this in the new v1.1, but since I could not reproduce this issue, I couldn't really verify that the fix actually worked. Could you answer a few questions? 1) When exactly does the crash occur for you? At shutdown? 2) Does it happen consistently each time? 3) Do you have any other extensions installed and does disabling any of the other extensions help make the crash go away? (I'm wondering if Ultra Find is conflicting with one) 4) Do you have a stack trace or crash dump you could share?

    ReplyDelete
  14. Hi Logan,

    I just installed the latest visual studio service pack released my microsoft (10.0.402191.sp1rel). Its not crashing any more.

    Sorry for the confusion.

    ReplyDelete
  15. I would _love_ to have a search functionality in Visual Studio that allows me to search for multiple words, just like in Google.

    E.g. I would enter

    CLASS INT AUTOMOTIVE

    and it searches for files which contains all these three words.

    Is this possible with your extension? I found no way so far...

    ReplyDelete
  16. It is a great extension. I'm using it a lot.
    Forgot when I last time used Ctrl+Shift+F

    There are couple things that are nice to have:

    Native support of 'Entire solution' and 'Current Project'. For my understanding it's easy to map between project and its folder.

    Something wrong in a search engine
    If you search text '~/' (without quotes) it will fail with

    Searching for "~/" in "c:\Code"
    *** Internal Error (0x80041605)
    Finished [Found: No matches, Elapsed Time: 0.06 seconds]

    ReplyDelete
  17. Hi there,

    The extension is lightning fast, but for some reason, refuses to match portions of a word, if you do not provide the first chars of the word:

    A word in the code like: nICPProcessedStatus_FD
    will be found by performing a search like:
    nICPProcessedStatus_FD
    nICPProcessedStatus_F
    nICPProcessedStatus
    nICPProcessedSta
    nICPProcesse
    nICPProces
    and even object.nICPProcess
    but surprisingly enough, the search
    ICPProcessedStatus does not produce any results at all. (note that this is the middle part of the word).
    Anyone has any idea why is this happening?

    ReplyDelete
  18. @homepage, this is not possible in the current version, but thanks for the suggestion. I can look to add it in a future release.

    @mnaoumov - interesting, thanks for letting me know.

    @anonymous - this is a limitation imposed by Windows Search. For example, if you search for "edia Player" in your Start Menu, Windows will not find the "Media Player" shortcut. This is because indexed searching algorithm requires the beginning of the word. Sometimes Ultra Find can get around the limitation, but technically it is not supported by Windows Search. As you probably noticed, you can do partial word searches, as long as they contain the beginning of the word. Another workaround is to turn off indexed searching. In this case, you will always be able to find partial words, regardless of whether you included the beginning of the word in your search string, or not. Of course the tradeoff is that the search will be slower in this case.

    ReplyDelete
  19. @Logan
    Hi, I am the anonymous that posted the partial search question. Thanks for the clarification. I didn't know that windows Search would't work without providing the beginning of the string to match.

    Thanks, and keep up the good work!

    ReplyDelete
  20. When searching the current project, can you make Ultra Find use the project of the active tab (file being edited)? It appears to use the project that is selected in the Solution Explorer. The Visual Studio find function will use the project of the active tab - it seems more natural for the user. It would also help people that use something besides Solution Explorer - such as Solution Navigator. Thanks.

    ReplyDelete
  21. Hi is there a way to hide that bright green help panel in the middle of the dialog? It is a bit annoying, i already read what it has to say yet it draws my eye to it as if it was the most important thing on my desktop.

    ReplyDelete
  22. Hi, it would be nice to pre-fill word on which is cursor when you open the Ultra Find dialog.

    Otherwise very nice extension fulfilling my most important request - distinct file search for linked files. Thanks.

    ReplyDelete
  23. Is there a way to delete a preset?

    ReplyDelete
  24. I would like a way to ignore subfolders. For instance, the include would be \dev\*.cs and all subfolders, but the ignore would be \dev\generated\*.cs.

    ReplyDelete
  25. "Find in files" allows you to specify a list of directory you'd like to search into (not a single path), it allows you to do regexp and wildcard searches.
    It would be nice as said above to be able to exclude a subdirectory or a subdirectory based on a pattern.
    Also it seems the non indexed version (in order to have partial matches) is much faster on "find in files" : is it because ultra find also searches into binary files ?

    ReplyDelete
  26. I agree, a killer feature would be explicitly include / exclude subdirectories preferable based on a pattern. This would make this tool much more useful.
    Exclude Subdirectories
    *.WebDeployment\
    \bin\
    \obj\

    Currently, for solutions including web projects AND a web deployment project, I often get duplicate results.
    Same for assembly documentation *.xml files which are found in all the bin\ directories.

    ReplyDelete
  27. Please add "Current Document" to the "Look In" list. I know there is "All Open Documents" there already (which includes the current document, obviously), but a sometimes I'd like to filter out matches that aren't in the current document (we have a few extremely long code files, where memorizing matches without the help of this tool is close to impossible). Thanks.

    I use this daily. the built-in 2-resultset search functionality didn't cut for me because I often need to browse javascript code through many spaghetti js files, and 2 search results are just not enough. Awesome. Thank you very much.

    ReplyDelete
  28. Visual Studio 2012 Support?

    ReplyDelete
  29. Great add-in. Do you have plans to update this so it works with Visual Studio 2012? If so, when can we expect it?

    ReplyDelete
  30. I have one issue.
    Ultra find is not working with drive other than C:
    I have indexed 'D:\dev' location and the 'C:\Users\Public\Music' location.
    For 'C:\Users\Public\Music' location its displaying "Indexing is available for this path.." however for 'D:\dev' location its displaying "The entered path has not been indexed..."
    I have rebuilt the indexes also reinstall the extension but still facing the issue.
    Btw I am using Windows 7 Enterprise 64 bit machine.

    ReplyDelete
  31. @Jaydeep - Does your D:\dev location show up in the drop down list in Ultra Find (Ultra Find shows all the indexed locations that it recognizes at the bottom of this list in grey color, beneath the separator). This is an interesting problem, since my setup is very similar to your (across multiple drives) yet each one works correctly (also running Windows 7 64-bit) so I don't think these are the causes, but wondering what is.

    @Everyone else who asked about Visual Studio 2012 support. This is indeed coming. I'm currently working on it now and hope to get this out soon. Thanks everyone for your interest in the extension.

    ReplyDelete
  32. @Lugan - It was not showing in Indexed locations. So, I tried once more to rebuilt the indexes and now its working.
    Thanks for fix.

    ReplyDelete