First PyCharm 4 Preview Build Now Available

Dmitry Filippov

It’s an exciting day for us at JetBrains PyCharm, as the first PyCharm 4 public
preview build 138.2401 is finally available for download! Head on over to the PyCharm Early Access Preview (EAP) page and have a look at the download section where you can get it for your platform right now.

As usual the PyCharm 4 preview build is available in two editions – free/open source PyCharm Community Edition and full-fledged PyCharm Professional Edition. While both of them are available for download and use at no charge, PyCharm Professional Edition has a 30-day evaluation period, which means PyCharm 3.4 Professional Edition EAP build 138.2401 comes with a 30-day time-limited license as well.

Note: The PyCharm 4 EAP build is not in the final product release stage and might contain severe bugs, so it’s supposed to be installed along with your current PyCharm installation for evaluation and checking out new features. No patch update for this EAP build will be available from within the IDE.

The PyCharm 4 preview build introduces a lot of new features, bug fixes and improvements, including a number of recently added PyCharm’s unique features as well as some features and improvements from Web and IntelliJ Platform sides.

The most notable PyCharm’s unique features in this preview build are:

Behavior-driven development (BDD) assistance

Behavior-driven development has never been so easy and natural. With PyCharm 4 EAP we introduce the special BDD assistance giving you the full control of your textual requirements, graphical representation of the test results, and extensive and intelligent assistance on each step of the overall BDD process:

BDD1

PyCharm 4 EAP now fully supports the two most popular Python tools for BDD: behave and lettuce.

PyCharm recognizes feature files, provides syntax highlighting, auto-completion, as well as navigation from specific feature statements to their definitions and back – all in a unified fashion.

Thanks to its high intelligence, PyCharm has a deep understanding of the definition steps: it shows errors and suggests automatic quick fixes, saving your time and increasing overall performance:

BDD2

PyCharm and PyDev debuggers are merged

As you probably know, previously PyCharm has been using special fork of the PyDev debugger with some PyCharm specific changes and our own unique features like GEvent debugging and breakpoints at Django templates. We’re very proud that the PyCharm team is an active member of the Python community, with many team members deeply involved in different open-source projects development. So recently we decided to make one more contribution to open-sourced software and merged our debugger code with that from the original PyDev repository. Now the work on the debugger continues from both sides (PyCharm and PyDev) in a single place. The merged source code now lives here: https://github.com/fabioz/PyDev.Debugger Pull requests are greatly appreciated!

Referring objects view in PyCharm debugger

When debugging your project you can open the referring objects view for a desired object during runtime. To do so, in the debug mode right-click the object in the “Variables” window then click “Show Referring Objects”:

referringobj

Jinja2 templates debugging

Now the PyCharm debugger works with Jinja2 templates. You can set breakpoints right in the editor, stop on them and perform other debugging actions the same way as in the already supported Django templates debugging mode:

jinja2

To learn more about the new BDD or debugger functionality, stay tuned for further blog posts, announcements, and tutorials.

Improved Python/Django console tool window

PyCharm automatically detects which type of the console should be run depending on your project type and context. The console can be launched via the tools window menu as shown on the picture below or using the “Ctrl+ E” shortcut:

python_console

Still, there is one more cool Python console feature that was included in this build:

showconsoleNow you can leave the console opened after a project run or a debug session, saving its context. In order to enable this functionality, you just need to mark the “Show command line afterwards” option in the project run/debug configurations:

pythonconsole

Method Call hierarchy

Thanks to the PyCharm’s fantastic static code analysis capabilities, PyCharm intelligently analyses the code and builds a call hierarchy trees for method calls in different scopes:

callhierarchy

New project creation wizard

The project creation wizard has changed a bit and now it has 2 steps:
On the first step you have to choose the project type. On the second step PyCharm shows you only relevant settings for the selected project type:

2stepcreation

Unittest sub-tests support

