The previous few builds have been about making the Visual Studio integration more seamless and morphing from being a Visual Studio Add-in to a Visual Studio Package. The whole team is working towards making seamless, dynamic decompilation and automatic ‘Step Into'(F11) code without source a reality.
To help, we came up with the ‘ROB’. For the world outside it’s known as the ‘Reflector Object Browser’. You can now right click on any assembly in the ‘ROB’ to make it debuggable. This generates the .pdb file for that assembly in the cache directory, and enables you to dynamically step into the implementation of an assembly by just hitting F11. Similarly, you can also double-click on any method in the ‘ROB’ to dynamically generate the code for it in Visual Studio.
So, why this new early access build just within a week of the previous early access build? Well, we decided that this sprint would be all about doing some housekeeping tasks which we’ve wanted to do for a long time, but didn’t manage to prioritize earlier. We’ve now managed to fix quite a few bugs around general usability, ‘Go to Definition’ functionality, licensing, and SmartAssembly.
Here is an entire list of what’s new for this EAP:
- ‘Go to Decompiled Definition’
We re-introduced the ‘Go to Decompiled Definition’ right-click menu item in the Visual Studio text editor. It enables you to go to the definition of a type decompiled by Reflector, if there is a conflict with the Visual Studio ‘Go to Definition’ behaviour. For example, right-click on ITypeDescriptorContext, and click ‘Go To Decompiled Definition’:
This takes you to:
- Issues with different versions of the same assembly
There were problems with dynamic code generation for two versions of an assembly being shown in the ‘Reflector Object Browser’. For example, if you have two different versions of mscorlib, you should now be able to inspect the code for each version simultaneously.
- Better ‘Go to Definition’ support
‘Go to Definition'(F12) should now work for many more keywords which weren’t enabled previously, for example the ‘this’ keyword.
- ‘Flatten namespaces’
We fixed the long-lingering bug with the flatten namespaces dialog box. It seemed to appear regardless of whether the flatten namespaces option was turned on, and this is now fixed.
- Usability enhancements
We managed to pull out a list of usability issues from our long-standing pool. We’ve looked at: Activation/Deactivation menu items, inclusion of icons in various places, some messages in the ‘ROB’, and sorting on the ‘Choose Assemblies to Debug’ dialog box (now enabled by version type and Isdecompiled check box in). We also have a modal dialog to let a user know that their methods are being decompiled whenever a request for dynamic decompilation is made.
- SmartAssembly bugs
Last but not the least, we’ve been able to fix few SmartAssembly issues sent in by those of you who tried our previous EA builds. Most of these were around licensing and installation.