Reflector Addins and PowerShell Language Support for Reflector
Hopefully if you've been coding .NET for a while, someone has shown you Reflector, Lutz Roeder's .NET Object Browser and you have basked in its glory.
Surprisingly (to me at least) not everyone knows about Reflector's plugin model. There is a vibrant and active community of plugin writers out there, and you won't realize the full power of Reflector until you download some of these are start messing around. Seriously, if you thought that Reflector was useful today, just wait until you've tried some of these add-ins.
PowerShell Language Add-In
The one I've been messing with for the last few weeks is the PowerShell Language Add-in. Reflector can "decompile" (not the correct word) the IL within an assembly and show you the "intent" of that IL in any number of languages like C#, VB, Delphi, etc. Daniel "kzu" Cazzulino has created a PowerShell Language Add-in that, for the most part, shows you what the code would look like in PowerShell.
Now of course, it's important to note a few things. PowerShell is not (yet) a language that you can use to author .NET assemblies with. It is, however, an incredibly powerful scripting and automation environment. Sometimes the Powershell language (it is a language, by the way, with a formal grammar - here's a link (PDF)) can be a little confusing to learn, so the PowerShell Language Add-in is a really cool way to learn more about PowerShell within an environment you're already comfortable in.
Reflector Add-Ins
Here's a reformatted snapshot of what's currently available.
CodeMetrics: Analyses .NET assemblies and shows design quality metrics. Download | Review: Allows editing and managing annotations during code reviews. Download | Diff: This add-in shows differences between two versions of the same assembly. Download |
FileDisassembler: This add-in can be used to dump the disassembler output to files for any Reflector supported language. | SQL2005Browser: This add-in allows to browse .NET assemblies stored in SQL Server 2005 databases. | FileGenerator: This add-in can be used to dump the disassembler output to files for any Reflector supported language. |
Deblector: This add-in allows to debug processes from within Reflector. | Doubler: A code generator for unit tests, stubs and wrappers. | Graph: This add-in draws assembly dependency graphs and IL graphs. Please read the install instructions here. |
DependencyStructureMatrix: Allows you to create and browser dependency structure matrices. | CodeSearch: This add-in allows searching for strings and regular expressions in disassembled code. Download | SequenceViz: This add-in draws sequence diagrams. |
PowerShellLanguage: Renders output as Windows PowerShell script. | DelphiLanguage: The Delphi view that is used inside .NET Reflector provided as a language add-in. | CppCliLanguage: This add-in extends Reflector with a C++/CLI language rendering module. |
Hawkeye: A tool that allows you to debug the UI tree of Windows Forms applications. | ClassView: Shows class definitions as plain text with color coding. |
|
Diff: This add-in shows differences between two versions of the same assembly. Download | ComLoader: Lists COM components for browsing and converts them into managed interop assemblies. Download | TestDriven.net: This Visual Studio add-in can navigate to any code element inside Reflector with a single click. |
BizTalkDisassembler: Allows you to list all BizTalk artifacts contained in an assembly and extract them. Download | ComLoader: Lists COM components for browsing and converts them into managed interop assemblies. Download | AutoDiagrammer: This add-in draws class diagrams. |
About Scott
Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.
About Newsletter
http://weblogs.asp.net/kdente/articles/438539.aspx
http://www.codeplex.com/reflectoraddins/Wiki/View.aspx?title=BamlViewer&referringTitle=Home
Comments are closed.