Search is pervasive in software development. Yet, most IDEs treat it somewhat as a side issue. As a consequence, you get multiple different search interfaces within the same environment, each of them being limited to a specific search, and not being composable with other search intefaces. http://www.humane-assessment.com/blog/introducing-gtspotter/
Squeak has a smart search tool (implemented as SearchBar) in the menu bar. You may adapt it to your particular search needs as well by changing the method #smartSearch:in:.
See Vivide for a moldable environment based on Squeak.