PyCharm 5.1 EAP 144.4199.7: Python 2/3 compatible type hinting, Postfix Completion, Terminal Improvements
A week ago we announced the first PyCharm 5.1 EAP build with lots of new neat features and improvements such as Tox support, Optional PyPI repositories, Debugger performance improvements and more. Today we continue the weekly delivery of PyCharm 5.1 preview builds with the PyCharm 5.1 EAP build 144.4199.7.
Download and try it today!
Let’s look at the set of valuable improvements introduced in this build.
Python 2 and Python 3 Compatible Type Hinting
With its release half a year ago, Python 3.5 introduced type hinting to help code-writing during development. The standard that brings optional type hinting to Python is PEP 484. PyCharm fully supported this standard with the PyCharm 5 release along with the full support for other new Python 3.5 standards.
Recently an addition to PEP 484 has been proposed to make type hinting possible in Python 2/3 compatible code. The addition has been accepted and can be found in PEP 484 | Suggested syntax for Python 2.7 and straddling code. With PyCharm 5.1 we bring support for this valuable addition for both Python 2 and 3:
Please read this comprehensive blog post on Python 3.5 type hinting in PyCharm 5 to get a better idea of what type hinting is in Python and why it’s important.
Postfix Code Completion
Postfix code completion helps reduce backward caret jumps as you write code. It lets you transform an already typed expression to another one based on the postfix you’ve added and the context of the expression. For example, the “.if” postfix applied to an expression wraps it with an if statement. Likewise the “.ifnn” triggers a surround template checking the expression for the not None value:
To see all the postfix templates and change their settings (for example, to disable the templates you don’t need), go to Settings → Editor → General → Postfix Templates.
Local Terminal Improvements
Embedded local terminal now supports “Find in text”. Hit Ctrl+F in the terminal and start searching in the terminal output:
Additionally the terminal now supports double-width unicode characters and is now capable of performing Alt+Backspace for deleting symbols to the left of caret position and Ctrl+Left/Right to move caret to the left or right of the current word.
The full list of changes comparing to the previous EAP build is available in the Release notes.
You can download the build or use the patch-based upgrade to upgrade from within the IDE (from the previous PyCharm 5.1 EAP build only) without a full re-installation. Just make sure you’ve selected the EAP channel in update settings.
The Drive to Develop