This package (aka PyV3) fixes several issues, including 1. Lots of `DirectoryProjectGenerator` misuses: We now create UI and settings with `ProjectGeneratorPeer`: no more manuals casts in callback 2. Decouples project generation from UI: Settings aren't aware of UI but generate a project instead. Settings are mapped to the UI using Kotlin DSL UI 3. Kotlin DSL UI panel enables validation 4. `PySdkCreator` (an interface implemented by all "v2" SDK panels) now accepts `Module`, so we can provide it Poetry The whole machinery of `PythonGenerateProjectCallback` (a pack of manual casts only mother could love) is completely deprecated and will be removed soon. Lots of small changes towards `suspend` functions, Kotlin DSL UI and `Flow` decrease the technical debt. Merge-request: IJ-MR-144503 Merged-by: Ilya Kazakevich <ilya.kazakevich@jetbrains.com> GitOrigin-RevId: 21963e843b0ae67c71a6fc5ea1229cb0f57915a9
PyCharm Community Edition
The "python" directory in the source repository contains the source code of PyCharm Community Edition and the Python plugin for IntelliJ IDEA Community Edition.
Building and Running
The code is part of the main IntelliJ IDEA Community Edition project and is compiled together with the rest of the codebase. To run PyCharm Community Edition, please use the provided run configuration "PyCharm Community Edition". To run IntelliJ IDEA with the Python plugin, please use the "IDEA with Python plugin" run configuration.
To run the test suite, use the built-in JUnit test runner and run all tests in the "python-community-tests" module.
Building from the Command Line
To build the distribution archive of PyCharm Community Edition, execute build.xml Ant build script in this directory. The results of the build execution can be found at out/artifacts.
Building the Python Plugin
To build the Python plugin for IntelliJ IDEA Community Edition:
-
Download the .tar.gz distribution of the most recent EAP or release build of IntelliJ IDEA Community Edition;
-
Run the following command:
ant -Didea.path= -Didea.build.number=<build number of the build you're using> plugin
The .zip file of the built plugin will be placed at distCE/python-community-.SNAPSHOT.zip