PyCharm 2022.3: New Settings Sync Solution, New Way to Manage Conda Packages, and Enhanced UX for Pandas DataFrames
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.