Searching for files is a recurring part in our work as developers. It might be messing header file, a file containing a function name, a configuration file with a specific string etc.
a recurring scenario for me is cloning a repository from Git and getting this message while trying to compile it: “Cannot open include file: ‘someheader.h’: No such file or directory”
I start to wonder – do I have this file at all? the obvious solution is running a search on the file system. It’s not a terribly long process but still it gets me out of the zone.
Enter Everything Search – one of the pieces of software I install as soon as possible in a new Windows development machine. This little free utility reads the NTFS master file table directly as its starts up. Using the NTFS ready-made index, allows it to be ready for action in an incredibly short time even when there are hundreds of thousands of files. Once the index is read it is updated in real time by getting file system change notification from the OS.
a search such as the one described above, takes as much time as it takes to enter the file name into the search box. The search results just snap into place covering your entire drive(s). You can fix the build without breaking your stride.
this utility is also invaluable when searching for none source files like configuration files and other resource files
Files can be matched by partial name , by regex and other useful criteria, found in the search menu. The list of files can be sorted by clicking on the column header.
While search everything is fast, it will not be able to provide you any information about the content your files.
suppose you are working on a team implementing server/client protocol.
You, on the server side, want to remove a string value declared in a protocol used by both client and server. You are pretty sure nobody is using this value in the client sources, so you can safely remove it. However, being a responsible developer you do a text search over the entire client code – a no brainer albeit discarding task. Now, If you could only Google for the string like you do everything else….
as a matter of fact, you can!
Docfetcher is an open source desktop file indexing utility. It will turn a folder and its subfolders into a searchable index, as files added/removed/modified in the tracked folders the index gets updated automatically. Your text search is completed in a fraction of the time it will take you to do a full-text search on your files.
creating the index is as easy as adding your source root directory to the search scope, by right-clicking on it:
Once you select the directory, you can add more files types to the plain text file list:
Pressing on the (…) button next to the field lets you add additional files extensions available in the folder tree:
You can repeat the process, selecting additional directories – for example any other location where configuration files are stored.
DocFetcher is open source, so yo can assure yourself by examining the utility source code , that sensitive files (like configuration files with database user names and passwords) are not shared behind your back, Like the ill-fated Google Desktop from a while ago
In addition to the rapid plain text search, which I find the most useful , DocFetcher has a search query syntax enabling you to easily query your files content. For example “int number”~5 will find any file where number is up to 5 words apart from int ; so this search will find both of these lines :
While you can easily do both types of searches with a plain vanilla grep, dir or find commands, I often find it more productive to use these tools instead, and use my time for actual development.