I think we're a ways from this, but I wonder if would be possible to build history into usage and navigation. Now, IDEA very slickly lets us navigate and search usages across a single snapshot of the code (that which is currently in your working diretory). But wouldn't it be cool if it could search through time as well, pulling up old revisions from the VCS that matched the query.
Several times I've found myself deep into refactoring code, and something has broken. When I try and compare the current state of the code to how the code started out, to figure out how I broke something, it's sometimes very tricky, because I've moved classes around, broken up classes, renamed methods, etc. What I sometimes end up doing is checking out a fresh copy from cvs, open that project in a new frame, and looking there.
It'd be really ultra cool to navigate to class names and symbols even if they aren't in the working copy anymore. To browse to any file that every was checked in. And to navigate to any version of that file.
And once I've got that version, be able to search usages based on a snapshot of the repository at that time.
Admittedly, this would require a pretty massive index and a massive, one time analysis of the repository history to build the usages index. But I think it would be technically feasible. Are there products that do this? I know several VCS offer text searches on the entire history.