PyCharm 2.7.3

We’ve finally released PyCharm 2.7.3, probably the last bugfix update from the 2.7.x branch of PyCharm. The release notes include many fixes both in the Python-specific features of PyCharm, in the underlying platform and in the Web development support (both CoffeeScript and TypeScript received a good share of fixes).

The build is available for download, and you can also use the patch-based upgrade to upgrade from PyCharm 2.7.2 or 2.7.3 RC without a full reinstallation.

And as for what’s coming up next – please stay tuned for the start of PyCharm 3.0 EAP!

Posted in Release Announcements | 5 Comments

Vim as a Python IDE, or Python IDE as Vim

“Vim as a Python IDE” is a hot topic. Everybody knows Vim is an incredible text editor for typing and editing text very quickly and efficiently (if you are an experienced Vim user, that is). Moreover, it is highly customizable, reliable, works in almost any environment and is praised by experienced developers as well. Naturally, lots of people choose Vim as their editor for coding in Python and other languages.


While Vim is a great choice indeed, as soon as you try to use it for anything it wasn’t designed for, you run into problems. For example, if you use it as an IDE. Clearly, many Python developers want it to be an IDE simply because productive Python development requires more than just a great editor. While this may work for some languages, it just doesn’t for Python, which is really hard to maintain on large and complex projects.

With Python, there is a real need to get rid of routine tasks and use supplementary tools like code inspections, error highlighting on the fly, dependency checks, quick-fixes, refactorings, a debugger, frameworks support, testing assistance, Version control, search and navigation, project management, remote development assistance, PEP-8 compliance checks. That’s quite a list. And all these features must work together in a reliable, efficient and robust fashion.

That’s what IDEs are designed for. They provide the necessary level of efficiency and comfort for using many tools and features in one place.

For better or worse, Vim is not an IDE. Sure, it is customizable and supports many things, with lots of plugins and add-ons and other bells and whistles. Yet it’s really far off from being a real IDE.

Here is a poignant example of Vim being overloaded. The result of many sophisticated hacks modifications, which are not clear even for experienced Vim users, is the following cramped editor window:

If you wanted an IDE to begin with, this is definitely the hard way to get one.

PyCharm has an upside-down approach to this problem. PyCharm is a complete IDE with a highly customizable and powerful editor inherited from the IntelliJ Platform. But you don’t have to choose between an IDE or Vim: thanks to the IdeaVim plugin (available for all IntelliJ-based products), you really can get the best of both worlds. IdeaVim supports many Vim features including shortcuts, motion keys, many types of commands, registers, macros, modes  and a lot more.

But don’t take our word for it. “Nothing can replace Vim, but IdeaVim feels closer than any other editor’s attempts,” says Andrew Brookins, an experienced developer who has tried different text editors and tools for Python and Web development, in his amazingly comprehensive review One Year Later: An Epic Review of PyCharm 2.7 from a Vim User’s Perspective. We strongly recommend reading it if you haven’t already.

To enjoy VIM emulation inside PyCharm, download and install PyCharm, go to File | Settings | Plugins and search for IdeaVim. Install it, restart the IDE and that’s it!
Give it a try, and while you’re at it feel free to vote for new features and report any issues in YouTrack.

Develop with pleasure!
PyCharm Team

Posted in Cool Feature, Screencast | 16 Comments

PyCharm 2.7.3 Release Candidate

Since the previous bugfix update of PyCharm 2.7, we’ve gathered a substantial amount of fixes both in Python-specific features, in Web development support and in the underlying platform. We’re finally ready to release them to you as PyCharm 2.7.3, but before we do that, we’d like to make sure that the build is in good working shape. Because of that, we’re releasing PyCharm 2.7.3 Release Candidate today. The build is available on the EAP page and will shortly become available for patch-based upgrade.

As usual, you’re welcome to check the full release notes and to submit your feedback to the issue tracker.

Posted in Early Access Preview, Uncategorized | Leave a comment

Getting started with PyCharm is available

We are glad to let you know that we’ve just published our Getting Started with PyCharm tutorial to help jump-start your use of the PyCharm IDE. The tutorial is very simple as any getting started tutorial should be, and covers the basic workflow of pure Python application development from scratch.

