PyCharm 2023.3 Early Access Program Is Open!
UI/UX Enhancements, Support for PEP 647, and More
The Early Access Program for PyCharm 2023.3 kicks off today, offering you a sneak peek of the exciting new features and improvements we expect to include in the next major release.
If you’re not familiar with how the EAP works, please read this blog post for an introduction to the program and an explanation of why your participation is invaluable.
We invite you to join us over the next few weeks, take a closer look at the latest additions to PyCharm, and share your feedback on the new features.
You can download the build from our website, get it from the free Toolbox App, or update to it using snaps if you’re an Ubuntu user.
Read on to explore the new features and enhancements that you can test in this version.
User experience
Option to hide the main toolbar in the default viewing mode
In response to your feedback about the new UI, we’ve implemented an option to hide the main toolbar when using the IDE’s default viewing mode, just like in the old UI. To declutter your workspace and remove the toolbar, select View | Appearance and uncheck the Toolbar option.
Default tool window layout option
With the release of PyCharm 2023.1, we introduced the ability to save multiple tool window layouts and switch between them, enhancing the customizability of your workspace. In the first PyCharm 2023.3 EAP build, we’re expanding this functionality by introducing the Default layout option, which provides a quick way to revert your workspace’s appearance to its default state. This layout is not customizable and can be accessed through Window | Layouts.
New product icon for macOS
With the launch of the PyCharm 2023.3 EAP, we have redesigned the PyCharm icon for macOS to align it with the standard style guidelines of the operating system.
Django REST Framework
Support for viewset
PyCharm 2023.3 will help you define endpoints when working with the Django REST Framework. The IDE will support code completion, navigation, and rename refactoring for the methods used in the viewsets.
Try this feature and share your feedback with us!
Editor
Support for type guards [PEP 647]
PyCharm 2023.3 will support PEP 647. PEP 647 introduced a way to treat custom functions as “type guards”, which, when used in a conditional statement, leads to the narrowing of their argument types. Think of the built-in functions isinstance
and issubclass
, which our type-checker already recognizes. Now, the user-defined function returning typing.TypeGuard
has the same effect on type inference in PyCharm.
Move code elements in the Python files
In PyCharm 2023.3, you can move code elements left or right in the Python files with Option + Shift + Cmd + Left/Right on macOS (Alt + Shift + Ctrl + Left/Right on Windows/Linux).
Python Console
Option to switch between single and double quotes when copying string values from the Variable View
There is a new option to put double quotes instead of single quotes around a string value copied from the Variable View in the Python or Debug Console.
To switch between single and double quotes, go to the Other option (three vertical dots icon) in the main Debug menu bar, choose Debugger Settings | Variable Quoting Policy and pick your preferred option.
Navigate between the commands in the Python Console
In PyCharm 2023.3, you can navigate between multi-line commands in the Python Console using Cmd + Up / Cmd + Down shortcuts on macOS (Ctrl + Up / Ctrl + Down on Windows / Linux). When you move to the previously executed command, a caret is set to the end of the first line. When you get to the most recently executed multi-line command from your history, a caret is set to the end of the command.
Static code completion in the Python Console
In PyCharm 2023.2, we added an option to use static code completion in the Python Console. In PyCharm 2023.3, it will be enabled by default. If you would like to switch to runtime code completion, go to Settings | Build, Execution, Deployment | Console and choose the option in the Code completion drop-down menu.
Notable bug fix: execute code with root privileges via sudo
We fixed a regression that prevented users from executing code via an SSH connection in PyCharm with root privileges via sudo. [PY-52690]
These are the most important updates for this week. For the full list of changes in this EAP build, read the release notes.
We’re dedicated to giving you the best possible experience, and your feedback is vital. If you find any bugs, please report them via our issue tracker. And if you have any questions or comments, feel free to share them in the comments below or get in touch with us on X (formerly Twitter).