GoLand 2023.3 Is Available!
GoLand 2023.3 delivers a full-fledged JetBrains AI Assistant and support for dev containers. It adds multiple new hints, refactorings, and quick-fixes to improve your productivity, like a huge update for code folding styles, hints for
slice expressions, and new code insight for custom
printf-like functions. The new version also provides updates for Docker and Kubernetes, improvements for working with version control systems, and tweaks for web development.
In this blog post, we’ll take a look at the most anticipated and significant updates. Let’s dive right in!
Besides yourself, who knows your project best? Your IDE! And that’s why AI Assistant can be so context-aware and helpful. JetBrains AI Assistant is now generally available with a number of new and improved features to increase your productivity in JetBrains IDEs. Try JetBrains AI today!
Learn more about JetBrains AI and AI Assistant from the creators themselves: Watch the recording from JetBrains AI Launch Event Online on our YouTube channel.
GoLand 2023.3 also brings several Go-specific adjustments for AI Assistant functions, like Rename, Generate unit test, and Write documentation.
Developer productivity features
Code insight for custom
GoLand provides a lot of useful features for standard
printf-like functions, such as highlighting of placeholders, error detection, code foldings, and others. You have been asking us to provide similar functionality for custom functions and functions from external libraries, and we listened! Now, you can define your own
printf-like functions and GoLand will provide hints, labeling, and highlighting for them.
A step toward an Extract Parameter refactoring
Another highly demanded feature is the Extract Parameter refactoring. GoLand 2023.3 introduces the first part of its implementation – the Create Parameter quick-fix for unresolved references.
It allows you to select an unresolved reference and use the quick-fix option to create a parameter. This triggers a Change Signature refactoring dialog, which can be used to select a default value and specify the parameter’s type.
Generate switch for enums
GoLand adds yet another way to automate the mundane: Anytime you want to compose a
switch statement that is based on a list of
enums, the IDE will help you write it and suggest generating cases for all the values in the list.
Support for local Go installations with asdf
asdf is a CLI tool that lets you manage multiple language runtime versions. In response to feedback from the community, we’ve decided to include asdf support in the current version. With this release, GoLand will check the Go version in the
.tool-versions file and use the appropriate Go SDK for the selected project.
Data flow analysis
GoLand 2023.3 introduces a refined data flow analyzer based on the engine used in CLion, which runs constantly when you are writing your code and helps improve your code’s quality. This feature detects code problems such as potential
nil dereference, incorrect or missing error handling, and always
Please note that this feature is currently in early access and is disabled by default. You can enable it in Settings | Editor | Inspections | Go | Data Flow Analysis (experimental). Don’t forget to share your feedback with us to help us continue enhancing this area of GoLand!
Forwards compatibility and toolchain management
In Go 1.21, the Go distribution includes the go command and a bundled Go toolchain. The
go command can use the bundled toolchain or other versions found in the system, or even download the required version from the internet.
go line in a
go.mod file now specifies the minimum required Go toolchain version. In previous releases, it was a mostly unenforced suggestion.
GoLand fully supports this flow and automatically downloads the SDK version specified in a
go.mod file using a
toolchain line. The specified version is also automatically set in the GOROOT settings.
Support for dev containers
Dev containers allow developers to describe their development workspaces – including IDEs, necessary tools, dependencies, and frameworks – using code. These described configurations are stored in the project repository and can be rapidly launched within a container.
GoLand now supports dev containers, allowing you to use containers as a full-featured development environment to edit, build, and run your projects. Dev containers can be run remotely via an SSH connection or locally using Docker.
The support comes as an early access feature as we are still working on a feature set. We value your feedback on this update and encourage you to share any use cases that you believe should be covered in future updates.
That’s it for the release overview. Feel free to check What’s New in GoLand 2023.3 for more updates and features.
Subscribe to Blog updates
GoLand 2024.1: EAP Program and Roadmap
The Early Access Program for GoLand 2024.1 is now open! In this post, we’ll share our plans for the upcoming release and what has been done already in the first EAP build.
Goland 2023.3 Beta Is Out!
Get the Beta build via the Toolbox App, from our website, by using a snap package (for Ubuntu), or right from inside GoLand by selecting Check IDE updates for: Early Access Program in Settings | Appearance & Behavior | System Settings | Updates. Download GoLand Beta …
The GoLand 2023.3 Early Access Program Has Started!
The Early Access Program for GoLand 2023.3 is now open!