Today we’re extremely glad to announce that the first PyCharm 5.1 Early Access Preview (EAP) build 144.3891.17 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.
What is the Early Access Program (EAP)?
We at JetBrains believe that making tools for developers should greatly involve listening to developers. Early Access Programs allow you to try pre-release versions of our software to evaluate features that will be added to the next release, closely participate in discussions about PyCharm, and influence the release from early stages onwards.
Once you’ve downloaded the latest EAP build (from its official page), you’ll start getting updates with new features and improvements every week (to receive notifications about updates, make sure to set “Early Access Program” in your update settings). Your feedback is welcome and very much appreciated in our issue tracker or in the comments section of this blog post.
PyCharm 5.1 EAP build # 144.3891.17 introduces a lot of new features, bug-fixes and improvements. There are a number of recently added features that are unique to PyCharm, as well as additional features and improvements from the Web and IntelliJ Platform sides.
Python Related Improvements
We’re pleased to announce that PyCharm 5.1 EAP now supports Tox, the virtualenv management and testing tool. Simply right-click the tox.ini file in the project view and choose Run “Tox” or press Ctrl (Cmd) + Shift + F10. See the tests running and results nicely represented in the graphical test runner:
Devpi and Optional PyPI repositories support
Take full control over package repositories and PyPI mirroring solutions with support for optional repositories in PyCharm. To specify a custom repository (including devpi repos):
- Go to Settings (Preferences) | Project | Project Interpreter and click the “+” icon:
2. In the Available Packages dialog box, click “Manage Repositories”.
3. In the Manage Repositories dialog box, add, delete or edit the URLs of any repositories:
Folding for Python code blocks, collection literals, and multi-line comments
In addition to the existing code folding functionality in PyCharm’s code editor, we’ve implemented code folding for other code structure elements such as multi-line dictionaries, lists and comments, and if-else, for/while and try-except-finally code blocks in case a code block contains more than one statement:
You can find additional options in Settings (Preferences) | Editor | General | Code folding (“Long string literals”, “Long collection literals”, “Sequential comments”). Read more about code folding options in PyCharm help.
Stepping over yield from and await
A small but neat improvement for developers who use Python 3, PyCharm’s debugger is now able to step over yield from and await expressions. Put a breakpoint before a yield from or an await expression and press the Step over button (F8). The debugger will step to the next line after the expression:
Debugger performance improvements
In addition to stepping over yield from and await expressions as described above, PyCharm’s debugger receives a number of performance improvements that we hope you’ll enjoy. One year before we released PyCharm 4, we joined efforts with Fabio Zadrozny, a PyDev maintainer, 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 one place. As a result of the unification and the work done since then, the debugger in PyCharm has grown more powerful.
The very recent improvement that you can now see in PyCharm 5.1 EAP is that the debugger became much faster and now has optional Cython modules for even additional speedups. The debugger is reported to be now overall 40% faster without Cython and 138% faster with Cython in the benchmarks created. In real world cases, even better gains are expected as the benchmarks were done for the cases where the debugger has more overhead than usual. You can read more about the performance improvements and see some detailed benchmark statistics in the original blog post written by Fabio.
Web Development Improvements
As usual, PyCharm 5.1 will have all features of the upcoming WebStorm 12 release. WebStorm 12 preview builds are already available (read more in the WebStorm blog), so here is just a short summary of what’s new and available in the PyCharm 5.1 preview build 144.3891.17 from the Web side:
- Unused imports warning and сode folding for ES6 imports
- Remote run and debug for Node.js apps
- Code assistance in tsconfig.json, .babelrc and .eslintrc
- Inline rename for TypeScript
- Debugging JS async code
- Improved support for React, Angular 1.5 and 2
- npm support improvements and Webpack support
- and more…
Some of these features are already bundled with PyCharm 5.1 EAP, while others are available for installation from the JetBrains plugin repository.
In addition to the new features and improvements from the Web side, PyCharm 5.1 receives a lot of changes from the underlying IntelliJ Platform. The most noteworthy changes include:
- Support for RTL languages (Arabic and Hebrew).
- Easier merging with Git and other VCS thanks to the added by-word difference highlighting.
- Two new actions to help you work with Git branches, available via the Branches popup (VCS | Git | Branches): Checkout with Rebase and Rename.
- Git worktree support and updated look and feel of Git Log.
- Improved speed-search in the show usages popup (Ctrl(Cmd)+Alt+7).
PyCharm 5.1 runs on Java 8
Another important announcement is that the whole IntelliJ Platform has migrated to Java 8. That means that now you can not launch PyCharm under a JDK older than Java 8. This change affects all the EAP builds (144.*) and further major releases this upcoming spring.
Note: The PyCharm 5.1 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 time-limited evaluation period.
The Drive to Develop