We are now on the final stage of the release cycle. The release candidate for PyCharm 2022.1 provides enhanced code insight for TypedDict, new tool support for frontend development, and improvements for working with Jupyter notebooks.
Download the EAP builds via the Toolbox App or directly from our website.
Important: EAP builds are not fully tested and might be unstable.
TypedDict support
We’ve enhanced the code insight for TypedDict types. Now PyCharm recognises it when you are creating TypedDict using dict literals and suggests code completion for key types.
PyCharm also suggests code completion options for the function parameters where TypedDict is expected.
PyCharm now properly recognizes forward references and Union types using the “|” operator used as TypedDict value types, providing code completion for key types.
Remote Jupyter support
Support for JupyterHub 2.0
PyCharm lets you connect to JupyterHub version 2.0 using the URL. Once you have connected to a remote server, you can open, edit, run, and copy remote notebooks.
Copy files between remote Jupyter and local machines
It is now possible to copy files between local directories and remote Jupyter instances to keep projects in sync. You can also easily transfer your notebooks and other files to and between remote hosts.
User Experience
A new way to run the current file
PyCharm allows you to run, debug, and test your code, among other things. To do so, it uses the concept of run configurations. As new users often get confused about this concept, we’ve decided to introduce an easier way to get started with running and debugging your code.
There’s now a new Current File option on the toolbar. With its help, you can run and debug the currently open file using the corresponding button on the right. The IDE will automatically use the run configuration type best suited for this file, the same way it does when you run a file from the context menu. To run the current file, make sure the editor is focused.
The new option shows up only if there are no existing run configurations in your project. If some do exist, you can still find the Current File option in the dropdown menu with run configurations.
Improved Structure view
With the Structure view, you can examine your files and jump to their specific parts faster. In this release, we’ve made it simpler to examine JavaScript and TypeScript files. The symbols in a file are now presented in a more logical order. In addition, PyCharm will now show export icons next to exported symbols to make them easier to distinguish.
Updated Structural Search and Replace dialog
We’ve redesigned the Structural Search and Replace dialog to feature a list of all templates to make it easier to navigate between them.
Also, we’ve added a Pin Dialog icon in the upper-right corner of the Structural Search and Replace dialog and moved the Injected code and Match case checkboxes to the bottom of the Search template pane.
Evenly split tabs
You can now evenly distribute the working space among editor tabs so that they are the same width. To set this up, go to Settings / Preferences | Advanced Settings | Editor Tabs | Equalize proportions in nested splits.
UI improvements for the debugger
To maximize the usable space in the Debug tool window, we’ve hidden the tab labels by default. To make them visible again, or to customize their location, use the Show Tab Labels option in the Layout Settings or call it via Search Everywhere dialog (⇧⇧ / Shift+Shift) with the Debug tool window in focus.
Exporting UML diagrams to other formats
It’s now possible to export UML diagrams as yEd .graphml, JGraph .drawio, Graphviz .dot, Graphviz .dot with positions, Mermaid .md, Plantuml, and IDEA .uml files, which makes them compatible with third-party tools. To export, use the corresponding action from the context menu available via right-click.
New UI for inlay hints settings
We’ve implemented a new UI for Inlay Hints settings. It allows you to configure your preferences based on the type of hints you want the IDE to provide.
Editor
New Incorrect formatting inspection
We’ve implemented the Incorrect formatting inspection, which notifies the user if the current formatting of a file does not match the code style settings.
To turn on the inspection, go to Settings/Preferences | Editor | Inspections | General | Incorrect formatting.
Frontend development
ESM support for webpack configuration
From now on, webpack coding assistance will work with ES modules in your webpack.config.js files.
Support for Volta
PyCharm 2022.1 will get proper integration with Volta, a JavaScript tool manager. It will automatically recognize Yarn and npm installed using Volta.
Corepack support for Yarn and pnpm
Another thing that made it into this release is Corepack support. Corepack is an experimental Node.js tool that lets you use Yarn and pnpm without having to install them. If you want to give it a try, make sure you run corepack enable in the built-in terminal – the feature isn’t turned on by default. For more information, see the official documentation.
VCS
Define external diff and merge tools by file media type
PyCharm now allows specifying different external diff and merge tools based on the file type. To configure them, go to Settings / Preferences | Tools | Diff & Merge | External Diff Tools.
Suggested changes in pull request comments
It’s now easier to work with suggested changes in PyCharm. We’ve added the ability to apply or commit changes locally right in the IDE.
Accessibility improvements
We’ve introduced updates and fixes for PyCharm’s accessibility features to better accommodate the needs of our users.
To facilitate navigation in the Log tab, the screen reader now reads the names and descriptions of the branches’ trees. It provides a voice prompt to use ⌘L to navigate through other Log filters.
The accessibility support for macOS users has been improved. In this EAP build, we’ve resolved the VoiceOver issue that was causing multiple unnecessary repetitions of list elements. Additionally, VoiceOver can now read combo box lists, and we’ve fixed the incorrect positioning of the VoiceOver cursor when working on an external display.
Notable bug fixes:
Django: PyCharm now supports the pathlib module, so the IDE can set the correct path for the local settings. [PY-13911]
We look forward to getting your feedback on the new features. You can submit feedback via our issue tracker, Twitter, or in the comments section below.