What’s New in PyCharm 2022.3

PyCharm 2022.3: New Settings Sync Solution, New Way to Manage Conda Packages, and Enhanced UX for Pandas DataFrames

UX

New Settings Sync solution

New Settings Sync solution

The new Settings Sync plugin is now available for PyCharm. The new solution is capable of syncing most of the shareable settings from the platform, bundled plugins, and some third-party plugins. Please note that we are discontinuing support for the old IDE Settings Sync plugin and unbundling the Settings Repository. For more information, refer to this article.

A new way to manage Conda packages

A new way to manage Conda packages

Search, install, and delete Conda packages without leaving the Editor window. The Python Packages tool window now works with the Anaconda package library, allowing you to customize your Conda interpreter directly while you are writing code.

New PyCharm UI available via settings

New PyCharm UI available via settings

Preview the completely reworked look and feel of PyCharm by switching to the new UI. Tick the New UI preview box in Settings/Preferences | Appearance & Behavior and give it a try while working on your projects. Watch the new UI in action in this video. You can learn more about our plans concerning this change in this blog post.

Redesigned Review list for GitHub and Space

Redesigned Review list for GitHub and Space

We’ve reworked the Review list UI to help reduce cognitive load and provide the most important information about requests at a glance. As part of this improvement, we’ve also unified the look and feel across all supported review platforms.

Improved tips of the day

Improved tips of the day

We’ve made a number of changes to the appearance and behavior of tips of the day to make them more useful and easier to digest. We’ve updated the dialog’s design and implemented tip rating functionality to collect your feedback. We’ve also fine-tuned the algorithm that determines which tips appear to make them more relevant to your experience with the IDE and the project you’re working on.

Further improvements:

  • To make interacting with PyCharm on multiple monitors more convenient, we’ve implemented the option to drag tool windows out of the main window and dock them to floating editor tabs.
  • We’ve implemented a few UI improvements to Bookmarks: just right-click on a tab to invoke the context menu and then select Bookmarks to bookmark files from editor tabs. You can also add all files in all open tabs to Bookmarks. Read more in our help.
  • PyCharm provides the ability to read code in your preferred style, without requiring you to reformat the real code. You can apply a new visual formatting layer in Reader mode.
  • We have fine-tuned the algorithm behind the Search Everywhere result list. The IDE will freeze the first search results and won’t re-sort them as more options are found. In addition, the ML ranking is now enabled for the Files tab, providing more accurate lookup results.

Jupyter Notebooks Pro

Enhanced UX for pandas DataFrames

Enhanced UX for pandas DataFrames

You can switch between Table, Tree, and Text viewing modes. It’s now possible to transpose DataFrames, hide columns, and use pagination to quickly navigate through the rows.

DataFrames can now be exported in a wide variety of formats, including Excel, JSON, HTML, XML, Markdown tables, and SQL Insert statements.

Data Vision: inline information about Jupyter variables

Data Vision: inline information about Jupyter variables

With Data Vision, you can inspect Jupyter variables within your notebook. Enabling this feature gives useful inline information about a number of important variable types, such as the size and contents of NumPy arrays and pandas DataFrames. Data Vision can be switched on by going to Settings/Preferences | Languages & Frameworks | Jupyter and selecting Show inline values in editor.

Editor

Improvements to docstrings rendering in Quick Documentation

Improvements to docstrings rendering in Quick Documentation

The Quick Documentation popup now helps you quickly see the class attributes, as it now displays the Attributes section of the class docstrings. This also works for inherited class attributes and attributes of data classes.

Reading through the class instances is now easier: Just hover the mouse over the __init__ parameter and its description will be invoked from the class docstring.

Intention action preview enabled by default

Intention action preview enabled by default

See instantly how your code will be altered once you apply the IDE’s suggestions. The preview appears when you open the list of available intention actions and hover on one option or another.

Python 3.11: Code insight for Self type

Python 3.11: Code insight for Self type [PEP 673]

PyCharm recognizes the Self type for the method or attribute annotations, and it suggests the correct type for class instances.

PyCharm will warn you if the usage of Self is incorrect in the particular location.

Further improvements:

  • There’s a new quick-fix to suppress inspections with a comment in YAML files, including Kubernetes files, OpenAPI specifications, and docker-compose.yml.

asyncio support for the Python Console

Python Console

The built-in Python Console now supports using the await keyword outside the function to quickly run a coroutine. PyCharm 2022.3 also adds asyncio support for the debugger. While useful for debugging asynchronous code, this feature is experimental and might not be fully stable. To enable it, follow the steps described here.

