What is SonicFileFinder?
SonicFileFinder is a free add-in for Visual Studio that allows a fast and convenient search for any file within every Project of the loaded Solution by entering the complete filename or just a part of it. The found file(s) can either be edited with a single keystroke or a Windows Explorer / CommandLine prompt can be opened at the file’s location.
The main functionality of SonicFileFinder consists of finding files by name within every Project of the current Solution.
To do that simply enter a filename or a part of a filename into the search box. The list of files will automatically be updated to match the search term. The exclude box can be used to exclude files from the search.
To edit a found file simply select the file in the result list and press Enter, use the Open button or Doubleclick it with your mouse.
SonicFileFinder is able to run in two different display modes:
- As a popup window
- As a dockable tool window
Popup window mode:
Tool window mode:
By sorting the Match column in descending order, you see the best matching result on top of the result list (see Screenshot above).
To keep the file paths shown in the Path column short, the common base path of all files is determined, extracted from the original paths and shown in the column header.
You can use wildcards, use placeholders or search by initials.
Just add a “” before typing a folder name to search for folders in the same way as for files.
Say you have two files with the same file name, but in different folders. For example: file 1: abc/def/MyFile.txt; file 2: abc/ghj/MyFile.txt
You could then type “/de my” or “/a /d MF” or “/abc/def/myfi”, etc. to find file 1.
The * can be used a wildcard character.
When simply typing a search text, that text is looked for anywhere in the file name. It behaves like you have entered *MySearchText*.
To search from the beginning of a file name just enter a search text and place the * afterwards, e.g. MySearchText* to find any file name beginning with MySearchText.
To match the end of a file name, just type the * first and enter the search text afterwards, e.g. *.cs to find any C# file.
You can use the wildcard anywhere in the search text. My*Text would match all files beginning with My and ending with Text.
The ? can be used as a placeholder.
Placeholders can be used to match a specific number of any character in a search text, e.g. My??????Text would match MySearchText, but not MyFirstSearchText.
You can enter multiple search terms separated by SPACE for performing an AND search, e.g. My Text would match MySearchText, but not MyFirstSearch.
Search by initials
This search option could save you some typing for finding files with long file names.
If you are looking for a file named MyFirstClass.cs you can just type MFC and it will match this file name.
Note that you have to type uppercase letters to use this feature. As soon as you begin typing uppercase letters, search by initials becomes active and you will only find files containing those letters.
You can also use wildcards in conjunction with search by initials. Example: There are two files MyFirstClass.cpp and MyFirstClass.cs. Searching for MFCwould match both files, but searching for MFC*p would only match MyFirstClass.cpp.
Each time you perform an action (open, explore, command line) on a found file, the used search and exclusion terms are saved to be used for later searches. The search history is displayed underneath the search/exclusion box and can be navigated using the keyboard or the mouse. This feature can be disabled in the configuration dialog. Note, that the history is hidden by default. It pops up using either a click on the “History” button, oder by using a keyboard shortcut.
SonicFileFinder is completely keyboard controllable.
By pressing the Explore Button, Windows Explorer will be opened at the location of the selected file.
By pressing the Command Line Button, either the standard CommandLine or a PowerShell window will be opened at the location of the selected file.