PyCharm 2020.1 EAP 4

Posted on by David Watson

We have a new Early Access Program (EAP) version of PyCharm that can be now downloaded from our website.

We’ve been hard at work making PyCharm easier to use and adding and improving features to get PyCharm 2020.1 ready for release. We have some good ones for you to try in this build. This EAP also includes loads of fixes from the IntelliJ Platform teams.

New in PyCharm

Flake8-style # noqa suppression

Linters are incredibly useful tools for Python programmers. But sometimes the linter makes mistakes, and you get false positives. In such cases, you might want to disable or suppress the warnings.

To suppress warnings, # noqa comments have become a community standard for various third-party Python linters, such as pycodestyle.py and Flake8. Before, people who used these tools in addition to PyCharm (e.g. by running them as commit hooks or on CI) had to use both the IntelliJ-specific # noinspection XXX and # noqa comments to suppress warnings about the same error, which was both tedious and messy in the code.

noqa

We have improved our inspection capabilities. So now, not only can you use the # noinspection comments, but Flake8-style # noqa comments are now also recognized and treated as universal suppressing markers.

noqa2

What’s more, in cases where an existing Flake8 check directly matches one of our inspections, it’s possible to specify an exact Flake8 error code to suppress a particular message. The same is true for pycodestyle.py errors. So, for example, suppressing “E711 comparison to None should be ‘if cond is None:’” doesn’t prevent formatting errors on the same line from being reported.

noqa3

To learn more about this support, check out our documentation on disabling and enabling inspections.

Auto-import for Django custom template tags

With Django, you can set up a custom template tag to introduce functionality that is not covered by the built-in template tags. You are now prompted to auto-import and add {% load %} if a tag used in a Django template exists in the project but it wasn’t loaded. Place the caret at the custom tag name, press Alt+Enter, and select the file to load. PyCharm adds the {% load %} tag to the template file to fix the reference. Check out the documentation for more about this feature.

tag1

Other Improvements

In the spirit of making changes to improve the experience of working with PyCharm a little smoother:

  • PyCharm will apply all the settings from your previous version to your new version without you having to explicitly tell it to.
  • You can now update multiple plugins more effectively using the UpdateAll action. PyCharm will wait until all the plugins are downloaded before prompting you to restart. This way, you only need to restart PyCharm once to apply all the changes.
  • Git users can now see their favorite branches first in the branch dashboard if grouping is enabled in the tree.
  • If you are working with databases, you will be glad to know that TRUNCATE
    doesn’t trigger schema synchronization.
  • Using “Dump with ‘mysqldump’” on your local MySql database no longer fails if your user password is empty.
  • Starting from v2020.1, the configuration files will be stored in a different folder. For more information on where exactly these files will be stored on your machine, please refer to this article.
  • For the full list of what’s in this version, see the release notes.

Interested?

Download this EAP from our website. Alternatively, you can use the JetBrains Toolbox App to stay up to date throughout the entire EAP.
If you’re on Ubuntu 16.04 or later, you can use snap to get PyCharm EAP and stay up to date. You can find the installation instructions on our website.

Subscribe

Subscribe for updates