Skip to content

Latest commit

 

History

History
36 lines (28 loc) · 3.42 KB

data_grip.md

File metadata and controls

36 lines (28 loc) · 3.42 KB
title
DataGrip Plugin Development

Introduction

DataGrip is an IntelliJ Platform-based product. Plugin projects targeting DataGrip can be developed using IntelliJ IDEA with the gradle-intellij-plugin.

Configuring Plugin Projects Targeting DataGrip

The configuration of DataGrip plugin projects follows the methods described in Configuring Plugin Projects using the IntelliJ IDEA Product Attribute, and Configuring the plugin.xml File.

Note DataGrip plugin development may require setting an additional Gradle attribute: runIde.jvmArgs. See table below.

The table below summarizes the gradle-intellij-plugin attributes to set in the build.gradle file:

gradle-intellij-plugin Attribute Attribute Value
intellij.type IU for IntelliJ IDEA Ultimate.
(IC is incompatible with the required DatabaseTools plugin.)
intellij.version 2019.3 Set to the same version as the DataGrip target version, as set by runIde.ideaDirectory
intellij.plugins plugins 'DatabaseTools' Dependency on the bundled DatabaseTools plugin.
runIde.ideaDirectory Path to locally installed target version of DataGrip. For example, for macOS:
/Users/<user name>/Library/Application Support/JetBrains/Toolbox/apps/datagrip/ch-0/193.5233.139/DataGrip.app/Contents
runIde.jvmArgs jvmArgs '-Didea.platform.prefix=DataGrip'
Only required for gradle-intellij-plugin v0.4.16 or earlier.

The additional attribute runIde.jvmArgs is required for versions of the gradle-intellij-plugin 0.4.16 and earlier. This attribute declares that Gradle should use the DataGrip platform to run/debug plugins in a development instance. It is not required for building plugins and manually installing them in DataGrip. Benign, but redundant attribute if used for later versions of the gradle-intellj-plugin.

The dependency on the DataGrip APIs must be declared in the plugin.xml file. As described in Modules Specific to Functionality table, the <depends> tags must declare com.intellij.database. Note that DataGrip plugins must also declare a dependency on com.intellij.modules.platform because com.intellij.database is not recognized as a module. Consequently, without the com.intellij.modules.platform declaration the plugin is assumed to be a legacy plugin and will not load in DataGrip.

Available DataGrip APIs

Use the Exploring APIs as a Consumer process to identify the libraries in DatabaseTools. Test your plugin with any version of DataGrip you wish to support.