What’s New in PyCharm 2019.1

All-new direct Jupyter Notebook editing and running, a keymap for Sublime Text, and much more.

Jupyter Notebooks pro only

Work with notebooks

We’ve made it easier to edit the code in your Notebook: as you’re editing the notebook, the source looks like a regular Python file. This makes light work out of navigating around your code. Of course, round trip editing is supported, and all changes made in either PyCharm or the browser will be reflected immediately.

Run and debug cells

Jupyter Notebooks are great at helping you explore and interact with your data. With PyCharm, Jupyter Notebooks are now even easier to use, as you can quickly run and debug cells from your notebook in the IDE. Of course, many of the hotkeys from in-browser notebooks also work in PyCharm. For example, use Shift+Enter to run the highlighted cell, and select the one below.

Server and kernel management

Get started with your notebooks quicker. With PyCharm you don’t need to start your server or kernel manually: just open a notebook and run a cell. PyCharm automatically starts the server and appropriate kernel for the notebook you’ve opened.

Variable viewer

If you’ve lost track of the current value of a variable, you can use PyCharm’s variable viewer to make sure everything looks right.

IDE Improvements

Recent Locations

You may often find yourself needing to move back and forth between different locations in the code when you are developing. PyCharm has long had the Recent Files popup (Ctrl+E, or Cmd+E on macOS) to help you navigate between these files quickly. However, you don’t just want to get to a file, you want to be taken to a specific location, so we’ve introduced the new and improved Recent Locations popup (Ctrl+Shift+E, or Cmd+Shift+E on macOS) to get you to your destination quicker.

UI theme plugins

Don’t like our default styling? We’ve improved our support for UI theme plugins. Find one in the plugins marketplace by looking for 'tag: UI', or learn how to make your own.

Sublime Text keymap

One of the hardest parts of switching to a new tool is having to learn all the new hotkeys. We've added a Sublime Text keymap to make it easier for anyone switching from Sublime Text to PyCharm.

Further improvements

  • Native SSH for Git: in previous versions, SSH for Git could be configured to use either built-in or native SSH. Built-in SSH was necessary in case interactive prompts would be required for authentication. In the new version, these prompts can be handled with native SSH. Native SSH supports more features, including better security protocols, so the built-in option has been removed.

Python improvements

Debugger performance for big collections

The PyCharm debugger can now handle infinitely large collections without slowing down while initially loading the collection.

Data class inheritance

Python 3.7 Data Classes were already supported in PyCharm, but now we’ve extended this support to make sure that subclasses of Data Classes also get accurate code completion.

Interpreter in status bar

When you’re developing an application for multiple environments, for example when migrating between Python or framework versions, it makes life easier when you are able to quickly switch between them and see at a glance which version you’re now using.

Type checking for variable assignments

Python’s optional typing helps you to document your code and prevent mistakes down the line. We’ve now furthered our support for it by checking types on variable assignment.

Remote interpreters pro only

Vagrantfile syntax

PyCharm supports Python interpreters inside Vagrant boxes, and now also makes your Vagrantfile look good.

SSH with sudo

You need root access to control the GPIO pins on your Raspberry Pi, so to make GPIO development easier we’ve made it possible to run code with root privileges over SSH in PyCharm 2019.1. Of course, you could use root privileges for other uses, but we wouldn’t want to encourage those publically, would we now?

Web Development pro only

Improved HTML and CSS quick documentation

CSS has gotten a lot more powerful over the years, which has brought more complexity. To help you find your way around this more complex modern CSS, we’ve improved the quick documentation support – just press Ctrl+Q (or Ctrl+J on macOS) to learn more. Don’t worry, we won’t tell anyone if you look up the docs for the ‘p’ tag.

All new JavaScript debug console

PyCharm Professional Edition comes with the excellent JavaScript support from JetBrains WebStorm. They’ve just created a new and improved JavaScript debug console that works for both Node.JS code and in-browser JavaScript.

Unit testing

Multiprocess test runner for pytest

Large test suites are good, but they can take a while to run. To make them complete a little faster, we’ve now upgraded our pytest integration to support multiprocess test running.

Databases pro only

New database connection flow

PyCharm Professional Edition bundles all the SQL support from JetBrains DataGrip. They’ve just improved the process for configuring a new database connection. If you haven’t tried this yet, you are in for a treat. After configuring your database, in addition to being able to explore your tables, you’ll also get schema-aware SQL completion when writing queries in your Python code.