What’s Next: GoLand 2020.1 Roadmap
A month ago we released GoLand 2019.3. For this version, we mostly focused on giving you the most enjoyable IDE experience possible. We hope our efforts have paid off! GoLand 2019.3 consumes less CPU and performs faster than any previous versions, has more accurate code inspections, and improves its code editing features. On top of that, we’ve added new quick-fixes, enhanced the existing refactorings, and made it possible to debug your applications remotely using Mozilla rr, enable a Global File Watcher for every new project, and work with MongoDB!
If you haven’t checked out these new features yet, visit our What’s New page for detailed descriptions, GIFs, and screenshots.
Traditionally, we would like to say a big THANK YOU to the people who help us make GoLand better by sharing their product experience, feedback, and suggestions with us. The most active evaluators are getting a free 1-year subscription for GoLand and a special edition of our branded T-shirt!
Here are these wonderful folks:
Dmitry Matrenichev (YouTrack username: lepage)
Roland Illig (YouTrack username: roland.illig)
GoLand 2020.1 roadmap
Like the IntelliJ Platform on which GoLand is built, our IDE will keep improving startup performance and indexing speed. Here’s a short summary of things to come:
- We are planning to unlock more IDE actions while your project is still indexing so that you can perform them immediately, without having for the indexing to finish.
- The IDE will notify you about indexing deviations, for example when file indexing is taking too long, files are reindexed too frequently, or index rebuilds are caused by exceptions.
For more details, please read this blog post by the IntelliJ Platform team.
No UI freezes
We are migrating away from our current architectural solution, which required most operations that modify the IDE’s internal data structures to run on the UI thread. The benefit of this architecture has been its simple programming model, but the obvious downside was that the UI responsiveness suffers in many scenarios.
Next year, we are going to refactor the essential UI components and APIs of the IntelliJ Platform to employ the new threading model, in order to provide you with a smooth and lag-free UI.
Go Modules support
We are planning to evolve Go Modules support in several different ways:
GO-7632 — Support for
GOPRIVATE environment variables come from Go 1.13.
GoLand 2020.1 will rename imports after updating the major version of the dependency.
The Rename refactoring will help you rename “module name” to “module name/v2” in the go.mod file and update all import paths in the project accordingly.
It will be possible to search for references of dependencies via Find Usages.
For replace statements, we are planning to add the following:
- A notification about replacements with local paths in the go.mode file before you commit.
- Code completion to choose between replace with local dependency and replace by cloning from VCS.
- If you are cloning from a VCS, the IDE will show a dialog that suggests entering a remote URL and the target local path. After cloning is completed, GoLand will generate an appropriate “replace” directive and attach the cloned module to the project.
To help you code even faster, we’re going to focus on code-editing features that require little to no interaction from the user.
Here’s what you can expect:
- Extended Basic Code Completion and Smart Code Completion.
- New quick-fixes and Intention actions.
- New Postfix Templates and new Live Templates.
- The application area of Generate Constructor will be expanded beyond the limits of struct types.
- Various improvements for Code Formatting.
- Rename, Extract, and Implement Interface refactorings will be polished to provide the expected behavior whenever possible.
Swap any plugin in or out, on the fly
In 2019.3, you can install and uninstall any theme and keymap plugins without restarting the IDE. We are planning to expand this feature to let you load and unload many more bundled plugins without a restart.
For third-party plugins, their developers will need to make some changes to support this capability.
Cloud execution support
Previously, GoLand supported running and debugging your code on machines other than your own, or inside containers.
GoLand 2020.1 will present a general concept of a target environment that provides a way to copy files from or to it, and to start processes there. In v2020.1, the supported environments will include your local machine, a Docker container, or a machine connected over ssh.
In a more distant future, we plan to unify our existing support for Docker and remote interpreters around the new architecture. We will also provide deeper cloud integration so that you won’t need to specify the details of a specific machine to connect to if you need to run the process on a new VM in the cloud.
Subscribe to Blog updates
What’s Next: GoLand 2022.1 Roadmap
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 …
What’s Next: GoLand 2021.3 Roadmap
A few weeks ago we introduced a new version of GoLand – 2021.2. In this version you will find the new abilities to control the behavior of go list, manually reload the go.mod file after you’ve made changes, and run default built-in and gofmt formatters one by one. You can also explore new Go 1.17 fe…
What’s Next: GoLand 2021.2 Roadmap
A few weeks ago we released GoLand 2021.1. With this update, you can build and run your program remotely via Docker, SSH, and WSL 2, use newly supported features from Go 1.16, including //go:embed, quickly generate code from JSON, handle errors with ease using new quick-fixes, and much more. If you…
What’s Next: GoLand 2021.1 Roadmap
A few weeks ago we introduced the last major update of this year – GoLand 2020.3. With it came goroutines dump in the debugger, support for individual table tests, and expanded support for the Testify test framework. It also had lots of UI improvements; new features for code editing, web development…