Files
openide/python
Mikhail Golubev 2ca4c00fcf PY-19100 Properly detect that the first line of pasted text needs to be additionally indented
It becomes necessary when user copies compound statement
staring selection at the beginning of the first keyword like
"def" instead of using structural selection. Because of that
we lose indentation of that first line and whole underlying block
structure becomes ambiguous, i.e. it's no longer clear which of the
following lines belong to the body of such function and which
were at the same or smaller block level initially. To handle it
we use simple heuristic that detects whether the body of copied
function is  indented too much and if it's the case we shift
the first line further to the right as if the etire first line
was copied in the first place.

Previously we compared indentation of the first two lines for this
purpose and it didn't work for various compound statements that may
have multiline header, e.g. function definition with individual
parameters on their own lines, "if" statement or "while" loop which
condition spans multiple lines etc. Now we first parse pasted
fragment and then take the indentation of the actual statement list.
2016-07-06 21:09:54 +03:00
..
2016-07-01 18:02:57 +02:00
2016-07-01 15:32:48 +03:00
2016-06-23 16:37:49 +03:00

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.

Skeletons

In order to successfully run the full test suite for PyCharm Community Edition and to build a fully working distribution, you need to check out the library skeletons, which are stored in a separate Git repository. To do this, you need to change to the 'helpers' directory and run the following command:

git clone https://github.com/JetBrains/python-skeletons.git

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