Latest GoLand EAP previews remote development, support for generics

JetBrains has made available GoLand 2021.3 EAP #6 — a preview release for the upcoming version of its cross-platform development environment for the Go language.

This Early Access Program build for GoLand 2021.3 showcases some new capabilities such as Remote Development support plus support for generic functions, which is expected in a future release of the Go language itself.

Announcing the new release on its GoLand blog, JetBrains said that it began working on supporting type parameters in GoLand some time ago, and this build delivers type inference for generics. This is currently mostly from a user perspective, as IDE subsystems such as inspections, completion, and others need to be updated to recognise instantiated types. That is set for the next EAP release.

Generics are widely expected to feature in Go 1.18, due in February next year, and JetBrains has already said it aims to have support in GoLand for code inspections, refactorings, and intention actions for working with generics.

Another new capability in this EAP release is support for remote development. This is still officially unstable, and JetBrains warns that full support in the production GoLand 2021.3 release is not guaranteed.

Remote development is delivered by JetBrains Gateway — a new application that enables the development environment to be deployed on a remote server. This requires a compatible SSH server running on the remote machine, while JetBrains Gateway itself is a lightweight launcher that connects to the remote server, downloads necessary components on the backend and opens the user’s project in JetBrains Client.

The advantages of this are that no source code is hosted on the developer’s machine, and developers are not limited by the processing power of whatever endpoint device they are using.

This EAP release also adds some updates, such as improvements to the HTTP client. This now supports gRPC requests, which can be used by simply prefixing requests with the GRPC keyword.

The HTTP client also now supports text streams and JSON streams, making it easier to test streaming applications from the development environment. The HTTP client can also now redirect output to a custom file or directory.

Meanwhile, JetBrains said it has brought back the old user interface layout it introduced in the first EAP release, citing user feedback. The firm has decided to continue to polish the new user interface before reintroducing it.

Users can obtain the latest EAP build via the Toolbox App, or download it from the JetBrains website, or from inside GoLand itself. For full details of all the updates in this release, see the release notes.