Welcome GoLand 2018.1 EAP: Better Inspections, Completion, Performance, and More
Following the opening of the EAPs for IntelliJ IDEA and WebStorm, the GoLand team is in a hurry to let you know that GoLand 2018.1 EAP is here with lots of goodies. Read below to learn what’s new or go ahead, download the EAP and give it a spin yourself. If you use Toolbox App, it already awaiting you there.
Following the changes introduced with Go 1.10, the IDE now supports many of these changes.
First, for method expressions, the IDE now supports any type as a receiver:
Second, the support for Go templates now respects the new keywords such as break and continue:
The formatter has also been updated and now offers correct formatting to three-index slices and single-method interfaces.
Since go vet is now by default running as part of go test, the IDE added missing go vet inspections available on the fly.
For example, the inspection, that reports conditions that are always true (or false), now also spots unnecessary checks for functions on nil:
Also, the IDE reports direct assignments to atomic values:
For return statements inside functions, code completion now suggest default values:
There’s a number of new intentions added to the update, e.g. Flip for binary expressions, and Negate and Negate recursively for boolean expressions:
In addition to Negate, for if statement, you now can use Invert:
Speaking of performance, the update makes it possible to limit indexing of the local project and avoid indexing an entire GOPATH. This new option makes sense when you vendor all your dependencies with dep or glide tools and don’t use libraries from global GOPATH.
The option is available in both File | Settings | Go | GOPATH | Index entire GOPATH and the Project Wizard.
The EAP also brings many non-Go related improvements:
- The IDE now respects fractional scale factors when multiple HiDPI monitors are used
- The Replace in Path popup now previews replacements even if a regular expression is used.
- Now any folder in the Project tool window can be easily opened in the Terminal tool window. The action is called Open in Terminal.
- The Git Branches popup now supports pasting text from the clipboard.
- The Force Push action is enabled by default for all branches except the protected ones. The Allow force push checkbox has been removed from the Preferences | Version Control | Git.
- Better code completion for SVG properties and values
- Navigation from HTML to both compiled CSS and its source
- Pasting HTML to JSX now respects React-specific attributes (className, onClick, onChange, etc).
Major bug fixes
The update has tons of bug fixes including a few major ones, such as with focus issues. Here’s a list of some of the fixed cases:
- The Search Everywhere popup didn’t receive focus.
- The Project tool window didn’t receive focus from the Select In popup.
- The VCS tool window didn’t receive focus from the Diff dialog.
- The Find in Path dialog doesn’t disappear now if you click outside the dialog
For the complete list of changes in the EAP build, please refer to the release notes.
Note, the EAP is work in progress and thus may have bugs. If you find a bug, please make sure to report it to our issue tracker. This way you not only help us make the product better but will also keep informed on the progress, e.g. when this or that bug is going to be fixed.