Find Symbol/Find in Files/ Quick Replace

rbulph

Junior Contributor
Joined
Feb 17, 2003
Messages
397
Is it just me or is the naming of the different file options completely bizarre? You can do: Find Symbol which means find the text in the specified places and give a clickable list of all occurences, Find in Files which means find the text in the specified places and give a text style summary of where it has been found, and Quick Find which means find the text in the specified files by going to each occurrence in turn.

Quick Find is the slowest, Find Symbol has nothing to do with symbols and all three methods find occurrences in files, not just Find in Files. The difference between the methods is in the output and not in any of the things that their names would suggest. Isn't this just stupid?
 
Seems to me that "Find in Files" is the basic search, which searches multiple files and gives you a report of the findings. "Quick Find" is "quick" in that there are no intermediate dialogs or reports (yes it searches multiple files, but that is not the feature's highlight). You are taken directly to the results. "Find Symbols" finds programmatic "symbols" (not in code files, but rather in program libraries). Think of "symbol" as a synonym for "identifier."
 
What's the hotkey for quick find? I pressed it accidentially the other day, I had never seen it before, and I didn't know what it was called. It looks a lot like "leap" functionality which is awesome for navigating a document.
 
OK, "Quick Find" is alright. But I still think "Find in Files" is a confusing name. It should be named to reflect the style of its output, not where it searches, since the former is how it differs from Quick Find.

And the idea of finding "symbols" is new to me. Would I be right in thinking the idea is so that you can find variable or procedure names so as to avoid conflict between them when naming a new one?
 
If you don't remember which class has a specific function in it, you can search for that function name. If you want to know if there are any classes or functions that can do an MD5 hash, you could search for "MD5." If you want to ensure that your indentifier is unique, sure, you could do a search first to make sure. If you forget which file you put some code in, you can do a search for a function or class that you know to be in that code. There is no one specific reason to search for symbols.
 
"Quick find" isn't what I thought it was. I found some combination of keys that caused search to work sort of like firefox searching. The cursor turned into binoculars and as I typed, it searched through the document a la "leap". I assumed that was "quick find" based on my misunderstanding of marble's description but this turns out to not be the case.:o "Quick find" is the standard, basic ctrl+f search. This thing I found was different -- there was no dialog box.

Any ideas on what that kind of search is? I can't seem to be able to figure it out again. :confused:

edit: I was using search and find interchangeably, as synonyms. I've swapped out search with find to use more consistent language with you guys.
 
Last edited:
mskeel said:
"Quick find" isn't what I thought it was. I found some combination of keys that caused search to work sort of like firefox searching. The cursor turned into binoculars and as I typed, it searched through the document a la "leap". I assumed that was "quick search" based on my misunderstanding of marble's description but this turns out to not be the case.:o Quick search is the standard, basic ctrl+f search. This thing I found was different -- there was no dialog box.

Any ideas on what that kind of search is? I can't seem to be able to figure it out again. :confused:
Ctrl + F is "Quick Find" on the version I have. I don't have anything called "Quick Search". If there's a Firefox like search tool you'd better figure out exactly how you got it and let us know!
 
Here's a rundown of the "find's" that I know about. You can find more (pardon the pun?) by using Tools->Options->Environment->Keyboard and entering "find" in the box labeled "Show commands containing:".

Ctrl-F - Quick Find - the standard find. It can search in the current file, selected text only, current project or whole solution with lots of other options (Wildcard, Regular Expressions, etc.)
Ctrl-Shift-F - Find in Files. This does a little more than the Quick Find as it searches ALL files, even those not included in the project. You can't really do that with the Quick Find.
Ctrl-F3 - Find (whatever is under cursor). This is like highlighting a word/symbol and pressing Ctrl-F and then Enter. In other words, if I highlight a variable named "counter" then press Ctrl-F3 will jump to the next occurrence of "counter".
Ctrl-I - incremental search. This is what mskeel saw. You press Ctrl-I and start typing and it finds the next match based on what you typed.
F12 - Go to definition. Jumps to the code (or object browser) where the variable is declared. If you have a method call highlighted, it jumps to the defintion of the function.
Shift-F12 - Go to first reference. Like F12 only it goes the other way. Highlight a method name where it's declared and press Shift-F12 to take you to the first call to that function.
Shift-Alt-F12 - Find Symbols. If you highlight a variable or Class name and press Find Symbols, you'll get a listing of all occurrences of that name. It's like pressing F12 on steroids. Output goes to a toolbar window.

As with any "toolbar" window (not sure of the official name), you can press F8 to cycle through all matches. That works with the Find Symbols results (from above), Find in Files results, as well as things like the Error List window (if you have any build errors).

There are a few other "find" items that I don't know anything about, such as "Edit->BriefFind" and "Edit->FindAllReferences".

I didn't list the more common ones like F3 and Shift-F3, which most people know about.

-ner
 
Ctrl + I....man. I have no idea how I hit that. I could have sworn it was an accident with my left hand. That's cool, though. There is almost no reason to use a mouse for navigating a document now. I don't know if any of you have messed with the alternative UI, Archy, but the "leap" command is one of the core navigation elements in that system. Ever since I've tried out one of their earlier alpha builds I've really longed for leap in other applications. Little did I know it was there the entire time, I just didn't know it.

CTRL + I for leap
CTRL + I for leap again
Shift + CTRL + I for leap back...very cool.

Thanks, Nerseus. You've itched a scratch and kept me sane..
 
Back
Top