What’s New in PyCharm 2020.1

Interactive rebasing, smarter debugging, and a font designed for programming.

Version Control

Interactive rebasing

Interactive rebasing

If you care about keeping your commit history clean, you’re definitely familiar with interactive rebasing. We’ve now made this easier, and more graphical. Just pick a commit in the history, right-click, and choose ‘interactively rebase from here’, and we’ll help you make your git log look great!

New VCS commit tool window

New VCS commit tool window

If you’re the kind of developer who likes commits that are atomic and tell a story, you probably go back and forth between the commit window and your code to get everything ready. We’ve just made this easier: if you’d like to, you can choose to have the commit window appear as a tool window next to your code.

New and improved branches popup

New and improved branches popup

Usually, when you see a list of things in PyCharm (or any of our other IDEs), you can start typing to search in this list. Not everyone is aware of this, however, so we’ve now added an explicit search field to the branches popup. We’ve also improved a couple of other things, like indications to show if a branch has incoming or outgoing commits, and made it easier to update remote branches.

Further improvements

  • A small improvement is PyCharm’s new ability to download and install Git if it’s not already present on your computer.

Python

Smarter stepping using the debugger

Smarter stepping using the debugger

The PyCharm debugger is a great tool for seeing what your code really does without modifying it. If you wanted to see what was happening in the middle of a bigger statement, it was previously necessary sometimes to split the line to get an intermediate result. No more! PyCharm’s smart stepping makes it easy to get exactly to the call you need. And even better: it’s now the default option.

Install Python from PyCharm

Install Python from PyCharm

A common question for our support team is: I’ve installed PyCharm, so now how do I run my code? We’ve now made it a little easier to get started on Windows. If PyCharm doesn’t find any version of Python installed, it will suggest downloading and installing Python from python.org.

Maintain requirements.txt using PyCharm

Maintain requirements.txt using PyCharm

Have you added a library to get a couple of things done quicker? If you’re using it in your code, it should be in requirements.txt, and PyCharm now makes it easy to update this file.

Support noqa comments for suppressing inspections

Support noqa comments for suppressing inspections

Code linters and inspections are there to make your code look good and make it easier to read when you or someone else need to look into it later. Sometimes they get it wrong, though, and you want to suppress a false positive. PyCharm now respects `#noqa` comments and suppresses inspections when they’re specified.

Further improvements

  • PyCharm helps you install packages and create new virtualenvs. To make this work smoothly, PyCharm bundles a version of pip and setuptools. Before, we needed to update them manually to keep them current. We’ve now improved this so that they are always updated in newly created virtualenvs.
  • We’ve tweaked the behavior of PyCharm’s interpreter choice for projects where no interpreter has been chosen explicitly. See the ticket for details.

Web Development Pro only

PyCharm Professional Edition comes with all JavaScript (and other web languages) development features from JetBrains WebStorm, our IDE for web development.

Add import quick-fix for Django templates

"Add import" quick-fix for Django templates

When you’re writing Python code, you can just type the name of any importable symbol, and then use Alt+Enter to have PyCharm import it for you.

Improved Code Completion in Django Templates

Improved Code Completion in Django Templates

Another improvement we’ve made to Django Template code completion is making sure that PyCharm respects the ‘builtins’ setting for the template system. You’ll now get proper completion for any tags you’ve configured.

Vuex support

Vuex support

If you’re using Vue.js for your frontend, you may also be using Vuex for state management. The Vue.js plugin for PyCharm Professional Edition now supports Vuex and will give you proper code completion for the Vuex state object, among other things.

Further improvements

  • Quick documentation for JavaScript (and other web languages) has improved. If you want to know more about any symbol in JS code, just hover over the symbol with your mouse pointer or use Ctrl-Q, and you’ll see its documentation, its visibility, and the location where it’s defined.
  • The Pyramid project switched its project creation to Cookiecutter a while ago, and now this is also supported in PyCharm Professional Edition. Just use the ‘New Project’ screen, and your new Pyramid project will be made using the official Cookiecutter template.

IDE Improvements

JetBrains Mono

JetBrains Mono

As a leading company in development tools, we want to do everything we can to make development better. And we’ve improved one of the fundamentals: the font for your code. JetBrains Mono is designed specifically for programming, and it’s now enabled by default in PyCharm.

LightEdit

LightEdit

The great thing about Python is that it can be used for many small things, like backup scripts. As your backup script isn’t part of a project, we wanted to make it easy for you to still use PyCharm to edit it. The new LightEdit mode makes this possible. If you open a file from the explorer or using the `charm` CLI tool, you can edit a single file without creating a project, with limited code completion available.

Splittable terminal

Splittable terminal

It’s now easier to run several commands at the same time and see their outputs simultaneously: just right-click on the terminal in PyCharm, and choose ‘split vertically’. Of course, you can also choose to split the terminal horizontally if you’d prefer that.

Easier configuration of the status bar

Easier configuration of the status bar

The status bar has always been configurable, but we’ve just made configuring it easier! Just right-click on the status bar and choose exactly what you want to see, and what you’d prefer to be hidden. This should make it a little easier to work on those projects that use the wrong number of spaces.

Databases Pro only

PyCharm Professional Edition comes with all database features from JetBrains DataGrip, our tool for database administration.

Improved data exporting from databases

Improved data exporting from databases

Data is the new oil, so sometimes you need to export it. We now have an all-new export dialog that makes it easy to preview exactly what your exported data will look like. In other good news, exporting to Excel is now also possible!

SQL script run configuration

SQL script run configuration

Do you have a set of SQL files that you’d like to apply to your database in a defined order? We’ve made it easier to do this: just select them all in the project, right-click, and choose ‘run’. You can reorder the files in the Run configuration window that now pops up.

Please note that features marked Pro only are supported only in PyCharm Professional Edition.