Setting Up a Development Environment
Use the following checklist to ensure that you are ready to develop your custom plugins.
Plugin DevKit plugin must be enabled in IntelliJ IDEA.
IntelliJ Platform SDK must be configured for your IDEA project. For more information, see below.
(Optional) Get IntelliJ IDEA CE source code on your local computer. Getting IntelliJ IDEA CE source code is not a requirement for plugin development, but having it makes debugging your plugins much more straightforward. For detailed instructions, refer to the Getting IntelliJ IDEA Community Edition Source Code section of Check Out And Build Community Edition. Note that building IntelliJ IDEA CE from source code is not required for plugin development.
Configuring IntelliJ Platform SDK
To set up your plugin development environment:
Set up a required Java SDK. See the IntelliJ Build Configuration section of Check Out And Build Community Edition for instructions about creating 1.8 (11 when targeting 2020.3 or later) Java SDK.
Create a new IntelliJ Platform Plugin SDK under :
Specify the installation folder of the IntelliJ IDEA Community Edition as the home directory (on Mac, select application icon in /Applications/). You can use the installation package built from sources or download it from the Download IntelliJ IDEA page.
Select Java SDK from the first step as the default Java SDK.
In the Sourcepath tab of the SDK settings, click the Add button (this step can be skipped if your plugin doesn't require debugging):
Specify the source code directory for the IntelliJ IDEA Community Edition:
Specify the Sandbox Home directory. The Sandbox Home directory stores the settings of the IDE development instance launched from a Plugin Project's run configuration. Shown below is the default Sandbox Home directory for a user on macOS. Any directory can be chosen as the Sandbox Home location. Use the ellipsis button (shown below) to define a custom location.
See the IDE Development Instances page for more information about the default Sandbox Home directory locations and contents.