dotPeek: free .NET decompiler from JetBrains, the makers of ReSharper, dotTrace, and dotCover for .NET developers, as well as a family of IDEs for Java, Ruby, Python, PHP, and other languages, plus team development tools: TeamCity and YouTrack.
dotPeek goes public for the first time on Tuesday, May 10, as JetBrains open an Early Access Program that implies regular publishing of pre-release builds.
JetBrains are also about to include decompiling functionality into their forthcoming release of ReSharper 6. In fact, decompiling has been announced as part of ReSharper 6 back in February 2011, and available in ReSharper 6 pre-release nightly builds since then.
dotPeek decompiles any .NET assemblies to C# code.
The idea behind dotPeek is to bring ReSharper experience to browsing external assemblies and make this available to everyone. That essentially means that the main thing that distinguishes dotPeek from other decompiler around is that the majority of navigation features from ReSharper are available in dotPeek as well. Let's take a closer look at those:
- Context-insensitive navigation (go to symbol/file/type/file member)...
- Context-sensitive navigation (go to declaration/base/inheritor/implementation)..
- Tool windows (File Structure, Type Hierarchy)..
- Navigate between tool windows (from code view to assembly explorer)
Non-navigation features derived from ReSharper:
- Extend/shrink selection
- External Sources (Need confirmation from Ilya is this is allowed to be talked about)
- Find Usages: The ability to see easily all the places where a type is used. This is similar to the Used By in REflector..
- Code Highlighting. Syntax highlighting allowing for easy viewing.
- Familiar icons for Member information. Using the same icons that we are used to in Visual Studio for member identification.
- Same tabbed tool windows as those in ReSharper (different to the actual Tool Windows that exist). Same feel. All tool windows have collapse, expand, filtering and other features available in ReSharper, as well as possibility of tabs.
- Same Extensibility Model that of ReSharper in terms of plug-in development. You can develop plug-ins for dotPeek in the same way you can for ReSharper.
- Ability to open from GAC easily
- Visual Studio look-and-feel tabbed browsing