Most developers, in their never-ending quest for order, seem to spend a lot of time refactoring code. Visual Studio 2008 has a number of functions that take care of common refactoring tasks but they cover only files that are included in projects and work best against source code. While working on the Optimizer project, I recently refactored some code and in the process, changed the name of some tags in our settings files. Some of these files are referenced by our projects but others are deployed elsewhere. I could hunt them all down and change them manually, or I could use a tool to do it for me. My first thought was to use Windows XP search but for whatever reason, it never seems to find all of the files I'm interested in and only has a search feature, not search and replace. In that regard, I thought the Windows 2000 search function was much better. It always seemed to find what I am looking for.

I ran across a useful utility that does search and replace really well called Windows Grep. It has the usual search options including search using regular expressions, whole word matching and interestingly, also has a Soundex search which will locate all the documents that contain words that sound like a given word. It also has a replace feature that will make a backup copy of changed files, saving you some grief if your global search and replace goes a little too global.

Admittedly, finding the tool took almost as long as manually changing all of my settings files, but looking for the tool and learning how to use it was a whole lot more fun.