PyCharm 5 brings an outstanding lineup of new features for productive Python, Web and scientific development that work together smoothly to offer you a unique coding experience.
Existing JetBrains with valid upgrade subscription can save up to 40% on 2 year subscriptions
If you are an existing customer of JetBrains and have a valid upgrade subscription that expired after November 2 2014 you could be eligible for a 40% saving on a 2 year subscription. This saving provides you a 2 year subscription for the price of 1 year. This offer has to be redeemed before 1 January 2017.
Customers without active upgrade subscription can save up to 40% on yearly/monthly subscription plan
If you are a JetBrains customers and your upgrade subscription expired before November 2 2014 you could be eligible for up to 40% discount on yearly or monthly subscription plans. This offer applies to switching existing licences to the new model and the offer has to be redeemed before 1 January 2017.
Contact us to find out if your eligible for these or other exclusive offers.
What's New in PyCharm 2016.2
vmprof Profiler Support Pro Only
- For those who care about performance, PyCharm provides profiling support. Additionally to the previously supported cProfile and Yappi profilers, PyCharm 2016.2 brings support for vmprof, the sampling (statistical) Python profiler written in C and developed by members of the PyPy team
Pandas Dataframes Viewer
- PyCharm has had a special array viewer for NumPy arrays for a couple of years. PyCharm 2016.2 brings Pandas Dataframes support – a must-have feature for scientific developers and data scientists.
Thread Suspend Option
- Previously, when the PyCharm debugger reached a breakpoint during execution, only the corresponding thread was suspended while others kept running. Now there is a Suspend option with two values: All and Thread. ‘All’ makes all threads stop at once, while ‘Thread’ stops the corresponding thread.
Function Return Values in the Debugger
- The new option has appeared in Debug tool window: Show Return Values. Function return values are now shown in the PyCharm’s debugger after stepping out from a function.
Package Installation from requirements.txt
- PyCharm 2016.2 understands the syntax of extra options in requirements.txt files, automatically installing all the specified extras. For example, now you can use the following code in your requirements.txt files:
Configuration for Optimize Imports
- Optimize Imports has been a neat feature for many years. In PyCharm 2016.2 the new dedicated setting for Optimize Imports action appeared. It allows you to configure how imports in the current file are sorted and arranged in groups.
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. It has been improved with the “main' and “print' postfix templates extracting your [expression].main and [expression].print code snippets respecting Python 2 and Python 3 versions.
Lettuce Scenario Outlines
- In PyCharm 2016.2 BDD support got an important improvement. PyCharm now recognizes Scenario Outlines sections in Lettuce feature files. Scenario Outlines are supported for Lettuce version 0.2.22 and higher.
Support for Ligatures
- The editor in PyCharm now supports fonts with programming ligatures, like Fira Code, Monoid, Hasklig and PragmataPro. Enable this in Preferences | Editor | Colors and Fonts | Font.
The Inspection Tool Improvements
- The Inspection tool window has been redesigned for better ergonomics: now code location for each of the problems is displayed along with controls to either apply a quick-fix or suppress an inspection.
Editor Background Image
- Customize your IDE’s look by choose a background image for the editor and the IDE frame. Search for ‘Set Background Image’
with the Search Everywhere
action double Shift
Regex Support Improvement
- Coding assistance for Regex has been extended with better error reporting, and code completion is now available for named group references.
Unversioned Files Handling
- The Commit dialog now shows unversioned files (so you don’t forget to commit something important).
Improvements in Working with Patches
Working with VCS patches has never been easier. With PyCharm 2016.2 a patch can be applied from the clipboard (when the IDE obtains focus), or by dragging a file into the IDE. In case a file has been changed since a patch was created for it, but PyCharm cannot find its original revision, you'll be prompted to apply the patch using a Merge-like dialog. Also, the Apply Patch dialog provides the Show Diff action to compare the patch to your local version.
The VCS Log Viewer
- The Log viewer for Git and Mercurial continues to get better:
- It loads in the background on every change (a commit, fetch, rebase, etc.), so it’s always ready when you open it.
- The way the Log shows the loading progress has been reworked. Now, when refreshing, a thin stripe appears under the toolbar.
- When you select several commits, you see all commit details.
- Ctrl+L can be used for navigating to the Filter field.
- Pro Only
- Code completion for database names in Data Sources and Drivers.
- Import of CSV, TSV (DSV) files to a database.
- Language injections to SQL code.
- Table Editor provides completion for column values.
- PostgreSQL support has been extended to Schema Search Path, Rangetypes and types with TimeZone.
• Full Python 3.5 Support: PyCharm 5 now fully supports the latest Python 3.5 with all of its new libraries and features.
• Code Insight for Django ORM Methods:
This brand new functionality provides you with code completion for model field names and their modifiers in Django ORM lookups.
• Conda Integration:
A big improvement for scientific Python developers, Conda integration as implemented in PyCharm is primarily designed for managing Anaconda installations.
• “Make Top-Level Function' Refactoring:
This brand-new refactoring complements the huge set of Python refactorings implemented in PyCharm. With this refactoring you can safely move a nested function to the top level.
• New UI for Testing and Tests History:
Test durations are now shown right in the test results tree, to provide you with more information on their performance.