For all features described below, default keyboard shortcuts are specified. By default, dotPeek uses the IntelliJ IDEA Visual Studio shortcut scheme derived from ReSharper. dotPeek also provides another shortcut scheme familiar to ReSharper users - that is, the Visual Studio shortcut IntelliJ IDEA scheme. You can switch between those schemes via File > Options.
Another noticeable ReSharper-like feature gets handy when you want to select a part of decompiled code, and is called Extend/Shrink Selection. Using a dedicated shortcut (by default, Ctrl+W) lets you successively select expanding blocks of code, starting from a substring of a symbol, on to a statement, line, code block, and all the way to the entire code file. A pair shortcut (Ctrl+Shift+W) works the opposite way, successively narrowing a selection. Read more about this functionality as it is implemented in ReSharper.
Extend/Shrink Selection may be broken in early EAP builds.
When you explore decompiled code, you may be willing to learn more about referenced types and method calls without opening their declarations. Two coding assistance features from ReSharper will help you with that:
As soon as you've opened a specific type, use Navigate > Go to File Member for a quick overview of and navigation to members in this file.
Alternatively, you can open the File Structure tool window (Windows > File Structure, or Ctrl+F11) for a static display of members in the current file.
File Structure provides additional file browsing capabilities: for example, if you set Automatically scroll to source in File Structure toolbar, every time you select a member in File Structure, the code view area scrolls to the declaration of this member.
The Track caret in editor option works the opposite way: as you move the caret within the code view area, the corresponding member is highlighted in File Structure.
You can learn more about File Structure options in ReSharper web help.
Navigating to a Code File or Assembly
dotPeek also provides Go to File (Navigate > Go to File or Ctrl+Shift+N) to quickly open files and folders. However, it is limited to temporary files from dotPeek decompiled code cache, so you , and assemblies. There are two use cases for this feature:
- You can navigate to a specific loaded assembly that gets highlighted in the Assembly Explorer.
- You can use it as an extended tab switcher that not only works with currently opened code files but also takes into account any tabs that you've opened during the current dotPeek session.
Speaking of previously opened files, if you've recently closed a code file but you need to have it open again, there's an easy way to have it back: just choose Navigate > Recent Files (Ctrl+E) and in the resulting drop-down list, pick the file you're looking for: