mirror of
https://github.com/JetBrains/intellij-sdk-code-samples.git
synced 2025-07-30 18:27:49 +08:00
Add RubyMine page
This commit is contained in:
parent
d59e0e9e97
commit
afb6c98244
@ -244,7 +244,7 @@
|
||||
* [Existing Third Party Plugins](products/phpstorm/existing_plugins.md)
|
||||
* [PyCharm](products/pycharm.md)
|
||||
* [Rider](products/rider.md)
|
||||
* RubyMine
|
||||
* [RubyMine](products/rubymine.md)
|
||||
* WebStorm
|
||||
|
||||
## Part IX - Custom IDEs
|
||||
|
42
products/rubymine.md
Normal file
42
products/rubymine.md
Normal file
@ -0,0 +1,42 @@
|
||||
---
|
||||
title: RubyMine Plugin Development
|
||||
---
|
||||
|
||||
## Introduction
|
||||
RubyMine is an IntelliJ Platform-based product.
|
||||
Plugin projects for RubyMine can be developed using IntelliJ IDEA with the `gradle-intellij-plugin`.
|
||||
|
||||
## Configuring Plugin Projects Targeting RubyMine
|
||||
The configuration of RubyMine plugin projects follows the methods described in [Configuring Plugin Projects using the IntelliJ IDEA Product Attribute](dev_alternate_products.md#configuring-plugin-projects-using-the-intellij-idea-product-attribute), and [Configuring the plugin.xml File](dev_alternate_products.md#configuring-pluginxml).
|
||||
|
||||
The table below summarizes the `gradle-intellij-plugin` attributes to set in the `build.gradle` file for a RubyMine plugin project:
|
||||
|
||||
| `gradle-intellij-plugin` Attribute | <br>Attribute Value |
|
||||
|-----------|-------|
|
||||
| [`intellij.type`](https://github.com/JetBrains/gradle-intellij-plugin/blob/master/README.md#intellij-platform-properties) | `IU` for IntelliJ IDEA Ultimate. |
|
||||
| [`intellij.version`](https://github.com/JetBrains/gradle-intellij-plugin/blob/master/README.md#intellij-platform-properties) | Set to the same `IU` BRANCH.BUILD as the RubyMine target version, e.g. `192.7142.36` |
|
||||
| [`intellij.plugins`](https://github.com/JetBrains/gradle-intellij-plugin/blob/master/README.md#intellij-platform-properties) | `org.jetbrains.plugins.ruby:2019.2.20191029` for the Ruby plugin.<br>See below for Ruby plugin version information. |
|
||||
| [`runIde.ideaDirectory`](https://github.com/JetBrains/gradle-intellij-plugin/blob/master/README.md#running-dsl) | Path to locally installed target version of RubyMine. For example, on macOS:<br>`/Users/<user name>/Library/Application Support/JetBrains/Toolbox/apps/RubyMine/ch-0/192.7142.37/RubyMine.app/Contents` |
|
||||
|
||||
The required `org.jetbrains.plugins.go` plugin isn't compatible with IntelliJ IDEA Community edition but is compatible with IntelliJ IDEA Ultimate (`IU`) edition.
|
||||
Product compatibility is determined from the Ruby plugin [version page](https://plugins.jetbrains.com/plugin/1293-ruby/versions).
|
||||
The Ruby plugin isn't bundled with `IU`, so the Ruby plugin version must be explicitly declared to support the target RubyMine (and `IU`) BRANCH.BUILD version.
|
||||
The correct Ruby plugin version is also determined from the Ruby plugin version page.
|
||||
|
||||
The dependency on the Ruby plugin APIs must be declared in the `plugin.xml` file.
|
||||
As described in [Modules Specific to Functionality](/basics/getting_started/plugin_compatibility.md#modules-specific-to-functionality) table, the `<depends>` elements must contain `com.intellij.modules.ruby`.
|
||||
The dependency declaration is illustrated in the `plugin.xml` snippet below:
|
||||
```xml
|
||||
<!-- Requires the Ruby plugin -->
|
||||
<depends>com.intellij.modules.ruby</depends>
|
||||
```
|
||||
|
||||
## Available RubyMine APIs
|
||||
Use the [Exploring APIs as a Consumer](/basics/getting_started/plugin_compatibility.html#exploring-apis-as-a-consumer) process to identify the library `ruby.jar`.
|
||||
Test your plugin with any version of RubyMine you intend to support.
|
||||
|
||||
## Open Source Plugins for RubyMine
|
||||
When learning new APIs, it is helpful to have some representative projects for reference:
|
||||
* [Ruby-Doc-Adder](https://github.com/aristotll/RubyDocAdder)
|
||||
* [Ruby Dynamic Code Insight](https://github.com/JetBrains/ruby-type-inference)
|
||||
* [Railways](https://github.com/basgren/railways)
|
Loading…
x
Reference in New Issue
Block a user