diff --git a/topics/basics/getting_started/plugin_compatibility.md b/topics/basics/getting_started/plugin_compatibility.md index d87d10694..1af06bc29 100644 --- a/topics/basics/getting_started/plugin_compatibility.md +++ b/topics/basics/getting_started/plugin_compatibility.md @@ -85,7 +85,7 @@ The following table lists **(1)** modules or built-in plugins that provide speci | `com.intellij.modules.clion` See **(3)** below.
`com.intellij.clion` | 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.go` | **Go** language PSI Model, Inspections, Intentions, Completion, Refactoring, Test Framework | GoLand | +| `com.intellij.modules.goland` See **(4)** below.
`com.intellij.modules.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. | @@ -221,6 +221,10 @@ Consequently, [dependencies](plugin_dependencies.md) on AppCode and CLion functi +**(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 plugin.xml, it's useful to explore the packages and classes available in that dependency. diff --git a/topics/products/goland/goland.md b/topics/products/goland/goland.md index 9e98bf4dc..d1c341363 100644 --- a/topics/products/goland/goland.md +++ b/topics/products/goland/goland.md @@ -68,17 +68,44 @@ Select a [version](https://plugins.jetbrains.com/plugin/9568-go/versions) of the The dependency on the Go plugin APIs must be declared in the plugin.xml file. -As described in [Modules Specific to Functionality](plugin_compatibility.md#modules-specific-to-functionality) table, the `` tags must declare `com.intellij.modules.go`. +As described in [Modules Specific to Functionality](plugin_compatibility.md#modules-specific-to-functionality) table, the `` tags must declare `com.intellij.modules.goland`. The plugin.xml 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 plugin.xml snippet below: + + + + ```xml -org.jetbrains.plugins.go +com.intellij.modules.goland com.intellij.modules.platform ``` + + + +```xml + +com.intellij.modules.go + +com.intellij.modules.platform +``` + + + + +### Targeting IDEs Other Than GoLand + +Depending on the `com.intellij.modules.goland` allows a plugin to be installed in the GoLand IDE only. +However, the Go plugin can be installed in [IntelliJ IDEA Ultimate](https://www.jetbrains.com/idea/) and potentially other IDEs. +To make the plugin compatible with GoLand and other IDEs supporting the Go language consider depending on: +* `org.jetbrains.plugins.go` - The plugin will be loaded only when the Go plugin is actually installed in the running IDE. +* `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.