PyCharm 2023.1: EAP 2 Is Out!
In the second EAP build, we’re offering in-editor improvements and additions to TypeScript support.
You can check out the previous EAP posts to see what else we’ve implemented in PyCharm 2023.1.
You can download the new EAP build from our website, get it from the free Toolbox App, or update by using snaps if you’re an Ubuntu user.
Performance
Scanning files to index in smart mode
We’ve improved the IDE startup experience by performing the Scanning files to index… process in smart mode, which makes the full IDE functionality available much earlier in the startup process. When opening a project, PyCharm uses existing caches from the previous session with the project and simultaneously looks for files to index. If no changes are found in the scan, the IDE will be fully ready to work, eliminating the delays that were previously caused by indexing on startup.
New IDE suggestion to reconfigure Windows Defender settings for better performance
In PyCharm 2023.1 EAP 2, there’s a new notification triggered when Windows Defender with Real-Time Protection is running. Given that these antivirus checks can significantly decrease the IDE speed, PyCharm suggests adding certain folders to Defender’s list of exclusions. The notification provides options to either reconfigure these settings automatically, or first check the Defender configuration instructions and do it manually.
User experience
Hidden toolbar in Zen and Distraction Free modes in the new UI
We’ve refined the IDE’s look and feel when the new UI is enabled. The top toolbar is no longer visible in Zen and Distraction Free modes.
Rendering of reStructuredText in the Quick Documentation tooltips
Reading through parameter or attribute documentation formatted with reStructuredText is now clearer, as Quick Documentation tooltips for attributes or parameters now render markup formatting.
Editor
Custom regexp-based search and replace inspections
You can now use regular expressions to create your own search and replace inspections. These inspections can be especially useful to highlight style-based or formatting-based problems.
Go to Settings/Preferences | Editor | Inspections and press the + icon. Select Add RegExp Search Inspection from the list and you’ll be directed to a dialog where you can set up your new inspection. Select the language, use hints on the left to build a regexp, and designate the required replacement for the selected pieces of code. You can also configure the way you want the IDE to highlight them in the project.
Select the language, use hints on the left to build a regexp, and designate the required replacement for the selected pieces of code. You can also configure the way you want the IDE to highlight them in the project.
Inline prompt for Rename refactoring
We updated the way to use Rename refactoring in PyCharm. Instead of typing a new name in the popup dialog, you can now change it through the inline prompt form.
Better code insight for Python generics classes
For PyCharm 2023.1, we addressed some issues for type checking generic classes and protocols: [PY-53896], [PY-27707], [PY-30709], and [PY-38897].
Support for TypeScript in Vue template expressions
PyCharm 2023.1 includes support for TypeScript in Vue template expressions. The Vue template expressions now sync to lang=”ts”
added to script tags. As a result, PyCharm can better evaluate TypeScript, providing preferences and relevant refactorings matching what’s inside the script tag. You may have noticed before that there were differences between settings and refactorings for pure .js and .ts files. Now the lang attributes will match.
Here are a few of the improvements you may notice:
- Inline casts can be used.
- Strict null checks in templates with support for type narrowing.
- Strict null checks for component props.
- Preferences / Settings unification across both scripts and templates.
- Types shown in Quick Documentation and other UI elements should work the same across scripts and templates.
- Template expressions now support literal types, like true instead of boolean.
- Template expressions now use TypeScript refactorings instead of JavaScript ones.
These are the most important updates for PyCharm 2023.1 EAP 2. For the full list of improvements, check out the release notes. Share your feedback on the new features in the comments, on Twitter, or in our issue tracker.
The PyCharm team