You can also load entire folders in the Assembly Explorer by choosing File > Explore Folder. When you ask dotPeek to explore a folder, it processes all its subfolders in hunt for files that it is able to decompile, and displays the folder's hierarchy in the Assembly Explorer.
Make sure to select Since dotPeek processes a selected folder recuresively, make sure to act wise selecting one. You wouldn't really want to explore the entire Program Files folder since it would take a really long time to load all assemblies that it contains in dotPeek.
Assemblies from Global Assembly Cache can be opened via File > Open from GAC. One thing to note about the Open from GAC dialog is that you can batch-select assembly items there, and you can also filter out assemblies by entering their CamelHumps - the capitals that different parts of assembly names start with. For example, to find all assemblies with names containing Microsoft.VisualStudio.Modeling in the list of GAC assemblies, you can type mvsm:
- Edit > Parameter Information (Ctrl+P) on a method call will display all available signatures of a given method.
- Edit > Show Quick Documentation (Ctrl+Shift+F1) on a usage of a type, method, property, or another type member will display an overview of its documentation comments:
Using the Show compiler-generated code switch on the dotPeek toolbar, you can choose to turn off certain compiler transformations, thus making code structure that dotPeek displays very similar to what the compiler turns it to. This helps see how compiler deals with lambdas, closures, and auto-properties, among other things.
Navigation and Search
The primary idea behind dotPeek is to bring ReSharper experience to browsing external assemblies and make this available to everyone. The main thing that distinguishes dotPeek from other decompilers around is that the majority of ReSharper navigation features are available in dotPeek as well. Let's take a closer look at those: