Add Rider, product pages

This commit is contained in:
JohnHake 2019-08-19 12:50:10 -07:00
parent 4fd0518f2f
commit 29b07b0ab2
3 changed files with 32 additions and 5 deletions

View File

@ -227,8 +227,13 @@
* Debugger
## Part VIII - Product Specific
* [Compatibility with Multiple Products](basics/getting_started/plugin_compatibility.md)
* [Build Number Ranges](basics/getting_started/build_number_ranges.md)
* [Compatibility with Multiple Products](basics/getting_started/plugin_compatibility.md)
* Android Studio
* AppCode
* CLion
* DataGrip
* GoLand
* [IntelliJ IDEA](products/idea.md)
* [Tomcat Integration](reference_guide/tomcat_integration.md)
* [Spring API](reference_guide/frameworks_and_external_apis/spring_api.md)
@ -237,10 +242,9 @@
* [PHP Open API](products/phpstorm/php_open_api.md)
* [Existing Third Party Plugins](products/phpstorm/existing_plugins.md)
* [PyCharm](products/pycharm.md)
* DataGrip
* Android Studio
* Rider
* [Rider](products/rider.md)
* RubyMine
* WebStorm
## Part IX - Custom IDEs
* Build Your Own IDE

View File

@ -50,11 +50,13 @@ The following IDEs are based on the IntelliJ Platform:
* [MPS](https://www.jetbrains.com/mps/)
* [PhpStorm](https://www.jetbrains.com/phpstorm/)
* [PyCharm](https://www.jetbrains.com/pycharm/)
* [Rider](#rider)
* [RubyMine](https://www.jetbrains.com/ruby/)
* [WebStorm](https://www.jetbrains.com/webstorm/)
* [Android Studio](https://developer.android.com/studio/index.html) IDE from Google.
* [CUBA Studio](https://www.cuba-platform.com/)
#### Rider
JetBrains [Rider](https://www.jetbrains.com/rider/) uses the IntelliJ Platform differently than other IntelliJ based IDEs. It uses the IntelliJ Platform to provide the user interface for a C# and .NET IDE, with the standard IntelliJ editors, tool windows, debugging experience and so on. It also integrates into the standard Find Usages and Search Everywhere UI, and makes use of code completion, syntax highlighting, and so on.
However, Rider doesn't create a full PSI (syntactic and semantic) model for C# files. Instead, it reuses [ReSharper](https://www.jetbrains.com/resharper/) to provide language functionality. All of the C# PSI model and all inspections and code rewriting, such as quick fixes and refactorings are run out of process, in a command line version of ReSharper. This means that creating a plugin for Rider involves two parts - a plugin that lives in the IntelliJ "front end" to show user interface, and a plugin that lives in the ReSharper "back end" to analyze and work with the C# PSI.

21
products/rider.md Normal file
View File

@ -0,0 +1,21 @@
---
title: Rider Plugin Development
---
## Introduction
Rider plugins are generally used to expose the functionality of a ReSharper plugin.
[Rider](https://www.jetbrains.com/rider/) uses the IntelliJ Platform somewhat [differently](/intro/intellij_platform.md#rider) 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.
## IntelliJ IDEA Configuration for Rider Plugin Development
Although there is no dedicated Rider SDK, the [ReSharper DevGuide](https://www.jetbrains.com/help/resharper/sdk/Products/Rider.html) addresses the subject of plugins for Rider.
The documentation describes the [configuration](https://www.jetbrains.com/help/resharper/sdk/Products/Rider.html#plugin-project-jvm) of `build.gradle` and `settings.gradle` files to build a Rider plugin using the [Gradle project system](/tutorials/build_system.md) in IntelliJ IDEA.
## Developing with the Rider API
Before starting a new Rider plugin project, review the article [Writing plugins for ReSharper and Rider](https://blog.jetbrains.com/dotnet/2019/02/14/writing-plugins-resharper-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](https://www.codemag.com/Article/1811091/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.