Attached to this blog post is an image of the product Resharper, a refactoring tool for the .NET 3.5 framework and Visual Studio 2008 (not including the backward compatibility).  The image labels three sections that illustrate some of the highlighting.  The first section I’ll discuss is the “Field Highlighting” section.  Notice the green squigglies underneath the field.  These indicate that a refactoring can take place and is highly recommended.  This is a visual cue from resharper.  As I mouse over the tool, Resharper lets me know what the refactoring is, plus provides a light bulb – a way to quickly enable the refactoring.

Resharper also spotted some suggestions for my property; these suggestions are potential refactorings that can be done.  In this case, it’s telling me that I could convert the property to an auto property, where the compiler generates the getter/setter for a property.  This is a suggestion, and is shown using the underline.  Note that every suggestion type can have its severity change, with each severity having a different highlighting mechanism.  More crucial refactorings have a gray background with black text.

Lastly are the class indicators; these indicators appear to the right of the class file scrollbar.  They indicate certain things about the class.  The green indicators state that an exception is being thrown in these places; this isn’t an error condition, but just something to make you aware of.  A yellow condition indicates a potential refactoring, but one that’s not overly critical to the process.  The last color, red, indicates an actual error in the file that results in a compile error when compiled.

Note that all of these settings are configurable in the Resharper options menu.