GoLand 2023.2 Release Candidate Is Available!
GoLand 2023.2 Release Candidate is out now!
You can get this build via the Toolbox App, download it from our website, or use a snap package (for Ubuntu). You can also download the build from inside GoLand by selecting Check IDE updates for: Early Access Program in Settings | Appearance & Behavior | System Settings | Updates.
Download GoLand Release Candidate
Please note that to use GoLand 2023.2 RC, you need to have an active subscription or start a 30-day trial.
The Release Candidate provides all of the new features and improvements already announced during our current EAP cycle and expected in the major 2023.2 release.
Our recent EAP blog posts have more details about these updates, but here are some of the highlights:
- Improved integration with Go modules. You can now download all dependencies automatically on project open and after each change of the go.mod file. There is also a new quick-fix to update dependencies in go.mod to their recent versions. In addition, you can now disable vendoring on a per-project basis, for example, when you have a monorepo containing the vendor folder used by another language.
- The Migrate function parameter to method receiver refactoring. We have a new refactoring that can be used when you need to convert separate functions to methods of a type. There is also the Migrate method receiver to function parameter refactoring, which does the opposite and turns methods of a type to separate functions.
- We’ve implemented completion and checks for make function arguments.
- Other Go-related features include:
- The receiver type is shown in completion for method expressions.
- The error message for missing arguments in a type’s instantiation has been improved.
- The Wrap error handling in a closure intention now has a preview.
- A warning for redundant conditions in for loops has been added.
- In performance updates, there’s a new tool for easily generating shared indexes.
- Make sure to try our brand-new AI Assistant!
- You can now commit specific lines of code.
- We also have improvements for Docker integration and the Kubernetes plugin.
- User experience enhancements include:
- For the user interface, we have colored project headers in the new UI.
- The much-anticipated GitLab integration is available.
- We have also added the Kafka plugin.
- LSP API support is available for plugin developers.
- Don’t miss the improvements we’ve implemented for the HTTP Client and Swagger and OpenAPI support.
This RC build includes some new features as well. Let’s take a look!
Support for errors.Is
and errors.As
We’ve implemented two inspections that will highlight the cases where errors.Is
or errors.As
should be used. There are also quick-fixes that will help you refactor the existing code to errors.Is
or errors.As
usages.
The first inspection highlights the direct comparisons of errors.
In Go 1.13 and later, errors can be wrapped using the fmt.Errorf
function with the %w
verb, and direct comparison of errors using the equality check may fail on wrapped errors.
The preferred way of checking for a specific error is to use the errors.Is
function from the standard library. GoLand now has a quick-fix that suggests converting direct error comparisons to usages of errors.Is
.
The second inspection highlights type assertions and type switches on errors, such as err.(*MyErr)
or switch err.(type)
, as they may also fail on wrapped errors.
The preferred way in Go 1.13 and later is to use errors.As
. Our new quick-fix suggests converting type assertions and type switches on errors to usages of errors.As
.
Support for min
, max
, and clear
GoLand 2023.2 RC provides basic support for min
, max
, and clear
– the new functions introduced in Go 1.21.
That’s it for today! We’d love to hear what you think about the new features. Get in touch with us on Twitter, leave your comments below, report any issues in our tracker, or drop us a message in the Gophers Slack #goland channel. Thanks!