Having announced the big PyCharm Edu 2 release on Wednesday of this week, today we have another massive announcement: PyCharm 5 Early Access Program (EAP) has started!
What is our Early Access Program (EAP)?
We at JetBrains believe that making tools for developers should greatly involve listening to developers. Our Early Access Program lets the development community closely participate in discussions about PyCharm and influence release planning, from early stages onwards.
Early Access Program allows you to try pre-release versions of our software to evaluate features that will be added to the next release.
Once you’ve downloaded the latest EAP build (from its official page), you’ll start getting updates with new features every few weeks (to receive notifications about updates, make sure to set “Early Access Program” in your update settings). Your feedback is welcome and very much appreciated on our issue tracker or in the comments section of this blog post.
PyCharm 5 EAP build # 142.4957 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
Full Python 3.5 Support
We’re pleased to announce that PyCharm 5 EAP now fully supports the latest Python 3.5.
This includes support for PEP-0484 — Type Hints, PEP 0448 — Additional Unpacking Generalizations, PEP 0492 — Coroutines with async and await syntax and other improvements:
Better Code Insight for ORM Methods
PyCharm 5 EAP provides deep code insight for Django models. This brand new functionality provides you with code completion for model field names and their modifiers in ORM lookups:
In the example below, the argument of the values method is the name of a foreign key (owner). PyCharm also provides autocompletion here and you can navigate to the appropriate field in the model’s code by Ctrl+Click on its name:
Google and NumPy Style Python Docstrings
When the Google (or Numpy) docstring style is selected in Settings (Preferences) | Tools | Python Integrated Tools, you can enjoy the full support for these types of docstrings inside PyCharm 5 EAP. These include:
- Proper generation of docstrings
- Updates after applying code intentions and quick-fixes
- Updates after various refactorings
- Special assistance while editing Google/NumPy docstrings (including special symbols and indentation)
- Autocompletion for section headers
- Information provided in docstrings is used for code insight
- Both types of docstrings are rendered in “Quick documentation” using bundled Napoleon preprocessor
- And a lot more
Refined “Optimize Imports” Action
In addition to PEP 8 grouping on the “Optimize imports” action, imports are now being sorted alphabetically within the respective groups:
Other Python Related Improvements
- Quick documentation improvements (including external docs in quick documentation pop-up for stdlib and Python keywords on Ctrl+Q)
- Improved formatter PEP-8 compatibility
- Numerous bug-fixes in different subsystems
General Improvements
Code Formatter: Adjusting Settings via a Quick-Fix
To make configuring code style settings easier for you, we have added a new quick-fix called Adjust code style settings. This quick fix becomes available when you select a piece of code in the editor:
When you apply it, the quick fix offers you to change the code style settings that affect the selected code, with live preview. This way of configuring code style settings is more convenient than getting through the whole list of settings:
Find in Path: Preview Pane
To make the Find in Path action more responsive, we’ve added the Preview tab: it shows the first 100 results in real time. Now to find what you need, you don’t even have to leave the dialog:
OS X and Java Version
OS X users may notice that we offer dmg installers with bundled custom JDK. It comes with a patched JDK 8. It means two things: a) you don’t need to have Java 6 installed to run the IDE; b) it is able to work with Java 6 or higher. To make it easier for you to switch between versions (in case you have such a need), you can do it via the dedicated action Switch IDE boot JDK available via Search Everywhere (Double-Shift):
New UI for Testing
A separate table with statistics required too much space and you needed to switch it on and off. Now durations are shown right in the tree. Sorting gets available after tests have finished:
Export/import of test results and tests history
Once a tab with test results is pinned, the results would be preserved until you close them directly. But it’s very easy to forget to pin it, and to loose a lot of time re-running the tests once again. Now results are saved to the history automatically:
Test results restored from history look the same as those that were actually run, the actions remain available; and you can export/import the results to/from a file.
RegEx case transformation syntax in Find and replace
Another notable improvement is support for the RegEx case transformation syntax in Find and replace (Ctrl (cmd) + R):
The supported commands include “\l”, “\L”, “\u”, “\U” and “\E”. If you wonder where such syntax comes from, check out the Perl documentation.
True HiDPI Support for Windows and Linux
PyCharm 5 EAP comes with the complete HiDPI support for Windows and Linux, with fractional scaling of both fonts and icons according to your system DPI settings. It means that you don’t have to tweak the vmoptions file anymore, just use your favorite font (make sure to restore the defaults if you changed them), and enjoy the high resolution IDE completely.
Adjust for Color Deficiency
In the PyCharm 5 EAP build, we’ve changed the appearance settings, so now when enabling the Adjust for color deficiency option you have to choose the form of color blindness:
To ensure that our adjustments work well, we’d like to ask you to share your feedback with us.
Brand New Indication for Running Configurations
Now every run configuration has a small green indicator that tells you if it’s running:
If your run configuration is a Single instance only, PyCharm will show you the Restart action instead of the Run action on the toolbar. Otherwise, if there are several running instances of your run configuration, there’ll be a small digit indicator with the number of running instances instead of a small green circle.
Version Control
Editing Code in Diff Viewer
Another enhancement you may find very handy is editing capabilities in the Diff Viewer. Now if you want to make a quick edit, there’s no need to switch to the editor anymore:
Editing works in both the Two-sided and One-sided Diff Viewers.
Branch Operations from VCS Log Viewer
Another one small but useful improvement coming in PyCharm 5 EAP is that you can access branch operations related to a particular change right from the context menu in the VCS Log Viewer:
Web Development
- Improved ReactJS support
- Initial support for Polymer 1.0
- Support for AngularJS 2.0
- TSLint
- Initial support for TypeScript 1.6
- Better support for Meteor
- New inspections for Node.js (for checking dependencies)
- Debugging Webpack projects
- Dart support enhancements
Database Tools
Grouping Objects in Tool Window
The updated Database tool window lets you group schema objects (tables, views, sequences, etc) and table contents (columns, indexes, keys, foreign keys, etc):
New Data Sources and Drivers Dialog
The Data Sources and Drivers dialog has been also updated for better experience:
Download PyCharm 5 preview build 142.4957 for your platform right from the project EAP page and please report any bugs and feature request to our Issue Tracker.
The PyCharm 5 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 evaluation period, which means PyCharm 5 Professional Edition EAP comes with a 30-day time-limited license as well.
Note: Remember to install .zip & .tar.gz versions into a completely empty folder. Do not just unpack over previous version!
Develop with pleasure!
-JetBrains PyCharm Team