FastFind is a Visual Studio plugin that allows you to instantly find text in any solution file. FastFind's advanced pattern matching allows it to auto-update as you type, showing anything relevant, allowing you to jump instantly to the code.
FastFind also includes a fast jump to/from header files.
FastFind speeds up navigating around large projects.
Read more about FastFind and other PureDev Software products at www.puredevsoftware.com
KeyBindings
Alt+S | Open FastFind |
Alt+D | Open FastFind (docked) |
Alt+O | Toggle C++ Source/Header |
You can change the key binding by going into the Visual Studio Tools Menu -> Options.
Select Environment -> General -> Keyboard. Type 'FastFind' into the 'Show Commands Containing..."
box.". You can then assign FastFind to whatever key that you wish.
Features
Find in Solution
Start typing in the FastFind text box to find all files, solution and text in files that matches the string.
example: MyVariable
example: MyClass
example: MyComponent*
example: ::FunctionName(*,*)
example: MyFile.cpp
example: MySolution.sln
example: pretty much anything...instantly
Open Files From Disk
Start typing a file system path and auto-complete with tab
example: d:\MyProject\somefile...
Opening a solution file:
Open a solution file: start typing the name of the solution, use the up/down cursor keys to select
the solution, hit enter to open file solution.
example: MySolution.sln
example: .sln to list all solutions
Wildcards:
All searches support the wildcard character *
example: My*Variable will match all variables that start with My and end with Variable
Space wildcard:
For file searches, space acts as a wildcard.
example: My File.cpp will match all files that start with My and end with File.cpp
Logical expressions:
You can use the logical operators AND and OR and AND NOT
example: apples AND oranges will match lines that have the words apples and oranges in (in any order).
example: apples OR oranges
example: apples OR oranges AND NOT bananas
WORD operator
End your search with WORD to match only full words.
example: my_variable WORD will match my_variable but not my_variable_1
CASE operator
End your search with CASE perform a case sensitive match.
example: MyVariable CASE will match all lines that contain MyVariable (casesensitive)
IN operator
Find text in files that match the path pattern
example: SomeText IN CoreLib Finds 'SomeText' in all files whose path contains CoreLib, eg Solution\Libs\CoreLib\MyFile.cpp
example: SomeText IN .cpp Finds 'SomeText' in all files whose path matches the wildcard. Example: MyThing IN MyFolder\*.h
NOT IN operator
Find text in files that do not match the path pattern
example: SomeText NOT IN CoreLib Finds 'SomeText' in all files whose path doesn't contains CoreLib
example: SomeText NOT IN My*Lib Finds 'SomeText' in all files whose path does not match the wildcard *My*Lib*
DEF operator
Attempt to find a class definition
example: MyClass DEF expands "MyClass DEF" to "class MyClass AND NOT ; CASE WORD"
Keyboard Shortcuts
These can be changed in the Visual Studio Key bindings
Alt-Shift-O | Open or Activate FastFind (modal) |
Alt-Shift-P | Open or Activate FastFind (docked) |
Alt-O | Toggle C++ source/header |
FastFind control keys
Alt-Down | - Show history dropdown |
Down | - Show history dropdown (if text box empty) |
Alt-C | - Toggle match case |
Alt-W | - Toggle match word |
Ctrl-Backspace | - Delete to start of current word |
Ctrl-Home/End | - Select first/last match |
Tab | - auto-complete when entering path |
Escape | - close modal FastFind window |
General Notes
The first time you open a solution it might take a while to scan all of the source files. This will only happen the first time the solution is opened.
To open the settings int he fastfind window click on the cog to the right. Click again to close.
Pressing down in the text box when it is empty will show you old searches.
FastFind automatcally adds an implicit * wildcard to the start and end of the search string (eg *MyVariable*, so there is never any need to add your own.
FastFind will only scan files whos extensions match those that are set in the settings.
If you add a new extension in the fastfind window that is not in the settings it will be automatically added to the settings and the solution will the re-scanned.
FastFind will only show solution files that have already been opened normally. When you open a solution fastfind will remember it and show it in the search results.