JetBrains ups its style and refactoring game in PyCharm and GoLand v2018.3

PyCharm and GoLand, both members of the JetBrains IDE family, are now available in version 2018.3, offering developers new refactorings, improved accessibility, faster searches, and better GitHub support.

If you’re into Machine Learning or containerization, chances are you’ll have to work with Python or Go. JetBrains offers IDEs for both languages and used its last large update round of 2018 to spruce PyCharm and GoLand up for the festive season.

PyCharm now comes with an indentation indicator in the bottom right status bar, showing which type of indentation was picked for the file currently open, and offering a way to convert it to something that goes with your code style guide. There are also additional options for import sorting, which might help even more in achieving a somewhat consistent style when working with lots of external code.

If you tend to get a bit more wordy when formulating your TODOs, you’re in luck, since the update also includes support for multiline TODOs. The latter are, similar to FIXME, a special type of comment, that PyCharm highlights for better findability.

Terminal tabs have become persistent and can be labeled in v2018.3, so that they won’t get lost anymore if you close the software. If you’ve been having trouble quickly finding relevant functions, calls, or other code pieces, the “Search everywhere” popup now includes filtering options to narrow down your search.

Subscribers of PyCharm Professional Edition now have WSL interpreters available to them, offering another option for Windows users to run code in a Linux environment. If the IDE is connected to an issue tracker, the pro edition 2018.3 can measure how long a developer works on a ticket and update the issue tracker accordingly. It also bundles database and web language features from the DataGrip and WebStorm tools, which once updated, let users work with Cassandra or edit HTML without a plugin in Chrome for example.

What about Go?

Meanwhile GoLand just got a tiny bit more accessible: If you’re using a screen reader, it should now be able to read things like line numbers and breakpoints. There’s also a newly added high-contrast theme, which can be accessed via Appearance & Behavior in the Settings section of the IDE.

Since Go is widely used in the containerization community, it might please Docker users that GoLand now includes a new Build options field in the Dockerfiles run configuration. For now it only supports a couple CLI options, though. They include memory-swap, no-cache, pull, cpu-shares, and force-rm. The Kubernetes plugin got updated as well, which means that code completion, the Rename refactoring, code inspections, and quick-fixes are now also available when working with Helm resource template files.

Speaking of refactorings, one of the new additions in GoLand 2018.3 is Change Signature, which should make adding, removing, ordering, and renaming function parameters as well as adding or removing return values more comfortable. It comes in form of a popup window, so that users don’t have to switch context to make a change. When reordering parameters, GoLand will also take care of swapping values at the call sites – naturally, using “Undo” will automatically reverse those changes as well.

When applying a Rename refactoring, the IDE will now inform you about potential conflicts the new name might introduce. It also offers additional inspections, which aim to find parts of the code that can never be executed as well as those that return errors, when the errors aren’t being checked. If you’re in need of a placeholder during programming, an “Add format string argument” intention was added to generate those for any provided expression. There are also Generate Constructor and Generate getter/setter intentions in place, to speed up development.

Those wanting to use GoLand with repository management system GitHub can make use of a new GitHub Pull Requests tool to have a look at or search through pull requests, create local branches, or open PRs directly on GitHub. This function is also available in PyCharm.

A complete list of new features can be found on JetBrains product pages (PyCharm, GoLand) under “What’s new”.