What’s New in PyCharm 2020.3

Environment autoconfiguration for your imported or cloned projects, ‘Search Everywhere’ to find Git commits, Create a React component from usage, and a new Welcome screen for faster initial setup.

Project setup and navigation

Environment autoconfiguration for your imported or cloned projects

Environment autoconfiguration for your imported or cloned projects

If you are cloning or importing a project from the repo with a requirements.txt, setup.py, environment.yml, or pipfile inside it, PyCharm will set up your Python environment for you.

‘Search Everywhere’ to find Git commits

‘Search Everywhere’ to find Git commits

Search Everywhere now also looks for your Git commits. Press Shift twice to open Search Everywhere and start searching. You can even use the search dialog to find the answers to math calculations.

New Welcome screen for faster initial setup

New Welcome screen for faster initial setup

PyCharm’s Welcome screen has been redesigned. The initial setup wizard has been replaced with a quick-access screen containing four pages: ‘Projects’, for managing your projects; ‘Customize’, for setting up the IDE interface; ‘Plugins’, for plugin installation; and ‘Learn PyCharm’, for access to learning resources.

Further improvements

  • The VCS menu now adapts to match the version control system in use. The most useful actions and key features are now available at your fingertips, so you no longer have to go searching for them in the submenu.

Code editor

Invert ‘if’ statements

Invert ‘if’ statements

You can now invert “if” statements: go to the context menu for “if”, choose Show Context Actions, and then select Invert ‘if’ condition. The branches will switch their positions, but the semantics will stay the same. This feature works for all “if” statements without “elif” branches. The action understands control flow, and handles early return.

This was a community contribution.

Drag and drop tabs or open them in ‘Right Split’

Drag and drop tabs or open them in ‘Right Split’

If you want to have several tabs open while working on a project, you can now drag and drop file tabs to split the editor either horizontally or vertically. We’ve also introduced the Open in Right Split action, which splits the editor vertically upon opening your file. You can invoke this action from the Project view or other navigation popups, such as Recent Files, Search Everywhere, and the navigation bar.

Enhanced code insight for type aliases

Enhanced code insight for type aliases

Starting from Python 3.10, using type aliases will no longer interfere with code insight. The new TypeAlias annotation will be supported by PyCharm as soon as it is released in Python, and we are proud to note that this implementation had direct contribution from our own PyCharm developers.

Further improvements

  • Want to make your code even more readable? Use custom color settings for nested functions. Go to Settings / Preferences | Editor | Color Scheme | Python, select Nested function definition from the list of code elements, and specify your custom colors.

IDE Improvements

Git Stage support

Git Stage support

You can now stage changes directly from PyCharm. To enable this feature, go to Preferences / Settings | Version Control | Git and tick the Enable staging area checkbox. Click the + icon to add your files to the new Staged node in the Commit view. You can also stage changes right from the gutter or in the Diff view.

A more powerful Data Viewer

A more powerful Data Viewer Pro only

SciView now allows selecting and copying values, as well as sorting and filtering for columns. You can open and visually compare two datasets directly in the editor pane, and export your processed data to the CSV format.

Better preview UI for the Markdown tool

Better preview UI for the Markdown tool

You can customize the Markdown format in Preferences / Settings | Editor | Code Style | Markdown. Press Ctrl+Alt+Lto apply the formatting. The Auto-Scroll Preview button in the top right-hand corner of the editor allows you to sync the scrolling of the preview pane with the editor.

Intelligent spelling and grammar checks

Intelligent spelling and grammar checks

Now when you press Alt+Enter, the IDE invokes suggestions to correct your grammar and spelling. What’s more, we’ve started using a new version of the LanguageTool grammar checking engine, which improves text reviews in English and adds support for more than 10 additional languages.

Further improvements

  • Sync your PyCharm theme with your OS settings on macOS and Windows. This feature will be especially useful if you’ve already set up auto-switching between Light and Dark mode depending on the time of the day. Go to Preferences / Settings | Appearance & Behavior | Appearance | Theme and select the Sync with OS option.
  • Set PyCharm as the default application for certain file formats. Go to Preferences / Settings | Editor | File Types and click the Associate File Types with PyCharm button.

Frontend development Pro only

Create a React component from usage

Create a React component from usage

Have an unresolved React component in your code? Place the caret at its location, press Alt+Enter, and select Create class / function component from the list – the IDE will create the relevant code construct for you.

cURL conversion in the HTTP client

cURL conversion in the HTTP client

You can now export an HTTP request to cURL. To do so, press Alt+Enter in the HTTP request editor and select Convert to cURL and copy to clipboard. This conversion works in both directions, from cURL to an HTTP request and from an HTTP request to cURL.

Tailwind CSS support

Tailwind CSS support

PyCharm can now help you work with Tailwind CSS more productively. Install the Tailwind CSS plugin from Preferences / Settings | Plugins, and the IDE will autocomplete your Tailwind classes, show you a preview of the resulting CSS on mouseover, and support the customizations you make using tailwind.config.js files.

Further improvements

  • Looking for a certain code element in one of your open JavaScript and TypeScript files? Just click on the file name in the Navigation bar and get the list of all code elements from that file in a popup.
  • We’ve added support for code formatting in JavaScript for multiline CSS and HTML blocks with JavaScript inside them. The IDE will indent correctly when you add code in these more complex template literals or reformat your code.

Collaborative development

Code With Me Plugin

Code With Me Plugin

PyCharm 2020.3 supports Code With Me (EAP), a new service from JetBrains for collaborative development and pair programming. Code With Me enables you to share the project you currently have open in your IDE with others and work on it together in real time. You can download it today from the plugin marketplace (Preferences / Settings | Plugins | Marketplace). Check out these posts to learn more about Code With Me.

Please note that features marked Pro only are supported only in PyCharm Professional Edition.