PyCharm Plugin Development
PyCharm is an IntelliJ Platform-based product. Plugin projects for PyCharm can be developed using IntelliJ IDEA with the Gradle IntelliJ Plugin.
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 Gradle build script. Click on an entry in the table's Attribute column to go to the documentation about that attribute.
| Attribute Value |
---|---|
| |
Set to the targeted | |
| |
| |
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 com.intellij.modules.python
.
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 _gradleCompositeBuild
.
Available PyCharm APIs
See 扩展点和监听器列表 for PyCharm Community.
The plugin Python (Plugin ID Pythonid
) defines the APIs for PyCharm Professional.
The plugin Python Community Edition (Plugin ID PythonCore
) defines the APIs for PyCharm Community.
These plugins include the modules openapi
and 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.