PhpStorm Plugin Development
PhpStorm is an IntelliJ Platform-based product. This page describes configuring plugin projects targeting PhpStorm.
Configuring Plugin Projects Targeting PhpStorm
The configuration of targeting PhpStorm IDE follows the methods described in Configuring Plugin Projects Using a Product-Specific Attribute.
The possibility of configuring the
PS IntelliJ Platform type was introduced in Gradle IntelliJ Plugin 1.8.0. Only the versions of PhpStorm 2022.2 and newer are supported.
The table below summarizes the Gradle IntelliJ Plugin attributes to set in the plugin project's Gradle build script. Click on an entry in the table's Attribute column to go to the documentation about that attribute.
PhpStorm plugins targeting versions older than 2022.2 are developed using the Ultimate Edition of IntelliJ IDEA. The IntelliJ IDEA Ultimate Edition (with the PHP plugin) must be used for developing PhpStorm plugins because the PHP plugin is incompatible with IntelliJ IDEA Community Edition. However, this IntelliJ IDEA Ultimate configuration runs the risk of accidentally using some APIs that are not available in PhpStorm. The recommended best practice is to use PhpStorm for testing.
Configuration of a Gradle-based PhpStorm plugin project is used as a tutorial in the section Configuring Plugin Projects using the IntelliJ IDEA Product Attribute. Many techniques are discussed, such as choosing a version of IntelliJ IDEA Ultimate given a targeted version of PhpStorm.
The table below summarizes the Gradle IntelliJ Plugin attributes to set in the plugin project's Gradle build script. Click on an entry in the table's Attribute column to go to the documentation about that attribute. To see how these attributes appear in the Gradle build script for PhpStorm, see Configuring Gradle Build Script Using the IntelliJ IDEA Product Attribute.
Set to the same
Path to locally installed target version of PhpStorm. For example, on macOS: