PyCharm 2.0.2 Release Candidate

It’s been more than a month since the previous PyCharm update, and although the team is working actively on PyCharm 2.1, we’ve got a bunch of bugfixes for 2.0 as well, both in the platform and in the PyCharm specific code. To make sure we’ve got everything right, we’re releasing the update as Early Access Preview first, and if no major problems are discovered, will release a production 2.0.2 update next week.

So please download PyCharm 2.0.2 Release Candidate, check out the release notes, and let us know if anything goes wrong.

Posted in Uncategorized | Tagged | 12 Comments

The story behind Jython support in PyCharm

Giacomo Lacava recently wrote a blog post describing his not very good experience with Jython support in PyCharm. I’d like to explain what the situation actually is.

First of all, PyCharm currently supports Python versions starting with 2.4. This means that PyCharm’s own components written in Python use language features of Python 2.3 and 2.4, and simply will not run with Jython 2.2. With Jython 2.5, things like loading the list of library paths and completion for the standard library (which Giacomo had problems with) should work with no problems.

Second, it’s true that we do not support parsing jar files in PyCharm. When PyCharm was initially designed, the Java support in IntelliJ IDEA was a monolithic component, and we had the choice of either including it all or leaving it all out. Including it would mean that we would have a Python IDE that could do, say, an “Introduce Parameter” refactoring for Java but not for Python. Which would be really, really weird. So we decided to leave it all out.

On the other hand, the IntelliJ IDEA Python plugin can rely on the Java support in IntelliJ IDEA itself, and it contains all the necessary logic to support Java/Python interop. The plugin can resolve imports from Python files to Java code, perform cross-language refactorings, auto-import Java classes in Python code, etc. And as far as we know, it provides a better Jython development experience than any other IDE.

The good news is that, since that time, our Java support has become more modular, and now we have the option to include just enough of it in PyCharm to support Java/Python interop but not anything more. Therefore it’s possible that a future version of PyCharm will have the same degree of Jython support as the IntelliJ IDEA Python plugin currently has. However, we’re still not sure if there’s enough of a target audience for this functionality. So if you’d like to have this, please let us know.

Posted in Uncategorized | 1 Comment

PyCharm 2.0.1 update

A quick information on the PyCharm 2.0.1 update that was released yesterday. Some of our users reported a major bug which led to loss of keyboard input in the editor after a paste operation on certain machines running Mac OS X. We’ve had to get out a fix for this as fast as possible, and we strongly recommend you to upgrade if you’re using Mac OS X. (Use “Help | Check for Update…” to download and install the update as a patch to your existing installation.)

If you’re using Windows or Linux, feel free to skip this update and wait for PyCharm 2.0.2.

Posted in Announcement | 4 Comments

PyCharm 2 is here: double the charm, double the power!

With a great pleasure we are announcing the availability of PyCharm 2, the new major update for our Python IDE.

We are very proud with this new release as it really takes PyCharm to the next level.
1. The range of supported technologies has expanded. The biggest addition is Mako and Jinja2 template languages. We’ve strengthened the core Python support by integrating code coverage, IPython, PyPy and some new static code analysis possibilities. Other big additions include support for Cython and CoffeeScript.

2. The new IDE UI makes PyCharm look much nicer on all supported platforms. Platform integration got much better with support for symbolic links, improved integration with docks, drag’n'drop between file manager and PyCharm on Linux and improvements on Mac OS X such as full-screen support.

3. Significantly reworked editor architecture provides better responsiveness and lag-less typing even in huge documents. Faster indexing and IDE startup speed are ensured on all supported platforms.

Read more about what else is new in PyCharm 2.0 and download the IDE now.

NOTE: PyCharm 2.0 is a free update for everyone who purchased their PyCharm license after Dec 12, 2010.

Develop with pleasure!
The PyCharm Team

Posted in Announcement | 15 Comments

PyCharm 2.0 Release Candidate

The final release of PyCharm 2.0 is right around the corner, and now we’re giving you the last chance to test the new version before the final release and report any problems that you run into. Among the fixes and improvements that went into the new release, I would like to highlight the following:

  • “Open in Browser” (Alt-F2) now works for Django templates. PyCharm tries to figure out the URL of the view in your application that renders this particular template, and to open that URL. If it fails, it simply opens the template as a static HTML file.
  • The Move Statement action (Ctrl-Shift-Up/Down) has been rewritten and is much more reliable now.
  • The Google App Engine integration now supports the Python 2.7 runtime added in Google App Engine 1.6.0.

The new version is available for download from the EAP page. As always, please submit your feedback to the issue tracker.

Posted in Uncategorized | 7 Comments

PyCharm 2.0 beta 2

We’re happy to announce the update for the Beta release of PyCharm 2.0. Although we aren’t working on any big new stuff anymore, we have still found many possibilities to improve the compatibility of PyCharm with different environments and its convenience in day-to-day use:

  • Multiprocess debugging can now be enabled for any Python run configuration, not only for Django server (allowing to debug applications using Web frameworks like Flask, as well as many others);
  • Added possibility to configure highlighting for function parameters, as well as a separate option for highlighting the ‘self’ parameter;
  • Added keyboard shortcuts to jump to the beginning and end of an indented code block (Ctrl-[ and Ctrl-] in the default keymap);
  • Move refactoring now works on Python packages correctly, updating the import statements referencing the package that has been moved;
  • Project creation now works correctly with the development version of Django 1.4;
  • Initial Python interpreter configuration on Mac OS X is now much faster thanks to the usage of pregenerated skeletons;
  • PyCharm now recognizes the hashbang line in files with no extension and treats them as Python scripts if appropriate.

You can read the complete release notes or download PyCharm 2.0 Beta 2 from the EAP page. We’re very eager to hear your feedback and to resolve as many of the remaining issues as possible before the final 2.0 release.

Posted in Uncategorized | Tagged | 5 Comments

PyCharm 2.0 Beta is Here with a Pack of New Features

After many hours of hard work, six EAP builds, and responding to many lines of your feedback, the PyCharm team is glad to deliver to you the Beta of the new major update for our Python and Django IDE — PyCharm 2.0.

The new major release adds support for coding in Cython, allows to use Mako and Jinja2 templates in your projects, enables you to check the test coverage of your code, allows opening multiple projects in one window, introduces JavaScript debugger, support for new and hot CoffeeScript language and many other big and small changes.

To get a full list of things coming in PyCharm 2.0 and download the Beta, check out the 2.0 Beta page on PyCharm web site.

We’re still hungry for more feedback to make PyCharm 2.0 even better by the time of the final release.

Develop with pleasure!
The PyCharm Team

Posted in Announcement | 3 Comments

New PyCharm 2.0 EAP build: multiple projects, JavaScript debugger, console options

This week’s EAP build of PyCharm 2.0 is probably going to be the last one before the Beta release, and as such, it brings the last major batch of new features to be included in PyCharm 2.0:

  • When opening a project, you now have an option to add it to the projects already open in the current window;
  • The JavaScript debugger is now included in the PyCharm distribution and integrated with the Django server run configuration;
  • The Python and Django consoles now support customization, including the possibility to specify a script which is automatically executed when the console is opened;

You can download the new build and check out the full release notes on the EAP page.

And now that the build is out, I can finally go home and get back to my game of Skyrim. :)

Posted in Uncategorized | 1 Comment

Cython support in PyCharm 2.0 EAP

Cython is a language that allows you to write C extensions for the Python language using the familiar Python syntax. You can use Cython for creating extensions that can be 50-100 times faster than pure-Python modules. Also Cython allows you to integrate your Python code with C libraries more smoothly than the standard ctypes library or generated C bindings.

We are currently working on Cython support in PyCharm. Here is an overview of what’s already available in the EAP builds.

First of all, you get Cython syntax highlighting and error checking:

Next, there is context-sensitive code completion for Cython keywords, fields of structs, and attributes of extension types:

We will continue working on code completion for other elements, such as type names.

You can go to definitions and find usages of Cython cdef variables, functions, structs, and extension types. This is especially useful if you take into account various ways of importing Cython files, such as include statements and implicit imports of Cython definition files:

We have also adapted some Python inspections and refactorings for Cython. For example, PyCharm will highlight unresolved references in your Cython code:

There are various ways of compiling Cython modules: setup.py with Cython functions for distutils, Makefiles that directly call the cython compiler, etc. In PyCharm you can set up any external tool for compiling your Cython code from the IDE:

You can also set up the go to error line functionality via output filters for external tools:

Cython support in PyCharm is still work in progress. More Cython-related features and improvements will be available in PyCharm 2.0 EAP builds in the coming weeks.

Posted in Uncategorized | 3 Comments

New PyCharm 2.0 EAP build: onward with Mako, Jinja2 and Cython

Since the release of the previous EAP build, we’ve made significant progress improving many of the new features that have appeared in the previous EAP builds. Just to give a few highlights:

  • Cython now features a full type system (correct resolve and completion of members after a dot) and a formatter;
  • Jinja2 has working completion for filter and test names;
  • Mako has a new structure view and a formatter;
  • The i18n support in Django templates has a new UI for navigating from templates to .po files.

Also, we’ve inherited a few goodies from our IntelliJ Platform foundation, the most visible of which is a new look & feel for toolwindows. The UI work is still in progress; your feedback on the UI changes is very much welcome.

You can download the new build and read the detailed release notes on the EAP page.

Posted in Uncategorized | Tagged | 5 Comments