Visual Studio 2010 (up to version 4.3)
Visual Studio 2012
Visual Studio 2013
Visual Studio 2015
Visual Studio 2017
Visual Studio 2019
FastFind - find anything
in an instant.
|Alt+Shift+F||Open FastFind (docked)|
|Alt+O||Toggle C++ Source/Header|
Find in Solution
Start typing in the FastFind text box to find all files, solution and text in files that matches the string.
example: pretty much anything...instantly
Open Files From Disk
Start typing a file system path and auto-complete with tab
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 the solution.
example: .sln to list all solutions
All searches support the wildcard character *
example: My*Variable will match all variables that start with My and end with Variable
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
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
End your search with WORD to match only full words.
example: my_variable WORD will match my_variable but not my_variable_1
End your search with CASE perform a case sensitive match.
example: MyVariable CASE will match all lines that contain MyVariable (casesensitive)
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
example: SomeText IN file1.cpp,file2.cpp Finds 'SomeText' in file1.cpp and file2.cpp
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*
Attempt to find a class definition
example: MyClass DEF expands "MyClass DEF" to "class MyClass AND NOT ; CASE WORD"
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|
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.