Frontend Development Pro

Vitest support

Vitest support

PyCharm now supports Vitest, a Vite-native unit test framework! You can run, re-run, and debug your tests in all of the key ways you’d expect, including through gutter icons. Also, the Watch mode is enabled with the All Tests scenario by default. Snapshot testing and coverage are supported in watch mode, too, giving you near-instant feedback on coverage when coding.

New project templates for Next.js and Vite

New project templates for Next.js and Vite

The New Project wizard available on PyCharm’s Welcome screen now includes project templates for Vite and Next.js. We’ve also updated the project template for Vue to make sure it follows the latest standards.

Vue updates

Vue updates

PyCharm can now take care of unresolved imports and will offer suggestions for importing Vue components. We’ve also supported the props destructure syntax, improved the behavior of code completion and type checking for Vue library component props, and fixed several Nuxt 3 issues.

Integrated Developer Tools

Security

Vulnerability checker for packages

Vulnerability checker for packages

PyCharm detects vulnerabilities in the packages used in your projects by checking the packages against the Checkmarx SCA Database and the National Vulnerability Database. The IDE will highlight packages that are considered vulnerable in package.json, requirements.txt, setup.py files. To view the inspections, you need to enable Security Inspections in Preferences / Settings | Editor | Inspections | Security.

HTTP Client Pro

Code style improvements for the HTTP Client

Code style improvements for the HTTP Client

The HTTP Client now provides better formatting options for requests with long URLs. You can also use the Put query parameters on separate lines intention action to break the query into smaller fragments on different lines. To help you manage HTTP request formatting, we’ve implemented a new option in Settings/Preferences | Editor | Code Style | HTTP Request | Wrapping and Braces.

Pre-request scripts and new APIs for JavaScript handlers

Pre-request scripts and new APIs for JavaScript handlers

The HTTP Client now supports script blocks that are executed before requests. You can generate data before request execution and put it in the final request using variables. PyCharm now also provides the сrypto API, making your code capable of computing md5 or sha1 hash values for HTTP requests.

Docker Pro

Pull Docker image intention action

Pull Docker image intention action

There is now an easy way to pull a required image without running it from a Dockerfile, docker-compose.yml, or even from tests that use Testcontainers. Simply call up the context actions (Alt+Enter) on the highlighted image name and select Pull Docker image.

Support for the .dockerignore file type

Support for the .dockerignore file type

We’ve introduced full support for .dockerignore files, including code highlighting and completion. These files are now taken into account when you build an image from the IDE.

Support for the heredoc format in Dockerfiles

Support for the heredoc format in Dockerfiles

Here documents allow you to redirect subsequent Dockerfile lines to the input of RUN or COPY commands. PyCharm now supports this syntax, so you can use it to generate config files or multiline scripts right in your Dockerfiles.

Docker connections from Docker Contexts

Docker connections from Docker Contexts

You can now set up additional Docker connections using Docker Contexts if you already have the settings for them in your Docker config file. You can do so by calling the Add Service context menu in the Services view and selecting Docker Connections From Docker Contexts.

Databases Pro

Redis support

Redis support

In PyCharm 2022.3, we’ve implemented long-awaited support for Redis. You can now connect to Redis Single Instance, explore key values in the data viewer, write and execute Redis queries with the help of our smart coding assistance, and more. See the details in this blog post.

Formats for date and time data types in the data editor

Formats for date and time data types in the data editor

It’s now possible to customize how fields of the Datetime/timestamp, Time, and Date types will be displayed in the data editor. The settings are located in Database | Data Editor and Viewer.

Quick filter in Database Explorer

Quick filter in Database Explorer

We’ve introduced a long-awaited update to the Database Explorer. Now, when using quick search, you also have the ability to filter objects. All non-matching objects will be hidden.

Pattern-based schema filtering

Pattern-based schema filtering

It’s now possible to choose databases or schemas for introspection based on regular expression patterns. To do this, click on Add Pattern and define a regular expression pattern in the new node. Adding multiple patterns will combine multiplicities, not create an intersection of them. The All node now behaves differently: You need to choose between All schemas, Default schema, or applying a regexp filter.

Installers

Installers for Windows and Linux ARM64 machines Beta

It is now possible to run PyCharm on Windows and Linux machines with ARM64 processors. At this point, the IDE installers are in Beta. For Windows users, they are available from the website or the JetBrains Toolbox App. Linux users can only download them from the website.