1.7 dotPeek Plugin Development (R7)

Skip to end of metadata
Go to start of metadata

This page contains preliminary documentation on developing plugins for dotPeek. As dotPeek has not yet been formally released, nor does it have an SDK, this guide should serve the temporary purpose of explaining how to write dotPeek plugins until special measures are introduced to facilitate the process.

dotPeek has a very large overlap with ReSharper in terms of assemblies it uses. As a result, readers of this guide are also advised to consult the rest of the ReSharper Plugin Development Guide for additional information.

The ReSharper SDK can, in fact, be used to develop dotPeek plugins, subject to the following adjustments:

  • References to ReSharper.Plugin.Targets should be removed by editing the project file. Instead, references to the dotPeek binaries (i.e., the DLLs that are found in dotPeek’s installation directory) should be added instead. As a temporary solution, consider creating your own Targets file until one is shipped with the SDK.
  • Debug commands should be adjusted to use the dotPeek executable instead of Visual Studio. Instead of the /ReSharper.Plugin flag, use the /Plugin flag.

At the moment, plugin deployment follows similar patterns to ReSharper plugins. The most direct way of deploying a dotPeek plugin is to simply place it in a \plugins folder under the folder where dotPeek is located.

Speaking of assemblies, most of those that dotPeek uses are taken from ReSharper. dotPeek’s only ‘own’ assembly, JetBrains.DotPeek.Common is of little relevance to plugin developers. Decompilation, which is dotPeek’s central feature, is kept in JetBrains.Decompiler.Core.dll.