What’s Next: GoLand Roadmap 2023.2
At the beginning of April, we released GoLand 2023.1.
If you haven’t had a chance to check it out, here’s a brief overview:
GoLand 2023.1 introduces the vulnerability checker, better navigation in gRPC code, and the Rename refactoring for generic receivers.
Interface implementations are now shown in the editor with Code Vision.
You can now run scratch files with non-standard-library packages, use regular expressions to create your own search and replace inspections, and quickly convert raw string literals to double-quoted ones and vice versa. The Implement interface intention action now works for unexported interfaces.
You will also find several improvements to the new UI, updates for Docker and Kubernetes, and additional enhancements for web development.
You can read more about the new features on the What’s New page.
If you prefer an interactive approach to learning about the new functionality, check out the What’s New in GoLand 2023.1 tutorial, which can be accessed from the Welcome screen.
The team really enjoyed working on this release. But we didn’t do it alone. Many users helped us improve GoLand by sharing their feedback and suggesting improvements, and we’d like to shout out to them here. You rock!
These authors provided the most valuable contributions to the 2023.1 EAP:
- Nazar Pysko (nazarpysko)
- Notealot Yu (714804968)
- Eric Ye (trghoer)
Thanks a lot – your time and effort are greatly appreciated! We will contact you shortly to offer a 1-year GoLand subscription and a branded T-shirt.
As usual, after releasing a major version, we’d like to share our plans for the next one.
GoLand 2023.2: What’s coming next?
Please note: We can’t guarantee that all of the features listed below will be included in GoLand 2023.2.
We plan to focus on two main areas: user experience and error handling.
In the user experience area, we’d like to implement several solutions and fixes. We hope these improvements will make using GoLand more enjoyable for you:
- Migration from VS Code. We will bundle the VS Code keymap and add a VS Code migration dialog to the Welcome screen.
go mod download. To download Go modules in a project in GoLand, right now you need to apply a quick-fix. Some users want GoLand to run
go mod downloadautomatically. The discussion about which approach is better has continued for some time. In v2023.2, we will implement a solution allowing users to turn the automatic download of modules on and off.
GOPATH. The “GOPATH is empty” notification may confuse some users (mostly new ones). As of Go 1.18, you don’t need to set
GOPATHmanually because it is set to
~/goby default. But “GOPATH is empty” is still shown in GoLand for users who didn’t configure
GOPATHexplicitly, didn’t set the corresponding environment variable, and don’t have a
~/godirectory. We will clarify this warning.
- Vendoring. Currently, vendoring is enabled in GoLand, depending on the language version. It’s not convenient in some cases – for instance when you have a monorepo containing the
vendorfolder used by another language, you might want to ignore it. We will allow disabling vendoring for such cases.
- The Structure tool window. Sometimes users want the Structure tool window to show only the methods inside the file and not in the whole package. This is especially relevant in big projects where a type can have dozens of fields and methods. We will provide an option to show only the symbols in a file.
- Find Usages. The Find Usages popup will show package names, so that you will be able to tell apart identically named files in different packages.
- Debugger. We will implement a solution for showing a long string value in the View popup.
Error handling remains a challenge for Go developers. The Go survey states, “Following the release of generics, respondents’ top challenge when working with Go shifted to error handling.”
In the next version, we will work on some improvements in this area:
- We will support multiple errors – a feature introduced in Go 1.20.
errors.Iswill be supported.
- We will also implement a solution for hiding error-handling blocks.
We’ve enabled the preview of intentions and quick-fixes by default in 2022.3. We’re implementing support for all the cases gradually.
Profiling Go programs
Go 1.20 supports collecting code coverage profiles for programs, not just tests. This will allow us to implement support for profiling Go programs in GoLand.
Subscribe to Blog updates
What’s New in Go: The Developer Ecosystem Report 2022
Every year JetBrains asks thousands of developers all around the world different questions about how they use programming languages. We then publish the results that show the current trends in various communities, including the Go ecosystem. Today, we’re happy to share the State of Develope…
What’s Next: GoLand Roadmap 2023.1
At the beginning of December we released a new version of GoLand and celebrated GoLand’s 5th anniversary. We are now ready to share our plans for the next major update.
What’s Next: GoLand Roadmap 2022.3
We’ve just released a new version of GoLand and are ready to share our plans for the next major update. If you haven’t yet checked out what we packed into GoLand 2022.2, here’s a brief overview. The second release brings: New quick-fixes, a bunch of code inspections, and other improveme…
GoLand is looking for Developer Advocate and Technical Content Creator
Update: The position of Developer Advocate has been filled. Benjamin Bryant (@jaminologist) has joined JetBrains as a Go Developer Advocate. We are still looking for a Technical Content Creator. Introduction The GoLand team has opened two positions: Developer Advocate and Technical Content Cre…