Python 3.4 support is even more polished with the PyCharm`s test runner now recognizing the subTest() context manager for unittest.

As usual, PyCharm 4 will have all features of the upcoming WebStorm 9 release. WebStorm 9 preview builds are already available (read more in WebStorm blog), so here is just a short summary of what’s new available in the PyCharm 4 preview build 138.2401 from the Web side:

– Updated Live Edit feature that can now automatically update your Node.js app on any changes
Spy-js for Node.js applications
PhoneGap/Cordova integration
Postfix templates for JavaScript
– Improved Editorconfig plugin
Gulp integration
– Improved Polymer support
– Support for the latest Sass 3.4

These new features are available for installation from JetBrains plugin repository.

Apart from additional features and improvements from the Web side, PyCharm 4 gets a lot of improvements from the underlying IntelliJ Platform. The most noteworthy changes are:

  • Redesigned Settings (Preferences in OS X) dialog: settings dialog gets a cleaner interface, a more straightforward layout and a rearranged settings tree (some of the settings have been merged, and others reordered based on their frequency of use):

settings2

  • The Open action from the Welcome screen now opens single files. That means you can now edit files regardless of the projects and their configurations.

Other improvements from IntelliJ Platform include:
– Backspace smart indent makes the Backspace key aware of your code formatting settings, so it doesn’t break your code when removing indents before caret.
– The new Code cleanup action (available via Analyze → Code Cleanup or as an option in the VCS commit dialog) applies quick-fixes in batch mode to selected files.
– The improved Find in path action
– Copy/paste selected code as HTML/RTF is now available without additional plugins.
– Better IDE startup time.
– Mercurial support improvements
– Reset Current Branch to Here action now available from the Git Log

Download PyCharm 4 preview build 138.2401 for your platform right from the project EAP page and please report any bugs and feature request to our Issue Tracker.

Develop with pleasure!
Your PyCharm team

Comments below can no longer be edited.

32 Responses to First PyCharm 4 Preview Build Now Available

  1. Brandon says:

    September 19, 2014

    Always wanted this!
    “Now you can leave the console opened after a project run or a debug session, saving its context.”

  2. Piotr Dobrogost says:

    September 19, 2014

    Where can I find out more on hg improvements mentioned?

    • Dmitry Filippov says:

      September 23, 2014

      What do you mean by hg improvements?

      • Bill Gale says:

        September 23, 2014

        ‘hg’ is a shorthand way of referring to Mercurial. On the Periodic Table of Elements, Mercury is Hg.

    • traff says:

      September 23, 2014

      These are the issues in Mercurial support fixed since PyCharm 3.4.1.

  3. Russell says:

    September 20, 2014

    Will we see in-built support for other BDD frameworks in the future? (i.e. JBehave and whatever else)

  4. Zack says:

    September 20, 2014

    Why no Kivy support? 🙁

    • traff says:

      September 23, 2014

      We don’t have it in our current roadmap for PyCharm 4. Please vote for the issue http://youtrack.jetbrains.com/issue/PY-8238 to have Kivy implemented in one of the future versions.

  5. simonzack says:

    September 21, 2014

    Love the new debugging & console features. Have been waiting for a long time for all the bug fixes on pycharm 3.4. Keep up the good work!

    • traff says:

      September 23, 2014

      Thanks!

  6. Gaëtan de Menten says:

    September 22, 2014

    Is there a roadmap for PyCharm4?

    • traff says:

      September 22, 2014

      No, there isn’t a public roadmap for PyCharm 4.0.

      • Gaëtan de Menten says:

        September 25, 2014

        Sad… Do you intend to improve the “scientific stack” (numpy, matplotlib, ipython, …) integration?

        • Dmitry Filippov says:

          September 25, 2014

          There will be some improvements and new features from “scientific stack”. Stay tuned for the next EAP builds.

          • Gaëtan de Menten says:

            September 26, 2014

            Great! Can’t wait…

  7. BN says:

    September 24, 2014

    Nice to see small fixes like {% comment 'metacomment' %}{% endcomment %}.
    But I’m disapointed that the biggest productivity improvement for me is nowhere in sight: autocomplete in django template fragments.

  8. Den says:

    September 24, 2014

    egzelent!
    “The Open action from the Welcome screen now opens single files. That means you can now edit files regardless of the projects and their configurations.”
    It was kinda heavy when you wanted to edit just one file/snippet which is not part of any project. Had to use another tools like sublimetext/notepad++ but without some desired IDE functionality.

  9. Vincent Noel says:

    September 24, 2014

    Is there any hope that remote editing of files through ssh will ever be included in PyCharm?

    • Dmitry Filippov says:

      September 25, 2014

      Chances are but there are some difficulties because we have a different model of remote development. All files are being edited locally and then deployed to remote host – by this we can provide the code intelligence. We’re actively discussing this feature, because it works for every IDE that we have.

  10. sachitad says:

    September 25, 2014

    I am very much excited about BDD assistance feature. Great work!

  11. Dave Hirschfeld says:

    October 8, 2014

    Is anyone seeing the debug window constantly vanish? Alt-5 restores it but it’s so painful I’ve reverted to 3.4.1 for now.

  12. Diego says:

    October 8, 2014

    I have setup everything and it works like charm ;-), except… if I use steps class from behaving.web.steps, instead of behave, it doesn’t recognize the steps file as a source of steps. Any way to workaround it or fix it?

    • Dmitry Filippov says:

      October 9, 2014

      Hi Diego,

      currently we recognize step definition files only when behave or lettuce decorators are used (and for behave we support only regexp-based matcher). Please create a feature request for your case here https://youtrack.jetbrains.com/issues/PY, we will try to implement it.

      • Jake Norman says:

        October 9, 2014

        Support for behaving and the default parse instead of re would be really useful. We have a number of tests already written using both behave and behaving with parse for the steps. Currently using Sublime Text. Can’t seem to get logged in after creating an account so I can’t file a ticket for this.

  13. The 6 Best Python IDE Solutions for Developers - CodeCondo says:

    October 17, 2014

    […] on building code editors for popular programming languages. Last month, the company announced PyCharm 4 – which is now surely making its way to a final stable […]

  14. Second PyCharm 4 EAP: IPython notebook, Attach to process and more | JetBrains PyCharm Blog says:

    October 17, 2014

    […] announced the first Early Access Preview build of PyCharm 4 almost a month ago, today we’re eager to let you know that the second PyCharm 4 EAP build 139.113 […]

  15. Announcing the PyCharm 4 Release Candidate | JetBrains PyCharm Blog says:

    November 14, 2014

    […] what’s new coming in PyCharm 4 – please read the blog posts covering new features in the first, second, and third EAP […]

Subscribe

Subscribe for updates