Ok.  As promised, here's a picture of the feature in action:


So here's a bit of code of mine.  It's specific purpose is to convert a Generalized Nondeterministic Finite Automata into a Regular Expression.  Now, this code is basically a port of an algorithm in the book Introduction to the Theory of Computation by Sipser.  As such i've tried to keep the names and structure very similar to his so that it's easy to refer back to the text and understand what's going on.  Unfortuantely, in the algorithm dummy mathematical throw-away variables (like Qi and Qj) are used, and when you translate that to code you tend to find it difficult to distinguish individual variables in the density of the surrounding code.  

However, with this feature it suddendly becomes a lot easier.  You simply place your identifier on the variable in question and very quickly afterwords two things happen.  The first is that the variable you are on gets surrounded by a small dotted rectangle.  This allows you to distinguish what the declaration is and what the references are very easily and it also helps a user understand what's going on the first time this appears (in case they just moved their cursor to a location while navigating around and are suddenly alarmed by the highlights that pop up).  The second is that all references to that variable show up highlighted in your source.  Now i can very simply scan the code and ensure that i'm using this variable properly.  Without this feature i would most likely get confused between qi and qj as i flipped back and forth from the code to the algorithm.

Now that you've seen it, is there anything you would like changed about it?  Or do you think the feature as is would be a useful thing?