We are interested in monitoring the usage of refactoring tools in Visual Studio 2010. This is for a user study to investigate how users use refactoring tools and how we can improve their user interface (how to invoke, improve warning messages, etc). We have developed a version for the Java tools in Eclipse (http://codingspectator.github.com/) and we are interested in creating a version of Visual Studio to see how developers refactor in this IDE for C#.
We have asked a similar question (http://social.msdn.microsoft.com/Forums/en/vsx/thread/91d6b18a-19c3-49b4-a468-4e990cc9ba80) on the Visual Studio Extensibility forum and have a better idea of the current limitations of directly using the Visual Studio SDK for our task. Moreover, by default Visual Studio only has 6 refactorings for C#. We are interested in whether the ReSharper Open API might be a better way to approach this: more refactorings and also perhaps a more established framework for monitoring and logging.
Our specific question: is it possible to hook into the refactoring process through Open API? For instance, we would like to know when a refactoring has been invoked, what element (method, field, class, etc) was it invoked on, what were the parameters that the user specified in the refactoring dialog, and whether the refactoring has any warnings or errors.