title |
---|
Rider Plugin Development |
Rider plugins are generally used to expose the functionality of a ReSharper plugin. Rider uses the IntelliJ Platform somewhat differently than other Platform-based based IDEs. Rider uses the IntelliJ Platform to provide the user interface for a C# and .NET IDE but uses ReSharper to provide the language-specific features.
Although there is no dedicated Rider SDK, the ReSharper DevGuide addresses the subject of plugins for Rider.
The documentation describes the configuration of build.gradle
and settings.gradle
files to build a Rider plugin using the Gradle project system in IntelliJ IDEA.
Before starting a new Rider plugin project, review the article Writing plugins for ReSharper and Rider. In particular, this article discusses One Template to Rule Them All, a way to quickly get started writing plugins for both Rider and ReSharper.
More background information is available in the Building a .NET IDE with JetBrains Rider article, which includes a high-level description of the Rider Protocol communication process between Rider and ReSharper. The article is a good counterpoint to the ReSharper DevGuide content, which discusses the protocol at the code level.
When learning new development configurations it is helpful to have some existing plugins for reference. This list is intended to provide some representative projects.
- Unity support for both ReSharper and Rider
- F# support in JetBrains Rider
- AgentMulder
- ConfigureAwaitChecker
- CognitiveComplexity
- CyclomaticComplexity
- Exceptional
- HeapAllocationsViewer
- ImplicitNullability
- InternalsVisibleTo
- PresentationAssistant
- SerializationInspections
- StyleCop
- TestLinker
- Xao
- Azure Toolkit for Rider