Follow the tutorial to learn:

  • how to create a simple Python project
  • how to configure your project structure
  • how to create Python source files from templates
  • editor basics with auto-completion and quick-fixes
  • auto-import and ‘surround with’ features usage
  • how to run your application
  • how to fine-tune your run/debug configurations
  • how to run a simple debugging session
  • and some source navigation and refactoring basics
  •  

    We want to continue improving this tutorial for you, so please give us your feedback in the comments below. What are we missing? What can we make clearer? Anything else you can tell us about getting started with PyCharm? Your input is valuable!
    For more PyCharm tutorials, check out the Tutorials section on our Confluence page. We are working on adding more tutorials; the next one will be about editing with PyCharm. So stay tuned!

    Develop with pleasure!
    PyCharm team

    Posted in Cool Feature | 1 Comment

    PyCharm 2.7.2 released

    At last, the final version of the new bugfix update of PyCharm, version 2.7.2, has been released. Since we’ve upgraded to a newer version of the IntelliJ Platform (the same one as in IntelliJ IDEA 12.1.1), the full release notes for this update are rather long.

    Just to remind you, some of the highlights are:

    • Bundled File Watchers plugin for automatic transpilation support of languages such as CoffeeScript/TypeScript, SASS/LESS and many others;
    • Support for Emmet, a new version of Zen Coding, an advanced system for abbreviated typing in HTML and CSS code;
    • Display of the current line separator for a file in the status bar and the possibility to change it for a single file or for multiple files in the project;
    • Possibility to tell PyCharm not to add the source and/or content roots of a project to PYTHONPATH;
    • Support for using the PyCharm console and “Run manage.py task” actions with remote interpreters.

    The new build is available for download on our Web site, as well as for patch-based upgrade if you’re currently running version 2.7.1 or 2.7.2 RC2.

    Posted in Release Announcements | 11 Comments

    PyCharm 2.7.2 RC2

    Since the release of PyCharm 2.7.2 RC, while waiting for a couple of important fixes blocking the final 2.7.2 release, we’ve fixed so much other stuff that we decided to publish another Release Candidate – PyCharm 2.7.2 RC2. The build is now available for download on the EAP page and as IDE update. You can also check out the full release notes for the new build.

    As usual, your feedback is so much appreciated in YouTrack.


    Earth Day Sale is ongoing

    In the spirit of Earth Day, Get up to 50% OFF JetBrains Tools for personal use and support a good cause. Every personal license bought between April 15th and 22nd helps the environment by saving the endangered Atlantic Forest of Brazil.

    Think fast! It’s a limited-time offer that you don’t want to miss!

    Develop with Pleasure!
    PyCharm team

    Posted in Early Access Preview, Sales and Promotions | 2 Comments

    PyCharm 2.7.2 Release Candidate

    Today we’ve released another preview build for PyCharm 2.7.2, and this time we believe it’s good enough to be called Release Candidate. Along with a bunch of Python specific fixes, the new build bring along a number of platform goodies such as the possibility to display the current line separators for a file and to change them in the editor status bar. This build also fixes a noteworthy regression in 129.19 which prevented refactorings and Find Usages from working correctly if the file in question was part of the Python interpreter paths.

    The new build is available for download on the EAP page. Unfortunately patch-based upgrade from the previous EAP build is not available; you’ll need to download the complete installer if you’re currently running the build 129.19.

    As usual, your feedback is welcome in YouTrack.

    Posted in Early Access Preview | 8 Comments

    Check out the PyCharm 3.0 roadmap

    Wow! What a whirlwind the past couple weeks have been! We got back from PyCon 2013 which was conducted in Santa Clara in the middle of March. The conference was so awesome, people so amazing! We are so privileged to be a part of the community that is setting a standard every day in the Python programming world. We were able to talk to hundreds of people, answer their questions about our company, products, PyCharm itself and collect their valuable feedback. We had a booth in expo hall, participated in development sprints and made the lightning talk about PyCharm key features as well. That was awesome experience indeed!

    Although being busy on the main conference and development sprints days, we have not stopped fixing bugs for released version of PyCharm and implementing new features to the our next very major release of PyCharm 3.0.

    So, now we a very excited to announce the PyCharm 3.0 Roadmap. The suggested theme for the release is “Intelligence for third-party libraries”. We are really hope you will enjoy these new features are going to be implemented in PyCharm 3.0. As usual, your feedback on them is so much appreciated.

    We’d like to thank you all for being with us!
    Stay tuned for further updates! And do not forget to:
    Develop with Pleasure! :-)

    Sincerely yours PyCharm team:

    P.S. This photo was made in our Jetbrains Saint-Petersburg office. From left to right: Dmitry Trofimov, Yulia Zozulya, Dmitry Filippov, Andrey Vlasovskikh, Dmitry Jemerov, Ekaterina Tuzova.

    Posted in Conferences & Events | 29 Comments

    PyCharm 2.7.2 EAP

    Today we’re released an Early Access Preview of PyCharm 2.7.2, the next minor update for PyCharm. Despite the small increase in version number, there’s actually a ton of stuff that has changed internally, thanks to the upgrade to a newer version of the underlying IntelliJ Platform.

    The main things that you can enjoy in the new build is support for Emmet (a new version of Zen Coding, a powerful abbreviation system for HTML/CSS developers) and File Watchers (a tool for automatic background compilation of CoffeeScript, SASS and other Web languages).

    One Python-specific change worth noting is that it’s now possible to specify in the run configuration settings whether you want PyCharm to include the content roots and/or source roots of your project into PYTHONPATH. Previously PyCharm tried to apply heuristics (which changed between versions) to detect if this was needed, which led to much confusion and projects broken by PyCharm upgrades. Now this behavior is under your control.

    The new build of PyCharm is already available at the EAP page, and the in-IDE update is going to be available in a short while. Note that we’re not providing detailed release notes for this build; we’ll have the full list of changes ready by the time of the final 2.7.2 release.

    Please give the new build a try, and as usual – if you run into any issues, please report them to YouTrack, so that we can fix them before the final 2.7.2 release.

    Posted in Uncategorized | 2 Comments

    How PyCharm helps you with remote development

    Have you ever wanted to develop a Python or Web application for Linux from your laptop running Windows 7 or MAC OS X? To debug or test your application on different operating systems without ever leaving the IDE? Or just to run large applications that you develop as a team on a dedicated provisioned environment, rather than on regular workstations? Guess what: all of this is possible with the remote development features already available in PyCharm.

    The central entry point to remote development with PyCharm is the notion of Remote Interpreters.

    You can configure PyCharm to use Python interpreter from a remote host and set it as your project interpreter. Then you can configure your run/debug configurations to run, debug or test your applications on the remote host. The remote host can be a physical remote server, a VM or even a virtualenv environment – it doesn’t matter. PyCharm has everything you need to work with all types of remote hosts.

    Actually, most of the Remote Development stuff was already available in previous versions of PyCharm and covered in these nice tutorials. But we never stop working on improving your comfort and user experience, so PyCharm 2.7 gets new additional features.

    Vagrant integration

    Native Vagrant integration is now implemented in PyCharm 2.7+. It is supported via the plugin Vagrant that comes already bundled with PyCharm. Vagrant integration makes it much easier to provision and manage your VMs, connect to them over the SSH and automatically configure a remote interpreter and an FTP deployment, if you run your development environment in a VM using Vagrant. All this without leaving the IDE!

    Before you start working with Vagrant, make sure that the Vagrant plugin is enabled (this is the default). Also make sure that Oracle VirtualBox and Vagrant are installed on your machine.

    First, open Settings | Project Settings | Vagrant:

    Enter appropriate paths for “Vagrant executable” and “Instance folder,” and then add your first Vagrant Box by clicking the Add (green plus) button:

    Here, choose a name for your new Vagrant box and provide the Box URL for downloading the template. Click OK to start downloading your VM.

    Good! Now, after this step we have VM downloaded and added to our environment:

    Next, open Tools | Vagrant. You will see the Vagrant menu node containing different commands, which correspond to the standard Vagrant actions:

    First you need to initialize a Vagrantfile for your project. Select “Init in Project Root” in the menu to automatically create the Vagrantfile, and you will be able to see and modify it like any other file within your project.

    Now you can start your first VM! To do so, select Tools | Vagrant | Up.
    On the bottom of the screen a special console will open showing you the progress and output from Vagrant:

    To be able to run your project on the VM or to connect to the VM, you need to configure the remote interpreter.

    This is done through Settings | Project Settings | Project Interpreter | Python Interpreters. Click the Add button and select “Remote interpreter.” Here you will get the “Configure Remote Python Interpreter” dialog:

    You can fill it manually, as for an arbitrary remote host, or just use “Fill from Vagrant config.” Click it – and voila! All the required fields are filled with your Vagrant box details.

    After this step the remote interpreter will be added to your project. You can set it as the default project interpreter as well.

    From this point on you can execute your project using the remote interpreter on the VM:

    The Vagrant plugin works gracefully with the Vagrantfile. You can manually edit it, and all you need is just to click Tools | Vagrant | Reload for the Vagrant plugin to pick up new settings.

    For example you can set up custom path mappings in Vagrantfile:

    After the Vagrant Box is reloaded, a mapping will be created and you will see a new shared folder into your project folder.

    Integrated SSH console

    One of the coolest and most useful features is that you can log in to your remote host via SSH and work in its console without leaving PyCharm. To do that, just select Tools | Run SSH Terminal. A console opens on the bottom with the prompt:

    Feel free to discover its usability. You can even launch Vim in it:

    As you can see, PyCharm comes with everything but the kitchen sink! So we really hope you’ll enjoy these new enhancements and feel comfortable developing your applications on remote environments. And as always, please report your issues or feature requests to our YouTrack bug-tracker.

    Develop with Pleasure!
    PyCharm team

    Posted in Cool Feature | 14 Comments