mirror of
https://github.com/JetBrains/intellij-sdk-code-samples.git
synced 2025-07-28 01:07:49 +08:00
plugin_compatibility.md, goland.md: Fix the Go-specific plugin dependencies information
This commit is contained in:
parent
50f25ecaed
commit
9849b94ef8
@ -80,7 +80,7 @@ The following table lists **(1)** modules or built-in plugins that provide speci
|
||||
| `com.intellij.modules.clion` or `com.intellij.clion`<br/>See **(3)** below. | CMake, Profiler, Embedded Development, Remote Development, Remote Debug, Disassembly | CLion |
|
||||
| `com.intellij.cidr.base` | Native Debugger Integration, Utility Classes, C/C++ Project Model/Workspace Support (OCWorkspace, CidrWorkspace, etc.), C/C++ Build and Run Support | AppCode, CLion |
|
||||
| `com.intellij.database` | **Database Tools and SQL** language PSI Model, Inspections, Completion, Refactoring, Queries | DataGrip, IntelliJ IDEA Ultimate, AppCode, PhpStorm, PyCharm Professional, RubyMine, CLion, GoLand, Rider, and WebStorm if the Database Tools and SQL plugin is installed. |
|
||||
| `com.intellij.modules.goland` or `com.intellij.modules.go`<br/>See **(4)** below. | **Go** language PSI Model, Inspections, Intentions, Completion, Refactoring, Test Framework | GoLand |
|
||||
| `org.jetbrains.plugins.go` | **Go** language PSI Model, Inspections, Intentions, Completion, Refactoring, Test Framework | GoLand |
|
||||
| `com.intellij.modules.python` | **Python** language PSI Model, Inspections, Intentions, Completion, Refactoring, Test Framework | PyCharm, and other products if the Python plugin is installed. |
|
||||
| `com.intellij.modules.rider` | Connection to **ReSharper** Process in Background | Rider |
|
||||
| `com.intellij.modules.ruby` | **Ruby** language PSI Model, Inspections, Intentions, Completion, Refactoring, Test Framework | RubyMine, and IntelliJ IDEA Ultimate if the Ruby plugin is installed. |
|
||||
@ -216,10 +216,6 @@ Consequently, [dependencies](plugin_dependencies.md) on AppCode and CLion functi
|
||||
</tab>
|
||||
</tabs>
|
||||
|
||||
**(4)** The `com.intellij.modules.go` module name is deprecated starting with the 2020.2 release. Use it only if your plugin targets versions older than 2020.2.
|
||||
When targeting versions 2020.2 and newer, use `com.intellij.modules.goland`.
|
||||
See [](goland.md) section for information about depending on the Go functionalities in IDEs other than GoLand.
|
||||
|
||||
## Exploring Module and Plugin APIs
|
||||
|
||||
Once the [dependency on a module or plugin](plugin_dependencies.md) is declared in <path>plugin.xml</path>, it's useful to explore the packages and classes available in that dependency.
|
||||
|
@ -16,6 +16,7 @@ Plugin projects for GoLand can be developed using IntelliJ IDEA with the [](tool
|
||||
The configuration of targeting GoLand IDE follows the methods described in [Configuring Plugin Projects Using a Product-Specific Attribute](dev_alternate_products.md#configuring-plugin-projects-using-a-product-specific-attribute).
|
||||
|
||||
Starting with 2020.2, it's possible to configure `GO` for `intellij.type` in the Gradle build script.
|
||||
If you need to use Go language APIs, specifying the `GO` platform type is not enough - it is required to add a dependency to the `org.jetbrains.plugins.go` plugin.
|
||||
|
||||
<tabs>
|
||||
<tab title="Kotlin">
|
||||
@ -24,6 +25,9 @@ Starting with 2020.2, it's possible to configure `GO` for `intellij.type` in the
|
||||
intellij {
|
||||
version.set("2020.3")
|
||||
type.set("GO")
|
||||
|
||||
// required if Go language API is needed:
|
||||
plugins.set(listOf("org.jetbrains.plugins.go"))
|
||||
}
|
||||
```
|
||||
|
||||
@ -34,13 +38,15 @@ intellij {
|
||||
intellij {
|
||||
version = '2020.3'
|
||||
type = 'GO'
|
||||
|
||||
// required if Go language API is needed:
|
||||
plugins = ['org.jetbrains.plugins.go']
|
||||
}
|
||||
```
|
||||
|
||||
</tab>
|
||||
</tabs>
|
||||
|
||||
|
||||
</tab>
|
||||
|
||||
<tab title="Using Plugin">
|
||||
@ -65,34 +71,12 @@ Select a [version](https://plugins.jetbrains.com/plugin/9568-go/versions) of the
|
||||
|
||||
</tabs>
|
||||
|
||||
The dependency on the Go plugin APIs must be declared in the <path>[plugin.xml](plugin_configuration_file.md)</path> file.
|
||||
As described in [Modules Specific to Functionality](plugin_compatibility.md#modules-specific-to-functionality) table, the [`<depends>`](plugin_configuration_file.md#idea-plugin__depends) tags must declare `com.intellij.modules.goland`.
|
||||
The <path>plugin.xml</path> file must also declare a dependency on `com.intellij.modules.platform` as explained in [Configuring the plugin.xml File](dev_alternate_products.md#configuring-pluginxml).
|
||||
The dependency declaration is illustrated in the <path>plugin.xml</path> snippet below:
|
||||
### Plugin and Module Dependencies
|
||||
|
||||
|
||||
<tabs>
|
||||
<tab title="2020.2 and later">
|
||||
|
||||
```xml
|
||||
<!-- Requires the GoLand module -->
|
||||
<depends>com.intellij.modules.goland</depends>
|
||||
<!-- Requires the platform module to distinguish it from a legacy plugin -->
|
||||
<depends>com.intellij.modules.platform</depends>
|
||||
```
|
||||
|
||||
</tab>
|
||||
<tab title="Pre-2020.2">
|
||||
|
||||
```xml
|
||||
<!-- Requires the Go module -->
|
||||
<depends>com.intellij.modules.go</depends>
|
||||
<!-- Requires the platform module to distinguish it from a legacy plugin -->
|
||||
<depends>com.intellij.modules.platform</depends>
|
||||
```
|
||||
|
||||
</tab>
|
||||
</tabs>
|
||||
Depending on plugin's requirements, the following [`<depends>`](plugin_configuration_file.md#idea-plugin__depends) entries are needed in the <path>plugin.xml</path> file:
|
||||
* `com.intellij.modules.platform` - Always required. See [Configuring the plugin.xml File](dev_alternate_products.md#configuring-pluginxml) for details.
|
||||
* `org.jetbrains.plugins.go` - Required if the Go plugin APIs are used in the plugin.
|
||||
* `com.intellij.modules.goland` (2020.2+) or `com.intellij.modules.go` (pre-2020.2) - Required if the plugin targets GoLand IDE only. The plugin will not be loaded in other IDEs, even if the Go plugin is present.
|
||||
|
||||
### Targeting IDEs Other Than GoLand
|
||||
|
||||
@ -103,7 +87,6 @@ To make the plugin compatible with GoLand and other IDEs supporting the Go langu
|
||||
* `com.intellij.modules.go-capable` - The plugin will be loaded in IDEs that are capable of installing the Go plugin.
|
||||
Note that the Go plugin doesn't have to be actually installed when this module is present.
|
||||
|
||||
|
||||
## Available GoLand APIs
|
||||
|
||||
> See [](goland_extension_point_list.md) for the complete list.
|
||||
|
Loading…
x
Reference in New Issue
Block a user