PyCharm 2.6 Early Access Preview

Thought that things were pretty quiet here during the summer? Not really! The PyCharm team has been hard at work on a new release of PyCharm, which (following the tradition of Python interpreter version numbers) will be called 2.6.

The big new feature in this version is diagrams support. PyCharm is now able to show you a visual overview of the structure of your code – and that includes class diagrams for any Python project, as well as model dependency diagrams for Django and App Engine projects.

Other than that, the team has been primarily focused on smaller changes that improve the quality of PyCharm’s code analysis and completion. This includes:

  • New code completion shortcut: press Ctrl-Space twice to complete any non-imported identifiers (modules, classes, functions or variables) anywhere in your code;
  • Many fixes and improvements in Django code completion and inspections;
  • Code insight fixes and changes to default inspection settings to reduce the number of false positives in PyCharm’s inspection reports;
  • New intention actions to assist in specifying types for parameters and variables;
  • Autodetection of test framework and docstring format used in the project.

Besides that, PyCharm has been updated to support the new language features in current beta version of Python 3.3. Full support of Python 3.3, including the new virtual environments and namespace packages, is planned for the final release of PyCharm 2.6.

All of these features are available in the first EAP build which is available for download now. The final release is still a few weeks away, and we hope that we will be able to sneak a few other goodies in before the release is done.

As usual, your feedback is welcome on our new forum and in the issue tracker.

This entry was posted in Early Access Preview. Bookmark the permalink.

14 Responses to PyCharm 2.6 Early Access Preview

  1. Jakub says:

    Would you please explain how to generate a diagram? Thanks!

  2. Jakub says:

    …ups, I was still running 2.5.2.

    The yellow background for library files in the project view is a small change, but greatly improves usability.

  3. Ronnie Kolehmainen says:

    The article states that the EAP build is available for download but I can’t find any downloads on the linked page.

  4. Alan says:

    Ronnie, the download links are in the box labelled “Download PyCharm 2.6 EAP”. The page heading should read “Welcome to the Early Access Program for JetBrains PyCharm”.

    Try copy-pasting the link directly:

    http://confluence.jetbrains.net/display/PYH/JetBrains+PyCharm+Preview

  5. Rob van der Linde says:

    Nice, but I can’t seem to figure out how to see a class diagram of my entire project, I have been waiting for this for a while and would really like to see a class diagram of the whole project, not just little pieces of a class diagram.

    I have been looking through the menus for something like code->view class diagram, but I haven’t found anything like that yet.

  6. Alex Besogonov says:

    Can you also produce EAP Python plugin? It’ll also be great if it could work with Leda.

  7. ohh.. that diagram feature looks very nice! :-)

    I’m curious about the code intend features, I haven’t been able to put them to use yet. Could you post an explaination how I can trigger them? There are a few things I’d love to have:
    - for loop expansion in Django templates
    - typing “super ” to get the whole super call
    - automatic “*args, **kwargs” expansion somehow
    - snippet support, I can’t find them eiter. I’d love to have “from django.utils.translation import ugettext_lazy as _” in a snippet somewhere.

    • Dmitry Jemerov says:

      Diederik,
      The “snippets” feature is called “Live Templates” and has been available in PyCharm since version 1.0. There is a bundled live template for ‘for’ loop in Django templates – just type “for” and press Tab. You can configure your own live templates under Settings | Live Templates.

      If you use the Override Methods feature (Code | Override Methods), the correct super call is generated for you automatically. For manually written method declarations, feel free to vote for http://youtrack.jetbrains.com/issue/PY-4230

      Not sure what you mean by “automatic expansion somehow”.

      • Dmitry,
        Thanks for mentioning the Live Templates. I didn’t recognize them as such, and it seems to have many of the cases I mentioned, including the *args, **kwargs expansion (I now type _ + tab to get it)

        I have the following live templates currently:
        * = *args, **kwargs
        _ = from django.utils.translation import ugettext_lazy as _
        __init = a __init__ constructor with super call.

  8. istlota says:

    I am wondering if, out of ignorance of how best to use the Diagram feature, I am missing the full scope of what is currently available. Right now, I have to go thru a lot of steps just to get to a Diagram of only one class:

    a) Navigate in the Project window to a desired directory
    b) Expand that directory to its modules
    c) Highlight the desired module
    d) Navigate in the Structure window to the desired class in that module
    e) Control-click that class to popup a menu
    f) Navigate in that popup menu to Diagrams
    g) Which then pops up another window where I navigate to Show Diagram
    h) Which then pops up another window where I click Python Class Diagram
    e) Which then , finally, causes the Diagram of just that class to be displayed

    It would be more useful for me to have some Way, with few steps, to get to a Diagram of the entire project rather than of just one class. Then, from there, there should be a navigation feature building upon what you can now do by dragging the Structure window viewport to drill into any block of the project diagram you wish.

    I can See how what it supported now with Diagrams could some day be expanded to encompass much of what is being done now by the Project, Structure, and Diagram windows.

    Grok?

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">