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.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.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.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.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.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. |
|
| `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>
|
</tab>
|
||||||
</tabs>
|
</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
|
## 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.
|
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).
|
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.
|
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>
|
<tabs>
|
||||||
<tab title="Kotlin">
|
<tab title="Kotlin">
|
||||||
@ -24,6 +25,9 @@ Starting with 2020.2, it's possible to configure `GO` for `intellij.type` in the
|
|||||||
intellij {
|
intellij {
|
||||||
version.set("2020.3")
|
version.set("2020.3")
|
||||||
type.set("GO")
|
type.set("GO")
|
||||||
|
|
||||||
|
// required if Go language API is needed:
|
||||||
|
plugins.set(listOf("org.jetbrains.plugins.go"))
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -34,13 +38,15 @@ intellij {
|
|||||||
intellij {
|
intellij {
|
||||||
version = '2020.3'
|
version = '2020.3'
|
||||||
type = 'GO'
|
type = 'GO'
|
||||||
|
|
||||||
|
// required if Go language API is needed:
|
||||||
|
plugins = ['org.jetbrains.plugins.go']
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
</tab>
|
</tab>
|
||||||
</tabs>
|
</tabs>
|
||||||
|
|
||||||
|
|
||||||
</tab>
|
</tab>
|
||||||
|
|
||||||
<tab title="Using Plugin">
|
<tab title="Using Plugin">
|
||||||
@ -65,34 +71,12 @@ Select a [version](https://plugins.jetbrains.com/plugin/9568-go/versions) of the
|
|||||||
|
|
||||||
</tabs>
|
</tabs>
|
||||||
|
|
||||||
The dependency on the Go plugin APIs must be declared in the <path>[plugin.xml](plugin_configuration_file.md)</path> file.
|
### Plugin and Module Dependencies
|
||||||
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:
|
|
||||||
|
|
||||||
|
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:
|
||||||
<tabs>
|
* `com.intellij.modules.platform` - Always required. See [Configuring the plugin.xml File](dev_alternate_products.md#configuring-pluginxml) for details.
|
||||||
<tab title="2020.2 and later">
|
* `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.
|
||||||
```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>
|
|
||||||
|
|
||||||
### Targeting IDEs Other Than GoLand
|
### 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.
|
* `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.
|
Note that the Go plugin doesn't have to be actually installed when this module is present.
|
||||||
|
|
||||||
|
|
||||||
## Available GoLand APIs
|
## Available GoLand APIs
|
||||||
|
|
||||||
> See [](goland_extension_point_list.md) for the complete list.
|
> See [](goland_extension_point_list.md) for the complete list.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user