What’s New in PyCharm 2018.3
Run Python on Windows Subsystem for Linux, Search Your Project Faster, and See GitHub Pull Requests
Are you using Windows, but developing an application for Linux? You now have yet another option for running your code in a Linux environment from PyCharm. Run your code in Windows Subsystem for Linux.
When Python 3.6 came out, F-strings were one of the most popular features, and of course PyCharm has supported them since the beginning. As they are growing even more popular, we’ve made some changes to make them a lot faster in PyCharm, and fixed a lot of bugs as well.
One of the most voted-for features in YouTrack was a request for supporting multiline TODOs. It’s here now: multiline TODOs are supported in Python (and other languages) in PyCharm 2018.3.
Did you know that PyCharm can automatically format the imports in your code? This lets you easily format your code according to PEP 8 and/or your project’s code style guide. PyCharm 2018.3 expands the various configuration options for import sorting.
Search everywhere helps you search anywhere. The search everywhere popup now shows which options you have to narrow down your search and find what you’re looking for faster.
PyCharm is a great tool for developing Python. But did you know you can also use PyCharm to write TerraForm files, or Ansible playbooks? It’s all possible with third-party plugins. We’ve refreshed our Plugins repository, so check it out and customize your PyCharm.
Various world wars have been fought over which type of indentation is superior. We won’t pick a side, but we will enable you to see which side the author of your file picked. The status bar also functions as a weapon to convert these files to your preferred type of indentation.
Is your first move when you start up your IDE to set up a couple terminal tabs for various purposes? You’ll need to reshuffle your morning routine, because we’ve made terminal tabs persistent: PyCharm now remembers them for you. To make things even sweeter, you can label them.
PyCharm connects to your issue tracker: with tasks and contexts, you can quickly pick a ticket from the tracker, create a new branch, and get started. Since PyCharm 2018.3, the IDE can measure how long you work on a ticket, and automatically update your issue tracking system.
To smooth out the process of reviewing code on GitHub a little, checking out the code proposed in a pull request is now only a click away: go to the new Pull Request tool window, explore pull requests, right-click the PR, and choose ‘Create New Local Branch’ to check it out.
PyCharm Professional Edition already has solid support for nearly all commonly used SQL databases. We’ve now set our first steps toward supporting unstructured NoSQL databases. Try Cassandra support now!
PyCharm Professional Edition has supported live editing HTML for a while, but it has always required a plugin to be installed. Now, you can live-edit HTML and CSS without using a plugin, making quick work out of getting your page styled just how you like it.
We’ve updated our support for Angular, and coding Angular should now be faster and more accurate.
Pipenv simplifies your application's dependency management. PyCharm 2018.2 will automatically create a pipenv when you open a project with a Pipfile, and makes it easy to create new projects with pipenvs.
Want to try an exciting new library, but not spend all day reading documentation? PyCharm’s quick documentation is now better looking and easier to read. Press Ctrl-Q (Ctrl-J on macOS) to see exactly the documentation you need, right in the editor.
Pytest makes testing your code a breeze. In PyCharm 2018.2 we’ve upgraded our Pytest support with BDD and code intelligence for fixtures. Fixtures are available in both the community edition and the professional edition of PyCharm 2018.2, get PyCharm Professional Edition for BDD support.
You may have already seen how PyCharm (with a plugin) can show you what your Markdown document will look like. This functionality, and more, is now available for reStructuredText.
Have you been reading about those exciting new Dataclasses in Python 3.7, but you can’t upgrade your project yet? The attrs library brings these features (and more) to any Python version.
PyCharm aims to help you write better Python code, faster. That’s why we’ve improved the code insight even further: it now checks more type hints, and checks if you’re correctly awaiting function calls in asynchronous code, and offers quick fixes.
Do you use multiple GitHub accounts on a regular basis? PyCharm 2018.2 makes switching between them more convenient.
He who doesn’t know history is doomed to repeat it. By being able to slice and dice it in multiple tabs, we’ve made it easier to learn from your project’s history.
They said it couldn’t be done, they said it violates the second law of thermodynamics. Time travel: it’s available in PyCharm now.
SQL is a powerful language and allows you to view your data in many complex ways. To keep your application performant, check your query plans. In PyCharm 2018.2 you can visually inspect where you need to tweak your query or add an index.
PyCharm 2018.2 looks sleeker than ever before. The new design philosophy reduces the usage of color to where it is semantically important, making it easier to find what you need at a glance.
Do you have a MacBook Pro with a Touch Bar? PyCharm now provides context-sensitive touch bar contexts for running your code, debugging, VCS, and more.
Code maintenance usually isn’t a developer’s favorite task. Deleting unused code makes the job quicker and lets you finish the task quicker. PyCharm now helps you find unused client-side JS code.
Performance is an important topic, and we’re happy to announce that indexing new Angular projects is now twice as fast.
Most Vue templates will have event code attached to them. PyCharm now makes it easier to hook up your handlers to the correct event.
Use the newest Python features with PyCharm: dataclasses, from __future__ import annotations, and more.
PyCharm 2018.1 makes it even easier to use type hints to annotate your code. Type hints are now inherited from superclasses, and you can use typing.NewType to define custom types. If you prefer to leave things implicit, we’ve also improved the type inference for collections.
When writing scientific code, it doesn’t always make sense to run the whole file. Run only the part of the file you are working on – and never wait to reload your data. Just turn on the scientific mode (View | Scientific Mode) and try them now!
Get started with your analysis quickly by creating a scientific project. The scientific project will create a folder structure for your data and a Conda environment for you right away. Using a custom Conda installation? You can now tell PyCharm which Conda executable to use.
Flask has introduced the `flask` commands in its newer versions. You can now create run configurations that use the `flask` commands in PyCharm.
Do you like granular commits? PyCharm 2018.1 lets you choose exactly which changes to include in your commit.
Rebasing is a task that few developers look forward to. Ease the pain with PyCharm’s new rebase integration.
Do you like to run code on remote machines? Whether it's an EC2 box or your Raspberry Pi, PyCharm makes it easy to connect.
We’ve added support for Docker Compose 3.3 and later, improved the performance of Docker Compose-based interpreters, and changed the output to make the logs look more like they do when using command-line Docker.
PyCharm Professional Edition bundles all of the features of JetBrains DataGrip, our database IDE. To take advantage of this easy-to-use integration, you can now find tables of connected databases using the 'Find class' window.
When setting up an SSH interpreter, there are a couple of things PyCharm needs to transfer: first are some tools to run and debug the code remotely. These tools then generate skeletons which, with the remote standard library, need to be transferred back to the local machine. We have made several large improvements to the way we do this, and it is significantly faster now. Please keep in mind though, that the performance is dependent on certain factors, including your connection speed, and the number of packages you have configured on the remote interpreter.
PyCharm’s debugger is written mostly in Python and so we’ve been able to alleviate some of the performance bottlenecks by using Cython to compile our code. Windows users have been getting a precompiled version. Our macOS users now also get a speedup of up to 27x by default. On Linux, you should still click ‘Install’ when prompted about the debugger speedups.
If you store large amounts of data in your variables, e.g. large DataFrames, you might have had to wait a while during debugging as the values were loaded by PyCharm. In 2017.3 these values are loaded asynchronously, and you won’t have to wait for the huge DataFrame to load before you see your other variables.
Unless you’re doing a replication study, data analysis is an exploratory and interactive process. To make this easier, we’ve created a data science mode which shows you your data while you are working on it. As visualizing your data is a key step in finding new links, we’ve integrated a matplotlib viewer as well.
When developing an API you often have to send it a complex request to test your functionality. That’s why we’ve built an all-new REST client for PyCharm 2017.3. Try it yourself: create a scratch file (Ctrl+Alt+Shift+Insert, Cmd+Shift+N on macOS), and choose ‘HTTP Request’.
PyCharm 2017.3 is ready for the newest version of Python’s most popular web framework.
One of the few things in Python that confuse developers are virtualenvs. We’ve been working on making interpreter configuration easier, and you can see the first results in PyCharm 2017.3.
If you use jump hosts, or another complex SSH setup, you’ll be happy to learn that PyCharm 2017.3 will use the settings from your regular SSH config file.
Several Python frameworks should be run using a module, you can now use PyCharm to run this code exactly like you would from the command line.
An oft-requested feature is the ability to give function calls a different color; this is now available in PyCharm 2017.3. In addition, you can also change the color of type hints in your code.
Have you ever debugged code that takes a while to start up, and stepped just a couple lines too far? In PyCharm 2017.3 you can tell the Python interpreter where to go next, whether forwards or backwards. Just right-click on the code and choose ‘Jump to Cursor’
For those of you who work on large projects, you may have noticed that sometimes when you switch branches, it takes a little bit of time for the project to refresh. We’ve made optimizations to make this a lot faster.
A lot of developers work with feature branches. If you work on different tasks in different branches, you’ll appreciate PyCharm remembering the files you were working on in all your branches, and switching to them automatically.
Ever worked on a large data science project with many databases? Or had several environments for your web application? You’ll appreciate the ability to group data sources.