I’m very pleased to announce the release of .NET Reflector 7 Beta.
I’ve been holding off for a week or so because I wanted to be able to announce the great news that we’ve acquired the excellent PowerCommands add-in from Jason Haley, and have integrated it directly into .NET Reflector. The amount of time Jason’s invested in PowerCommands really shows, because it provides an extremely powerful set of extensions to the core Reflector functionality. To illustrate, here’s a summary of the complete feature list which Jason provided us:
- Assembly browser treeview
- Import/export assembly lists
- Sort assembly list alphanumerically
- Find what other assemblies reference an assembly
- Open assemblies embedded as resources
- Open items with an external application, e.g.,
- Open code with Notepad
- Open modules with ildasm
- Open zip files
- Run executable assemblies
- Copy assembly path to clipboard
- Open containing folder
- Create desktop shortcut to item using code:// URL
- Open Visual Studio 2005/2008/2010 command prompt in containing folder
- Create assembly binding redirect XML for .config file
- Collapse all nodes in the assembly browser tree
- Toggle assembly browser on/off
- View enumerations and calculate bit flags for those marked with the [Flags] attribute
- Copy decompiled code as HTML, RTF or plain text
- Email decompiled member code
- Export embedded resources (.resources files) as .resx files
- Open resources with Paint
- Open resources as .resx files in Visual Studio
- Bookmarks menu
- Write LINQ queries against loaded assemblies
- Export analyzer tree to text file
- Close all windows
You can find out more about PowerCommands on Jason’s website at http://jasonhaley.com/blog/post/2009/09/07/PowerCommands-for-Reflector.aspx, and I’d highly encourage you to experiment with the functionality it offers. Many of the commands are exposed via the context menu for, e.g., items in the assembly browser treeview.
In addition to this we’ve done some more work on the tabbed decompilation.
- Tabs are reloaded after a refresh.
- Reflector will also remember the tabs you had open the last time you used it – you can switch this off via Tools > Options > Disassembler, if you like. Just uncheck the Save tabs when I close Reflector checkbox – you might want to do this if you habitually have a lot of tabs open because this could obviously slow down Reflector when you start it up, which might become annoying.
- To support this code:// URLs now support namespaces, although the command to copy namespace URLs isn’t yet exposed.
- Middle-click opens a new tab from both the treeview and when navigating around the decompiled source directly – this was by far and away the most common request after the first EA build.
Finally there are the usual raft of bug fixes, many of which we’ve implemented as a result of receivingSmartAssembly error reports. These have often allowed us to pinpoint problems straight away and thus fix them much more easily, which has markedly improved Reflector’s stability in some cases.
That’s all for now. As ever, please report any feedback.
Until next time!