From 9849b94ef85ab9342860cbe090e879cc0064236a Mon Sep 17 00:00:00 2001 From: Karol Lewandowski Date: Thu, 1 Dec 2022 13:18:36 +0100 Subject: [PATCH] plugin_compatibility.md, goland.md: Fix the Go-specific plugin dependencies information --- .../getting_started/plugin_compatibility.md | 6 +-- topics/products/goland/goland.md | 41 ++++++------------- 2 files changed, 13 insertions(+), 34 deletions(-) diff --git a/topics/basics/getting_started/plugin_compatibility.md b/topics/basics/getting_started/plugin_compatibility.md index c9ceb52e4..65795e771 100644 --- a/topics/basics/getting_started/plugin_compatibility.md +++ b/topics/basics/getting_started/plugin_compatibility.md @@ -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`
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`
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 -**(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 c4b2fcd1d..9598f6f0e 100644 --- a/topics/products/goland/goland.md +++ b/topics/products/goland/goland.md @@ -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. @@ -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'] } ``` - @@ -65,34 +71,12 @@ 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](plugin_configuration_file.md) file. -As described in [Modules Specific to Functionality](plugin_compatibility.md#modules-specific-to-functionality) table, the [``](plugin_configuration_file.md#idea-plugin__depends) 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: +### Plugin and Module Dependencies - - - - -```xml - -com.intellij.modules.goland - -com.intellij.modules.platform -``` - - - - -```xml - -com.intellij.modules.go - -com.intellij.modules.platform -``` - - - +Depending on plugin's requirements, the following [``](plugin_configuration_file.md#idea-plugin__depends) entries are needed in the plugin.xml 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.