The work on getting Reflector working inside Visual Studio is progressing fairly quickly. In the previous EAP, we detoured a little, re-implementing the existing Addin as package (for users of VS2010 onwards) in order to allow us to get tighter integration into Visual Studio.
This has allowed us to work with the F12 shortcut and associated “Go To Definition” command, dynamically decompiling source as needed.
As in previous EAPs, the Reflector Object Browser (ROB) is populated with the assemblies that are referenced by your solution. You can then navigate through these assemblies using the Reflector tree, double-clicking at any time to decompile and display the source in an editor window. For example, here I navigated to AppDomain in the ROB and double-clicked…
I can then place the cursor on the method invocation of PrepareContractedDelegate, and hit F12…
This will dynamically decompile the method (if needed) and display it in an editor window. Binding to the F12 key makes the whole navigation process a lot less fiddly than having to bring up a context menu in order to go to the next piece of decompiled code.
We have plans to push this functionality further after a period of consolidation. You can now chose to make an assembly debuggable (our term for generating an associated pdb file) from three different places.
(1) The original .NET Reflector dialog
(2) The Reflector object browser
(3) And the references of a project
We’ve therefore spent some time updating the progress mechanism that these three entry points use… we didn’t have time to get that finished for the EAP, but there are some good usability designs that we will get implemented in the near future.
Things we didn’t quite finish off in this sprint, and which will be carried across to the next sprint include tidying up the .NET Reflector dialog, and improving the speed of the dynamic decompilation (in particular the time taken when you first select a given assembly). We are hoping to get that next EA in before the Xmas holiday.
Just so you’re aware, if you do choose to use this EAP, you’ll need to manually uninstall any existing EA3 package from Visual Studio, which you can do via Reflector or via the Visual Studio extension Manager. As usual, we are very grateful for feedback, as it us ensure that we stay on the right track.