What’s New in PyCharm 2017.2
Docker Compose on Windows, SSH Agent, Amazon Redshift, and Azure database support.
We’ve made a couple of small improvements to make your development experience smoother. Now if you’re writing a call to a function, but you realize you need an additional parameter, you can use the change signature quickfix. If you’re using str.format, PyCharm 2017.2 will check to make sure that you’re providing the right input. Finally, we’ve added autocompletion for type hints.
The PyCharm data view keeps getting better. In 2017.2 we added support for Pandas series in addition to the already-supported Numpy arrays and Pandas DataFrames.
Do you not like typing your keys’ passphrases over and over again? Maybe you’re using ssh-agent or Pageant (PuTTY’s implementation of ssh-agent) to manage your keys. Good news: PyCharm now supports this, so no more need to separately enter your passphrase in PyCharm.
By popular demand, we’ve expanded our support of Docker Compose to Windows. Whether you’re using native Docker for Windows, or Docker Machine, you can now run your code from PyCharm on Windows.
You can now select ‘Attach Console’ on any SQL fragment, whether it’s in your Python code or in a separate file. After letting PyCharm know on which server you’d like to execute the code, you can instantly see what is returned by right-clicking and choosing ‘Execute’ (or by pressing Ctrl + Enter)
If you’re using a PostgreSQL server with multiple databases configured, you now no longer need to configure each database as a separate connection in PyCharm’s database tools.
PyCharm now comes with support for Amazon Redshift and Microsoft Azure databases. Connect to them just like you’d connect to any other database using the database tools. To learn more about this feature, and further improvements to the database tools in PyCharm, check out what’s new in DataGrip. PyCharm Professional Edition comes with most of DataGrip’s features.
Have you ever committed something, and noticed a typo right after? We all have, and PyCharm now makes fixing it easier. Just right click your commit, and choose reword. Made a bigger mistake? Revert will create a new commit that undoes everything the selected commit introduced.
Do you like to keep your commit messages formatted nicely? PyCharm can now help you out by ensuring there’s a blank line between your subject and the commit message body, and keep track of the line length for you.
In React we now support completion and auto-imports for stateless components. For Angular, completion and navigation are now supported for Angular Material attributes.
We’re working on improving the basics: find in path now gets a gutter just like the regular editor. See at a glance which files have been changed, and navigate to related code straight from the results.
Do you have a 4K screen, and another lower resolution screen? We now support per monitor scaling on Windows.
Python 3.6 debugging is now up to 40x faster! We have been able to use some new features in Python 3.6 to radically improve the performance of the PyCharm debugger. Is your project not on 3.6 yet? Python 3.5 (and older) debugging got up to two times faster as well. If you’d like to know more: read the interview with our developer.
PyCharm has now adopted the TeamCity API for test runners. This means that test configurations will be consistent between the IDE and CI builds. This allows us to use the native test runners, and will make integration of new test runners in the future easier. Read about the technical details here.
If you’d like to upgrade to Python 3, but still need to support Python 2 for a while, you can use the six library. The six library enables you to write a single codebase that can run on both Python 2 and Python 3 interpreters. PyCharm now has accurate code completion and code insight for six.
PyCharm has been updated to support all current versions: Django 1.10, Flask 0.12, and Pyramid 1.8.2.
Unit tests are a great tool to check against regressions, but sometimes you want to change something which breaks your tests. Now you can see right in the editor which tests need an update, and if you’re using Mocha or Jest you can debug them right from there.
Bad things happen when you think you’re working on staging, but you accidentally opened an SQL prompt on your production server instead. To prevent this, now you can set your editors to different backgrounds.
Our log viewer has a couple of small useful improvements: you can now search commits using regex, and toggle case sensitivity.
We’ve improved our file history panel. For example, you can now easily toggle between seeing only the commits on the branch you’re currently on, or the commits on all branches.
If you’re security-conscious, you may have hardened your server’s SSH access with 2-factor authentication. PyCharm now supports connecting to SSH servers that are protected with Google Authenticator.
PyCharm 2017.1 supports Docker for Mac using native unix sockets. No more need to use SOCAT to connect your IDE to Docker.
When doing data science, seeing the data you’re working on makes the work a lot easier. That’s why we’ve taken our DataFrame and Numpy Array viewer, and evolved them into a dedicated Data View pane. Complete with tabs to easily watch multiple datasets.
Jupyter Notebooks are a great way to do research. If you do research in a team, you’ll want to share your notebooks with your team members. That’s why PyCharm 2017.1 supports connecting to Jupyter Notebooks on a shared server.
Lower latency typing means for a better typing experience. Pavel Fatin, one of our developers, worked hard to get the latency down as low as it can go.
When enabled, semantic highlighting will make it easy to see where a variable is used at a glance. Check out our blog for more information.
A small improvement to make your life easier: hold Ctrl and click any link in the terminal to open it in your browser.
We’ve reworked our Find in Path dialog: it’s cleaner, easier to use, and sleeker-looking! Try it yourself: right-click a folder in your project and select ‘Find in Path.’
PyCharm now supports creating Django projects with a remote interpreter straight from the new project screen. If you develop in VMs, Docker containers, or on remote machines, your workflow just got easier.
PyCharm now understands the forms context in class-based views. It shows forms-specific autocompletion and suggestions in the same way it does for function-based views.
Have you ever written some code in the Python console to test it, before including it in your project? In PyCharm 2016.3 you can now quickly copy-paste code from the built-in console to your project files. Your code will automatically be formatted. Further: If you're launching the console as a part of your run configuration, you can now use the variable viewer to inspect all your variables. We've also fixed some issues with multi-line commands, added tab completion for IPython, and many more things.
When debugging, your own variables are usually most relevant. That's why we've hidden the special variables until you need them. And if you do want to explore them, simply expand them.
You can also explore pandas dataframes, and numpy arrays, straight from the debugger in PyCharm 2016.3.
The new version of Python will be released soon, and PyCharm 2016.3 is well prepared. It already supports type annotations, f-strings, underscores in numeric literals, asynchronous generators, and asynchronous comprehensions.
Is activating your virtualenv the first thing you do when opening a terminal session? We just took care of that for you. When you open the terminal in Pycharm 2016.3, it will automatically activate the virtual environment associated with the project you're working on. Auto virtualenv is supported for bash, zsh, fish, and Windows cmd. You can customize your shell preference in Settings (Preferences) | Tools | Terminal.
If you enable the option, PyCharm can now show you whether you've covered all code branches, right next to the point where the code branches. Enable the option in PyCharm 2016.3 by going to Settings (Preferences) | Build, Execution, Deployment | Coverage | Python coverage.
If you use vmprof, PyCharm will now show performance information right next to your code. You can see at a single glance which lines need closer attention. To start using vmprof, simply install the vmprof package from PyPI into your project. You can use the PyCharm built-in package manager (Settings | Project | Project Interpreter) to install the package. After running your code with profiling enabled, the performance information will be displayed in your editor.
More and more developers use environment variables to configure their applications, PyCharm now makes it easier to set environment variables for Docker compose run configurations. If you want to further tailor your environment with a compose file extension, this has also been made easy.
PyCharm 2016.3 comes with many of the new features from WebStorm 2016.3. For example, if you have Angular CLI installed, you can use it to generate new components, directives, services, and other blueprints straight from the ‘New…' popup. Other new features include Flow type checking support and Stylelint CSS linting. Check the WebStorm 2016.3 page for more.
The version control integration in PyCharm 2016.3 is faster than ever. The improved log screen (View | Tool Windows | Version Control, Log tab) shows the previous commits, and allows you to quickly search for commits. You can also filter your log search by branch, commit author, and filesystem path.
Resolving merge conflicts is everybody's favorite part of the job. Unfortunately we can't make it more fun, but we can make it easier for you. The new merge resolve interface has code highlighting and other code navigation features built-in. In some cases it will even let you automatically resolve conflicts with a single click.
Have you ever checked in some code, only to quickly realize you forgot something? You can now undo your last commit (if it hasn't been pushed yet) straight from the log. For example, for git repositories this executes git reset --soft HEAD~1. Hint: you can always see what PyCharm did by checking the console tab of the version control window.
We've added a graphical interface for managing git remotes. You can manage your remotes by navigating to VCS | Git | Remotes, or by adding them straight from the ‘Push commit' screen.
Sometimes you want to change a lot of cells simultaneously, you can now select them all and change them in one go! Of course for this to work, the fields need to have the same type, and they shouldn't be set to have unique values in your database. To see more new database improvements, check out what's new in DataGrip, our new database IDE. PyCharm 2016.3 bundles many DataGrip features.
Did you want to check out the new support for ligatures, but haven't had a chance to get a font with them yet? We now include Fira Code with PyCharm. If you want to see what it looks like, select Fira Code in Editor | Colors & Fonts | Font. Be sure to turn on the font ligatures feature on the same settings page. We've also introduced new flat file icons.