The fourth EAP build supports another Python 3.11 PEP, gets Angular standalone components, improves code insight for ParamSpec, fixes long-awaited debugging issues for WSL projects and the WSL interpreter, and introduces more fixes.

A new build is available from our website, via the Toolbox App, or as a snap package (if you are using Ubuntu). If you are on macOS, there is a separate build for Apple Silicon (M1 chip). 

Important: EAP builds are not fully tested and might be unstable.

Python 3.11: Support for marking individual TypedDict items as required or potentially-missing (PEP 655)

Python 3.11 adds the ability to mark individual keys of TypedDict as Required or NotRequired, so there’s no need to create complex class hierarchies using the total parameter. PyCharm 2022.2 understands Required[ ] and NotRequired[ ] notations and will provide code insight for them.

Support for Angular standalone components

We’ve been actively working to support Angular 14 in PyCharm. The most important addition we’ve made in this release is supporting Angular standalone components. Standalone components offer a simplified way to build Angular applications. Components, directives, and pipes can now be marked as standalone: true. Angular classes marked as standalone do not need to be declared in an NgModule.

Give it a try and share your feedback with us. We have more Angular 14-related improvements in the works – stay tuned!

New notification panel for tuning file type associations

When a file is detected as plain text and doesn’t feature proper highlighting, PyCharm now suggests resetting the file type association right from the editor rather than going to Preferences / Settings and configuring the file types manually.

Enhanced configuration for highlighting problematic code

PyCharm has dozens of inspections that find and report problems in your code so you can keep it error-free. In this release, we’ve improved the configuration of in-editor highlighting for those inspections.

For each inspection, you can now choose how it is highlighted in the editor. Error, Warning, and Typo are just a few of the available options. You can find the full list in Preferences / Settings | Editor | Inspections – just look for the inspection you need and change the value selected under Highlighting in editor.

Importing trusted SSL certificates

PyCharm 2022.2 can now help you import trusted SSL certificates from system trust stores. It will automatically use the custom certificates specific to your enterprise environment. No extra actions are required – everything should work right out of the box.

Improvements to WSL support

We fixed a long-standing issue when debugging WSL projects. Instead of providing the newly edited local files after debugging, PyCharm was providing old, outdated versions that had been stored on WSL for further debugging. 

Now PyCharm uses an editable package source, so you see all of your changes, just like you would when using the local interpreter. The same editable package source is used for debugging, making it clear and easy to follow. 

PyCharm also now recognizes packages, newly installed or uninstalled via the terminal or outside of PyCharm, and provides correct code insight for package import.

Other notable bug fixes:

We’ve added support for named parameters in ParamSpecs [PY-50404].We’ve fixed code insight for different names in ParamSpec string argument and variable name [PY-50401].Rename refactoring works again in the Python plugin for CLion [PY-54337].

The debugger now stops in processes created with execv() [PY-37960].Concurrency diagrams are now generated correctly with the concurrent activities analyzer [PY-52681].The debugger now supports working with dictionaries that have unicode keys and values in Python 2 [PY-31680].FastAPI Run/Debug configuration now can recognize dynamically created apps. For complicated cases, it is possible to configure the app name manually [PY-51881].

To see the full list of improvements, check out the release notes. We are looking forward to hearing your feedback in comments, on Twitter, or using our issue tracker.

Categories: Python