Go logo

GoLand

A cross-platform Go IDE with extended support for JavaScript, TypeScript, and databases

Roadmap

What’s Next: GoLand 2022.1 Roadmap

Read this post in other languages:

A week ago we released GoLand 2021.3, the last major update of this year. In case you haven’t had a chance  to check it out, here are some of the new features in this version: 

  • Native support for Go projects in WSL.
  • Inline Function refactoring.
  • Support for remote development, in the beta stage.
  • Improvements to the debugger.
  • Two new postfix templates for converting strings to numbers.
  • Support for gRPC requests and completion for them.
  • New features for front-end web development and working with databases.

Would you prefer a more interactive approach to learning about these new GoLand features? Complete the What’s New in GoLand 2021.3 tutorial on the Welcome screen.

Please take a moment to help us make GoLand better by sharing your experience, feedback, and suggestions with us. And remember that your input helps hundreds of thousands of Gophers worldwide!

We have a tradition of rewarding those who help. This time around, the most active contributors will receive a free 1-year GoLand subscription and a special branded t-shirt!

Here’s a list of those wonderful people:

  • Vasily Kirichenko (YouTrack username: kot2008)
  • Denis Cheremisov (YouTrack username: sirkon)
  • Chris Cunningham

We love hearing from you, and every issue you submit is very much appreciated.

Now let’s take a look at our plans going forward. 

Please note that we can’t guarantee that all of the features listed below will be included in GoLand 2022.1.

Generics has been the most discussed feature in the community for many years. The upcoming Go 1.18 release at the beginning of next year will give us the generics support  that many users have been eagerly awaiting. Of course, we couldn’t let this development go unnoticed, and we have lots of plans to make your work with generics in GoLand a pure pleasure with fully equipped support. We can definitely say that this release is going to be dedicated to Go 1.18 and generics.  

Generics 

Let’s take a look at what we’re adding for you!

Compilation error warnings right in the editor 

GoLand will catch up to the compiler by providing compilation error warnings for generics right in the editor. For example, GoLand 2022.1 will notify you when a type parameter is used in a composite literal, report an incompatible type passed to a generic function or an invalid use of ~ in type constraints, and much more.

Code completion

GoLand will show type parameters in the dropdown menu, automatically insert brackets in generic types, provide Smart Code Completion for type constraints, and more. 

Refactorings 

Change Signature and Inline Method will be updated to support generics too!

Debugger & Profiler

GoLand will properly display generics’ types and functions and let you navigate to their definition. 

Formatter 

Code formatting for generics will be aligned with gofmt.

Go 1.18 

We’ll be adding support for a new Go feature called workspace mode, which is going to make working on multiple modules at the same time easier. Workspace mode uses a file named go.work, where local modules that include a workspace will be specified. If you invoke a go command in workspace mode, the command will select the modules specified in go.work and a consistent set of dependencies. This will help you make changes across multiple modules and allow you to stop using the replace directive inside go.mod. To learn more about workspaces, please follow this issue on GitHub.

GoLand already has Code Completion for fuzzing that’s similar to one for test functions. In the next release, it will be possible to run fuzzing right inside the IDE. If you are curious about what fuzzing is, check out this blog post by the Go team. 

In case you have any doubt about reporting a bug or suggesting a feature, please know that we are always happy to hear from you. Don’t be shy!  Send us your feature requests via the bug tracker or tweet us @GoLandIDE

That’s all for today. Thank you!

image description