You don't need to comment out the print function - it could gate its behavior on a comptime-known configuration variable. This would allow you to keep your debug variables in place.
I use this tool myself daily as my main search tool inside MSVC. I built it because I was frustrated with how slow other tools were, and before I built this I would use ag in my console instead.
I've sold one copy, but I solved my own problem so I'm happy!
I've been using https://glogg.bonnefon.org/. The mark / matches feature is really handy. However there are a few bugs with highlighting and it hasn't been updated in a while. Will have to check this out!
I was frustrated with how slow and clunky all the existing solutions were for regex searches. The built in file search in MSVC has a UI that wastes a tonne of space (and the search itself is unuseably slow). Constantly changing to a terminal to run ag/grep and then open the file manually in MSVC was a pain, so I learned how to build an extension and put a GUI onto the command line tools I was already using.
Tools like Visual Assist are great if you want actual symbol indexing, but the searches (of a UE4) codebase can take 30-60s. TurboSearch can run a regex search of the entire engine in ~6s and searches of just the game code take ~200ms.
I have only sold one copy, but I use it every day and it's a core part of my workflow. I thought there would be more interest in it when I built it, but since I've gotten so much use out of it myself, the time spent building it was well worth it.
"This is the story of a clever trick that's been around for at least 35 years, in which array values can be left uninitialized and then read during normal operations, yet the code behaves correctly no matter what garbage is sitting in the array. Like the best programming tricks, this one is the right tool for the job in certain situations. The sleaziness of uninitialized data access is offset by performance improvements: some important operations change from linear to constant time."
The reason I pay for Kagi is that I specifically don't want this to occur.