Ack is great, but watch out if you have any source files with unusual file name extensions. Ack will only search file types it knows about. Also if you have your whole source tree in your editor or IDE, then you may as well search there instead.
The manual explains: "This is done with command line options that are best put into an .ackrc file - then you do not have to define your types over and over again." Then comprehensively describes options for both command line and .ackrc.
[0] http://beyondgrep.com/documentation/ack-2.12-man.html#faq
[1] http://beyondgrep.com/documentation/ack-2.12-man.html#defini...