PyCharm Plugin Development
PyCharm is an IntelliJ Platform-based product. Plugin projects for PyCharm can be developed using IntelliJ IDEA with the
Configuring Plugin Projects Targeting PyCharm
The configuration of PyCharm plugin projects follows the methods described in Configuring Plugin Projects using a Product-Specific Attribute, and Configuring the plugin.xml File. The table below summarizes the
gradle-intellij-plugin attributes to set in the build.gradle file. Click on an entry in the table's Attribute column to go to the documentation about that attribute.
|Set to the targeted |
|No specific declaration is needed to use |
|Not needed; the Development Instance will automatically match |
The dependency on the PyCharm APIs must be declared in the plugin.xml file. As described in Configuring the plugin.xml File, the
<depends> tags must declare
See the SDK code sample
pycharm_basics for an example configuration. Please note that this code sample must be imported into Gradle explicitly, as it is not included in the
Available PyCharm APIs
See Extension Point List for PyCharm Community EPs.
The plugin Python defines the APIs for PyCharm Professional. The plugin Python Community Edition defines the APIs for PyCharm Community. These plugins include the modules
python-psi-api. These are considered stable APIs, but care should be taken to test your plugin with any version of PyCharm you wish to support.
Additional Articles and Resources
Open Source Plugins for PyCharm
When learning new development configurations, it is helpful to have some representative projects for reference:
Flake8 Support Adds support for flake8's # noqa comments in PyCharm.