I previously wrote a PowerShell TODO extractor, that blasts through an entire source hierarchy looking for TODOs, and reports them to the console, complete with a few lines of context either side so you can tell what you’re looking at. It was like, 20 lines of code.
Well blow me if v2 just doesn’t do it out of the box:
PS > dir . -filter:*.cs -recurse | select-string "\sTODO\s" -context:4 -CaseSensitive